{"version":3,"file":"main-es2015.js","mappings":"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AAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,E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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/auth.guard.ts","./src/app/auth/auth.service.ts","./src/app/auth/role-guard.service.ts","./src/app/bars/breadcrumb/breadcrumb.component.ts","./src/app/bars/breadcrumb/breadcrumb.component.html","./src/app/bars/footer/footer.component.ts","./src/app/bars/footer/footer.component.html","./src/app/bars/navbar/navbar.component.ts","./src/app/bars/navbar/navbar.component.html","./src/app/bars/navbar/navbarMenuData.ts","./src/app/bars/topbar/topbar-function.ts","./src/app/bars/topbar/topbar.component.ts","./src/app/bars/topbar/topbar.component.html","./src/app/bars/topbar/topbarData.ts","./src/app/cases/case-customer/case-customer.component.ts","./src/app/cases/case-customer/case-customer.component.html","./src/app/cases/create-case-modal/create-case-modal.component.ts","./src/app/cases/create-case-modal/create-case-modal.component.html","./src/app/details-new/details-new.data.ts","./src/app/details-new/models.ts","./src/app/extended-reports/case-reports/case-reports.component.ts","./src/app/extended-reports/case-reports/case-reports.component.html","./src/app/extended-reports/economy-reports/economy-reports.component.ts","./src/app/extended-reports/economy-reports/economy-reports.component.html","./src/app/extended-reports/property-owner-reports/property-owner-reports.component.ts","./src/app/extended-reports/property-owner-reports/property-owner-reports.component.html","./src/app/extended-reports/ratings-reports/ratings-reports.component.ts","./src/app/extended-reports/ratings-reports/ratings-reports.component.html","./src/app/settings/users/userdetails/userDetails-model.ts","./src/app/shared/api/actionApi.ts","./src/app/shared/api/apihandler.ts","./src/app/shared/api/case.api.ts","./src/app/shared/api/companyApi.ts","./src/app/shared/api/userApi.ts","./src/app/shared/components/timeslots/timeslots.component.ts","./src/app/shared/components/timeslots/timeslots.component.html","./src/app/shared/models/case.models.ts","./src/app/shared/pipes/orderbydate.pipe.ts","./src/app/shared/services/action.service.ts","./src/app/shared/services/case.service.ts","./src/app/shared/services/company.service.ts","./src/app/shared/services/documentService.service.ts","./src/app/shared/services/ops-and-maintain.service.ts","./src/app/shared/services/package.service.ts","./src/app/shared/services/shared-data.service.ts","./src/app/shared/services/user.service.ts","./src/app/shared/utilities/gridTranslates.ts","./src/app/shared/utilities/grids/gridStandard.ts","./src/app/shared/utilities/variables.ts","./src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { RoleGuardService as RoleGuard } from './auth/role-guard.service';\r\n\r\nconst routes: Routes = [\r\n { path: 'Gdpr', loadChildren: () => import('./gdpr/gdpr.module').then(m => m.GdprModule) },\r\n { path: 'resetPassword', loadChildren: () => import('./auth/resetpassword/resetpassword.module').then(m => m.ResetpasswordModule) },\r\n { path: 'resetPassword/:token', loadChildren: () => import('./auth/resetpassword/resetpassword.module').then(m => m.ResetpasswordModule) },\r\n { path: 'login', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/:id/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/accessToken/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/OS/Outbox/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/OS/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/LoginWithCase/:token/:caseId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/Cases/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/SSO/:token/:offerId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: 'login/Offer/:accessToken/:offerId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n { path: '', redirectTo: '/Cases', pathMatch: 'full', data: { expectedRole: 'Core' } },\r\n { path: 'Shop', loadChildren: () => import('./klarpris-shop/klarpris-shop.module').then(m => m.KlarprisShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Activities', loadChildren: () => import('./activities/ActivitiesNew/Activities.module').then(m => m.ActivitiesModule), canActivate: [RoleGuard], data: { expectedRole: 'Activities' } },\r\n { path: 'Shop/:basket', loadChildren: () => import('./klarpris-shop/klarpris-shop.module').then(m => m.KlarprisShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Cases', loadChildren: () => import('./cases/newcaselist/newcaselist.module').then(m => m.NewcaselistModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n { path: 'Campaigns', loadChildren: () => import('./campaigns/campagins.module').then(m => m.CampaignsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n { path: 'Campaigns/CampaignDetails/:id', loadChildren: () => import('./campaigns/campaign-details/campaign-details.module').then(m => m.CampaignDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n { path: 'Assets', loadChildren: () => import('./assets/assets-module').then(m => m.AssetsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n { path: 'Service', loadChildren: () => import('./service/service-module').then(m => m.ServiceModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n { path: 'AssetDetails/:assetId', loadChildren: () => import('./assets/asset-details/asset-details.module').then(m => m.AssetDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n { path: 'ServiceDetails/:serviceId', loadChildren: () => import('./service/service-details/service-details.module').then(m => m.ServiceDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n { path: 'CreateDocument/:caseId', loadChildren: () => import('./shared-html-components/document-creator/document-creator.module').then(m => m.DocumentCreatorModule), canActivate: [RoleGuard], data: { expectedRole: 'OfferAccess' } },\r\n { path: 'Customers', loadChildren: () => import('./customers/customers.module').then(m => m.CustomersModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n { path: 'Requisitions', loadChildren: () => import('./requisitions/requisitions.module').then(m => m.RequisitionsModule), canActivate: [RoleGuard], data: { expectedRole: 'Rekvisition' } },\r\n { path: 'CompanyPartners', loadChildren: () => import('./company-partners/company-partners.module').then(m => m.CompanyPartnersModule), canActivate: [RoleGuard], data: { expectedRole: 'CompanyPartners' } },\r\n { path: 'CompanyPartners/:id', loadChildren: () => import('./company-partners/company-partner-details/company-partner-details.module').then(m => m.CompanyPartnerDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'CompanyPartners' } },\r\n { path: 'Customers/Customerdetails/:id', loadChildren: () => import('./customers/customer-details/customer-details.module').then(m => m.CustomerDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n { path: 'Dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n { path: 'Reports', loadChildren: () => import('./reports/reports.module').then(m => m.ReportsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n { path: 'View/:id', loadChildren: () => import('./view/view.module').then(m => m.ViewModule), canActivate: [RoleGuard], data: { expectedRole: 'Presenter' } },\r\n { path: 'newReports', loadChildren: () => import('./extended-reports/extended-reports.module').then(m => m.ExtendedReportsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n { path: 'BI', loadChildren: () => import('./bi/bi.module').then(m => m.BIModule), canActivate: [RoleGuard], data: { expectedRole: 'BIAccess' } },\r\n { path: 'Outbox', loadChildren: () => import('./outbox/outbox.module').then(m => m.OutboxModule), canActivate: [RoleGuard], data: { expectedRole: 'TransferAccess' } },\r\n { path: 'Inbox', loadChildren: () => import('./inbox/inbox.module').then(m => m.InboxModule), canActivate: [RoleGuard], data: { expectedRole: 'TransferAccess' } },\r\n { path: 'Offer', loadChildren: () => import(\"./documents/document-overview.module\").then(m => m.NewofferlistModule), canActivate: [RoleGuard], data: { expectedRole: ['OfferAccess', 'PartnerOfferAccess'] } },\r\n { path: 'Details/:id', loadChildren: () => import('./details-new/details-new.module').then(m => m.DetailsNewModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n { path: 'Rating', loadChildren: () => import('./rating/rating.module').then(m => m.RatingModule), canActivate: [RoleGuard], data: { expectedRole: 'Rating' } },\r\n { path: 'Packages', loadChildren: () => import('./settings/units/units.module').then(m => m.PackagesModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Packages/CreatePackage', loadChildren: () => import('./settings/units/createunit/createunit.module').then(m => m.CreatepackageModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Packages/PackageDistributorUsage', loadChildren: () => import('./settings/units/package-distributor-usage-report/package-distributor-usage-report.module').then(m => m.PackageDistributorUsageReportModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Packages/PackageDetails/:id', loadChildren: () => import('./settings/units/unit-details-v2/unit-details-v2.module').then(m => m.UnitDetailsV2Module), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Test/NewcaseList', loadChildren: () => import(\"./cases/newcaselist/newcaselist.module\").then(m => m.NewcaselistModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'DistributorPackages', loadChildren: () => import('./settings/shop/shop.module').then(m => m.ShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Kanban', loadChildren: () => import('./jublo-kanban/jublo-kanban.module').then(m => m.JubloKanbanModule), canActivate: [RoleGuard], data: { expectedRole: 'Kanban' } },\r\n { path: 'Settings', loadChildren: () => import('./settings/settings.module').then(m => m.SettingsModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n { path: 'NotActivated/:access', loadChildren: () => import('./shared-html-components/module-denied-modal/module-denied-modal.module').then(m => m.ModuleDeniedModalModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n { path: 'Translator', loadChildren: () => import('./shared-html-components/translator/translator.module').then(m => m.TranslatorModule) },\r\n //** always last routerlink\r\n { path: '**', loadChildren: () => import('./cases/cases.module').then(m => m.CasesModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload', relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, ViewEncapsulation, OnInit, Input, HostListener } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from './auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent implements OnInit {\r\n isHidden: boolean = false;\r\n url: string = '';\r\n menuFull: boolean = true;\r\n smallScreen: boolean = false;\r\n @Input() isLoggedIn: boolean = false;\r\n possibleBrowserLanguages = {\r\n 'da-DK': 'da-DK',\r\n 'nn-NO': 'nn-NO',\r\n 'sv-SE': 'sv-SE',\r\n 'en-US': 'en-US',\r\n 'de-DE': 'de-DE',\r\n 'es-ES': 'es-ES',\r\n 'sv': 'sv-SE'\r\n }\r\n\r\n constructor(private translate: TranslateService, private route: ActivatedRoute, public authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.authService.isLoggedIn().subscribe({\r\n next: (data) => { this.isLoggedIn = data; },\r\n error: (err) => console.error(err)\r\n });\r\n\r\n if (localStorage.getItem('language') == null) {\r\n this.translate.addLangs([\"de-DE\", \"es-ES\", \"da-DK\", \"nn-NO\", \"sv-SE\", \"en-US\"]);\r\n this.translate.setDefaultLang('en-US');\r\n let browserLang = this.translate.getBrowserLang();\r\n this.translate.use(this.possibleBrowserLanguages[browserLang] ? this.possibleBrowserLanguages[browserLang] : 'da-DK');\r\n } else if (this.translate.currentLang != localStorage.getItem('language')) {\r\n this.changeLang(localStorage.getItem('language'));\r\n }\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n this.url = params['origin'];\r\n if (this.url == 'os' || this.url == 'kp') {\r\n this.isHidden = true;\r\n }\r\n });\r\n\r\n this.onResize(null);\r\n }\r\n\r\n public changeLang(lang) {\r\n if (lang != null) { this.translate.use(lang); }\r\n else {\r\n let browseLang = this.translate.getBrowserLang();\r\n if (this.possibleBrowserLanguages[browseLang] != null) {\r\n this.translate.use(this.possibleBrowserLanguages[browseLang]);\r\n }\r\n else { this.translate.use('en-US'); }\r\n }\r\n }\r\n\r\n onMenuChange(event: boolean) {\r\n this.menuFull = event;\r\n }\r\n\r\n signOutChange(event) {\r\n this.isLoggedIn = event;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n if (window.innerWidth <= 992) {\r\n this.smallScreen = true;\r\n } else {\r\n this.smallScreen = false;\r\n }\r\n }\r\n}\r\n","<div class=\"container-fluid\" *ngIf=\"isLoggedIn\">\r\n <div class=\"navbar\" [ngClass]=\"menuFull ? 'jublo-sidebar' : 'jublo-sidebar-small'\" *ngIf=\"!smallScreen\">\r\n <app-navbar (emitMenuSize)=\"onMenuChange($event)\" (loginStatus)=\"signOutChange($event)\" [smallScreen]=\"smallScreen\"></app-navbar>\r\n </div>\r\n <div [ngClass]=\"{\r\n 'jublo-mainarea': menuFull,\r\n 'jublo-mainarea-small': !menuFull,\r\n 'smallScreen': smallScreen\r\n }\">\r\n <div [ngClass]=\"menuFull ? 'jublo-topbar' : 'jublo-topbar-small'\" *ngIf=\"!smallScreen\">\r\n <app-topbar [menuFull]=\"menuFull\" (loginStatus)=\"signOutChange($event)\"></app-topbar>\r\n </div>\r\n <div class=\"navbar-top\" *ngIf=\"smallScreen\">\r\n <app-navbar (emitMenuSize)=\"onMenuChange($event)\" (loginStatus)=\"signOutChange($event)\" [smallScreen]=\"smallScreen\"></app-navbar>\r\n </div>\r\n <div [ngClass]=\"{\r\n 'jublo-content': menuFull,\r\n 'jublo-content-small': !menuFull,\r\n 'smallScreen': smallScreen\r\n }\">\r\n <router-outlet [menuFull]=\"menuFull\"></router-outlet>\r\n </div>\r\n <div [ngClass]=\"menuFull ? 'jublo-footer' : 'jublo-footer-small'\" *ngIf=\"!smallScreen\">\r\n <app-footer [menuFull]=\"menuFull\"></app-footer>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"loginContainer\" *ngIf=\"!isLoggedIn\">\r\n <router-outlet></router-outlet>\r\n</div>\r\n\r\n<create-case-modal *ngIf=\"isLoggedIn\"></create-case-modal>","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule, registerLocaleData, DatePipe } from '@angular/common';\r\nimport localeNorwegian from '@angular/common/locales/nn'\r\nimport localeDanish from '@angular/common/locales/da'\r\nimport localeSwedish from '@angular/common/locales/sv';\r\nimport { HttpClient, HttpClientModule } from \"@angular/common/http\";\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { NavbarComponent } from './bars/navbar/navbar.component';\r\nimport { TopbarComponent } from './bars/topbar/topbar.component';\r\nimport { FooterComponent } from './bars/footer/footer.component';\r\nimport { BreadcrumbComponent } from './bars/breadcrumb/breadcrumb.component';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { RoleGuardService as RoleGuard } from './auth/role-guard.service';\r\nimport { OrderbydatePipe } from './shared/pipes/orderbydate.pipe';\r\nimport { TimeslotsComponent } from './shared/components/timeslots/timeslots.component';\r\nimport { DocumentService } from './shared/services/documentService.service';\r\nimport { SharedDataService } from './shared/services/shared-data.service';\r\nimport { OpsAndMaintainService } from './shared/services/ops-and-maintain.service';\r\nimport { ActionService } from './shared/services/action.service';\r\nimport { CompanyService } from './shared/services/company.service';\r\nimport { UserService } from './shared/services/user.service';\r\nimport { PackageService } from './shared/services/package.service';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { CaseReportsComponent } from './extended-reports/case-reports/case-reports.component';\r\nimport { EconomyReportsComponent } from './extended-reports/economy-reports/economy-reports.component';\r\nimport { PropertyOwnerReportsComponent } from './extended-reports/property-owner-reports/property-owner-reports.component';\r\nimport { RatingsReportsComponent } from './extended-reports/ratings-reports/ratings-reports.component';\r\nimport { AuthService } from './auth/auth.service';\r\nimport { CaseService } from './shared/services/case.service';\r\nimport { CreateCaseModalComponent } from './cases/create-case-modal/create-case-modal.component';\r\nimport { CaseCustomerComponent } from './cases/case-customer/case-customer.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport * as api from './shared/api/apihandler';\r\n\r\nregisterLocaleData(localeNorwegian);\r\nregisterLocaleData(localeDanish);\r\nregisterLocaleData(localeSwedish);\r\n\r\n@NgModule({\r\n declarations: [\r\n CaseReportsComponent,\r\n EconomyReportsComponent,\r\n PropertyOwnerReportsComponent,\r\n RatingsReportsComponent,\r\n AppComponent,\r\n NavbarComponent,\r\n TopbarComponent,\r\n BreadcrumbComponent,\r\n FooterComponent,\r\n OrderbydatePipe,\r\n TimeslotsComponent,\r\n CreateCaseModalComponent,\r\n CaseCustomerComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n CommonModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n AgGridModule,\r\n ToastrModule.forRoot({\r\n positionClass: 'toast-bottom-right',\r\n preventDuplicates: true,\r\n }),\r\n BsDatepickerModule.forRoot(),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n },\r\n isolate: false\r\n }),\r\n ModalModule.forRoot()\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ],\r\n providers: [\r\n RoleGuard, \r\n DatePipe, \r\n UserService, \r\n DocumentService, \r\n SharedDataService, \r\n OpsAndMaintainService, \r\n PackageService, \r\n CompanyService, \r\n ActionService,\r\n AuthService,\r\n CaseService,\r\n BsDatepickerModule\r\n ],\r\n bootstrap: [ AppComponent ]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, api.jubloApi + 'api/translateShop/', '');\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private auth: AuthService, private router: Router) { }\r\n\r\n canActivate(): boolean {\r\n if (!localStorage.getItem('bearer')) {\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport * as api from '../shared/api/apihandler';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class AuthService {\r\n\r\n public isLoginSubject = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n login(bearer: string) {\r\n localStorage.setItem('bearer', bearer);\r\n this.isLoginSubject.next(true);\r\n }\r\n\r\n isLoggedIn() {\r\n let bearer = !!localStorage.getItem('bearer');\r\n this.isLoginSubject.next(bearer);\r\n return this.isLoginSubject;\r\n }\r\n\r\n logout() {\r\n localStorage.clear();\r\n this.isLoginSubject.next(false);\r\n }\r\n\r\n public isAuthenticated(): boolean {\r\n const token = localStorage.getItem('bearer');\r\n // Check whether the token is expired and return true or false\r\n return !token;\r\n }\r\n\r\n checkIfPropbinder(bearer: string, caseId: string | null) {\r\n let isPropBinder: boolean = false;\r\n if (!!bearer) {\r\n setTimeout(() => {\r\n this.http.get<boolean>(api.jubloApi + 'api/Website/Login/CheckIfPropbinder/' + bearer).subscribe({\r\n next: (res) => {\r\n isPropBinder = res;\r\n },\r\n error: err => console.error(err),\r\n complete: () => {\r\n if (isPropBinder) {\r\n let caseParam = !!caseId ? '?case=' + caseId : '';\r\n document.location.href = 'https://app.propbinder.com/login/accessToken/' + bearer + caseParam;\r\n }\r\n }\r\n });\r\n }, 500);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { AuthGuard } from './auth.guard';\r\nimport * as api from '../shared/api/apihandler';\r\n\r\n@Injectable()\r\nexport class RoleGuardService implements CanActivate {\r\n\r\n guards = [{ name: 'No Access' }];\r\n bearer!: string;\r\n core:any; // not used\r\n url:any; // not used\r\n test!:string;\r\n gdpr = false;\r\n\r\n constructor(private httpClient: HttpClient, public authGuard: AuthGuard, public router: Router) {\r\n this.guards = JSON.parse(localStorage.getItem('guards'));\r\n }\r\n \r\n canActivate(route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot): boolean {\r\n this.guards = JSON.parse(localStorage.getItem('guards'));\r\n\r\n const expectedRole = route.data.expectedRole;\r\n this.test = expectedRole;\r\n \r\n // proceeds if not loggedIn or F5/page refresh\r\n if (this.guards == null) {\r\n // Store the attempted URL for redirecting late\r\n if (snapshot.url) {\r\n sessionStorage.setItem('redirectUrl', snapshot.url.toString());\r\n }\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n if (!this.guards.find(x => x.name == 'GDPR')) {\r\n if (!this.getGdpr()) { this.router.navigate(['Gdpr']); return false }\r\n else { this.guards.push({ 'name': 'GDPR' }) }\r\n }\r\n\r\n if (!this.guards.find(x => x.name == expectedRole || !expectedRole.includes(x.name))) {\r\n this.router.navigate(['Cases']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n getGdpr(): any {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.httpClient.get<boolean>(api.jubloApi + 'api/WebSite/Company/User/GetGdpr', { headers }).subscribe((data: boolean) => {\r\n this.gdpr = data;\r\n console.log('Role guard checking gdpr')\r\n }, () => { return this.gdpr }, () => { return this.gdpr })\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UserService } from 'app/shared/services/user.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'breadcrumb',\r\n templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\r\n\r\n crumbSubscription!: Subscription;\r\n breadCrumbs: Array<BreadCrumb> = new Array<BreadCrumb>();\r\n propertyManagement: boolean = false;\r\n\r\n constructor(private router: Router, private user: UserService, private t: TranslateService) {\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.generateBreadCrumb(event.url);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.crumbSubscription = this.user.crumbUpdate().subscribe({\r\n next: (data) => {\r\n this.breadCrumbs = data;\r\n },\r\n error: err => console.error(err)\r\n });\r\n const userInfo = JSON.parse(localStorage.getItem('userInfo') as string);\r\n this.propertyManagement = !!JSON.parse(localStorage.getItem('guards') as string).find((x: { name: string }) => x.name == 'PropertyManagement') ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.crumbSubscription.unsubscribe();\r\n }\r\n\r\n generateBreadCrumb(event: string) {\r\n const urlSteps = event.split('?')[0].split('/').filter(Boolean);\r\n const [firstStep, secondStep, thirdStep] = urlSteps;\r\n\r\n switch (firstStep) {\r\n case 'Details':\r\n case 'AssetDetails':\r\n case 'ServiceDetails':\r\n case 'CreateDocument':\r\n case 'PropertyDetails': {\r\n // Expect custom response in crumbSubscription\r\n break;\r\n }\r\n case 'Activities': {\r\n this.setBreadcrumbs([firstStep], 'Header.Tasks');\r\n break;\r\n }\r\n case 'Offer': {\r\n this.setBreadcrumbs([firstStep], 'Header.Documents');\r\n break;\r\n }\r\n case 'Customers': {\r\n const name = !this.propertyManagement ? 'Header.Customers' : 'Header.Tenants';\r\n this.setBreadcrumbs([firstStep], name);\r\n break;\r\n }\r\n case 'Properties': {\r\n this.setBreadcrumbs(['Properties'], 'Properties.Properties');\r\n break;\r\n }\r\n case 'Outbox': {\r\n this.setBreadcrumbs(['Outbox'], 'Standard.Transfers');\r\n break;\r\n }\r\n case 'Settings': {\r\n this.generateSettingsBreadcrumbs(secondStep, thirdStep);\r\n break;\r\n }\r\n default: {\r\n this.setBreadcrumbs([firstStep], 'Header.' + firstStep);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setBreadcrumbs(url: string[], translate: string) {\r\n this.breadCrumbs = [{ url, translate, route: '' }];\r\n }\r\n\r\n breadCrumbNav(event: any, i: number) {\r\n if (i !== this.breadCrumbs.length - 1) {\r\n this.router.navigate(event.url, { queryParams: event.params });\r\n }\r\n }\r\n\r\n generateSettingsBreadcrumbs(secondStep: string, thirdStep: string) {\r\n const crumbs: BreadCrumb[] = [\r\n { url: ['Settings'], translate: 'Header.Settings', route: '' },\r\n ];\r\n\r\n if (secondStep === 'System-notifications') {\r\n crumbs.push({ url: [secondStep], translate: 'NotificationsSystem.Title', route: '' });\r\n } else if (secondStep === 'WorkingHours') {\r\n crumbs.push({ url: [secondStep], translate: 'OfferDetails.WorkingHours', route: '' });\r\n } else if (secondStep === 'Presenter') {\r\n crumbs.push({ url: [secondStep], translate: 'Settings.Presentations', route: '' });\r\n } else if (secondStep === 'Setup') {\r\n crumbs.push({ url: [secondStep], translate: 'Standard.' + secondStep, route: '' });\r\n } else if (['OurLocations', 'Integrations'].includes(secondStep)) {\r\n crumbs.push({ url: [secondStep], translate: 'Standard.' + secondStep, route: '' });\r\n\r\n if (thirdStep) {\r\n crumbs.push({ url: [thirdStep], translate: thirdStep, route: '' });\r\n }\r\n } else if (secondStep === 'Price') {\r\n crumbs.push({ url: [secondStep], translate: 'PriceProfit.Title', route: '' });\r\n } else if (secondStep === 'Startpage') {\r\n crumbs.push({ url: [secondStep], translate: 'BookingSettings.StartPage.Title', route: '' });\r\n } else if (secondStep === 'Templates') {\r\n crumbs.push({ url: [secondStep], translate: 'Standard.Templates', route: '' });\r\n } else {\r\n crumbs.push({ url: [secondStep], translate: 'Settings.' + secondStep, route: '' });\r\n }\r\n\r\n this.breadCrumbs = crumbs;\r\n }\r\n}\r\n\r\nexport class BreadCrumb {\r\n route: string = '';\r\n translate: string = '';\r\n url: string | string[] = '';\r\n}","<ol class=\"breadcrumbs\">\r\n <li *ngFor=\"let x of breadCrumbs; let i = index\" (click)=\"breadCrumbNav(x,i)\">{{ x.translate | translate }}</li>\r\n</ol>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n osHub: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.osHub = localStorage.getItem('osHub') == 'false' ? false : true\r\n }\r\n\r\n}\r\n","<div id=\"jubloFooter\" class=\"row footerRow\">\r\n <div class=\"col-12 col-lg-10 ml-auto mr-auto d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <a href=\"https://www.linkedin.com/company/jublo/\" target=\"_blank\" class=\"linkItem mr-3\" rel=\"noopener\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M14.25 0.5H1.75C1.4186 0.500379 1.10087 0.632197 0.866535 0.866535C0.632197 1.10087 0.500379 1.4186 0.5 1.75V14.25C0.500379 14.5814 0.632197 14.8991 0.866535 15.1335C1.10087 15.3678 1.4186 15.4996 1.75 15.5H14.25C14.5814 15.4996 14.8991 15.3678 15.1335 15.1335C15.3678 14.8991 15.4996 14.5814 15.5 14.25V1.75C15.4996 1.4186 15.3678 1.10087 15.1335 0.866535C14.8991 0.632197 14.5814 0.500379 14.25 0.5ZM5.5 11.7501C5.5 11.9158 5.43415 12.0748 5.31694 12.192C5.19973 12.3092 5.04076 12.3751 4.875 12.3751C4.70924 12.3751 4.55027 12.3092 4.43306 12.192C4.31585 12.0748 4.25 11.9158 4.25 11.7501V6.75007C4.25 6.58431 4.31585 6.42534 4.43306 6.30813C4.55027 6.19092 4.70924 6.12507 4.875 6.12507C5.04076 6.12507 5.19973 6.19092 5.31694 6.30813C5.43415 6.42534 5.5 6.58431 5.5 6.75007V11.7501ZM4.875 5.18757C4.68958 5.18757 4.50832 5.13259 4.35415 5.02958C4.19998 4.92656 4.07982 4.78014 4.00886 4.60884C3.93791 4.43753 3.91934 4.24903 3.95551 4.06718C3.99169 3.88532 4.08098 3.71827 4.21209 3.58716C4.3432 3.45605 4.51025 3.36676 4.6921 3.33059C4.87396 3.29441 5.06246 3.31298 5.23377 3.38394C5.40507 3.45489 5.55149 3.57506 5.6545 3.72923C5.75752 3.8834 5.8125 4.06465 5.8125 4.25007C5.8125 4.49871 5.71373 4.73717 5.53791 4.91299C5.3621 5.0888 5.12364 5.18757 4.875 5.18757ZM12.375 11.7501C12.375 11.9158 12.3092 12.0748 12.1919 12.192C12.0747 12.3092 11.9158 12.3751 11.75 12.3751C11.5842 12.3751 11.4253 12.3092 11.3081 12.192C11.1908 12.0748 11.125 11.9158 11.125 11.7501V8.93757C11.125 8.52317 10.9604 8.12574 10.6674 7.83272C10.3743 7.53969 9.9769 7.37507 9.5625 7.37507C9.1481 7.37507 8.75067 7.53969 8.45765 7.83272C8.16462 8.12574 8 8.52317 8 8.93757V11.7501C8 11.9158 7.93415 12.0748 7.81694 12.192C7.69973 12.3092 7.54076 12.3751 7.375 12.3751C7.20924 12.3751 7.05027 12.3092 6.93306 12.192C6.81585 12.0748 6.75 11.9158 6.75 11.7501V6.75007C6.74995 6.59644 6.8065 6.44817 6.90886 6.3336C7.01122 6.21903 7.15221 6.14619 7.30488 6.129C7.45755 6.11181 7.6112 6.15147 7.73647 6.24041C7.86175 6.32935 7.94986 6.46132 7.98398 6.61112C8.40665 6.32389 8.89964 6.1573 9.40991 6.1293C9.92018 6.10129 10.4284 6.21292 10.88 6.45217C11.3316 6.69142 11.7094 7.04925 11.9728 7.48717C12.2362 7.92509 12.3753 8.42653 12.375 8.93757V11.7501Z\" fill=\"#444444\"/>\r\n </svg> \r\n </a>\r\n <a class=\"linkItem announcekit-widget mr-3\" *ngIf=\"!osHub\">{{ 'Standard.WhatIsNew' | translate }}?</a>\r\n <a href=\"https://jublo.com/cookies/\" target=\"_blank\" class=\"linkItem mr-3\" rel=\"noopener\">{{ 'Standard.CookiePrivacyPolicy' | translate }}</a>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"small-muted-text\">@ 2023 Jublo</span>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, Renderer2, ElementRef, ViewChild, Output, Input, EventEmitter, AfterContentChecked, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SharedDataService, StakeholderMessages } from 'app/shared/services/shared-data.service';\r\nimport { CompanyInformation } from 'app/shared-html-components/details/models';\r\nimport { UserInfo } from '../../settings/users/userdetails/userDetails-model';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { NavList, NavItem, Items, SettingsItems, JubloSettingsItems } from './navbarMenuData';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit, AfterContentChecked, OnDestroy {\r\n\r\n @ViewChild('toggleCreateMenuBtn') toggleCreateMenuBtn: ElementRef;\r\n @ViewChild('toggleCreateMenuTxt') toggleCreateMenuTxt: ElementRef;\r\n @ViewChild('toggleCreateMenuIcon') toggleCreateMenuIcon: ElementRef;\r\n @ViewChild('createMenu') createMenu: ElementRef;\r\n @Output() emitMenuSize = new EventEmitter<boolean>();\r\n @Output() loginStatus = new EventEmitter<boolean>();\r\n @Input() smallScreen;\r\n\r\n isHidden: boolean = false;\r\n menuFull: boolean = true;\r\n showSettings: boolean = false;\r\n showCreateMenu: boolean = false;\r\n loading: boolean = true;\r\n osHub: boolean = false;\r\n newsec: boolean = false;\r\n taurus: boolean = false;\r\n forenede: boolean = false;\r\n propertyManagement: boolean = false;\r\n userInformationGotten = false;\r\n isLoggedIn: boolean = false;\r\n currentUrl: string = '';\r\n timeNow: string = '';\r\n compInfo: CompanyInformation;\r\n user_info = new UserInfo();\r\n userInitials: Array<any>;\r\n badge = new Badges();\r\n messages: Array<StakeholderMessages>;\r\n messageBadge = 0;\r\n\r\n items = new Items;\r\n settingsItems = new SettingsItems;\r\n jubloSettingsItems = new JubloSettingsItems;\r\n navFavorites: Array<NavItem> = [];\r\n navTeam: Array<NavItem> = [];\r\n navCompany: Array<NavItem> = [];\r\n navItems: Array<NavList> = [];\r\n returnUrl: string | null = null;\r\n\r\n navSettings: Array<NavItem> = [];\r\n navSettingsItems: Array<NavList> = [];\r\n\r\n jubloNavSettings: Array<NavItem> = [];\r\n jubloNavSettingsItems: Array<NavList> = [];\r\n\r\n magicMode: boolean = false;\r\n hiddenMenu: boolean = false;\r\n mobileMenu: boolean = false;\r\n private unlisten: Function;\r\n subs: SubscriptionObject = {}\r\n clickListener: any;\r\n reloadBadges;\r\n\r\n constructor(private renderer: Renderer2, private http: HttpClient, private sharedData: SharedDataService, private router: Router, private route: ActivatedRoute, private translate: TranslateService, private sanitizer: DomSanitizer) {\r\n this.unlisten = this.renderer.listen('window', 'click', (e: Event) => {\r\n if (((!!this.toggleCreateMenuBtn && e.target == this.toggleCreateMenuBtn.nativeElement) || (!!this.toggleCreateMenuTxt && e.target == this.toggleCreateMenuTxt.nativeElement) || (!!this.toggleCreateMenuIcon && e.target == this.toggleCreateMenuIcon.nativeElement))) {\r\n this.showCreateMenu = true;\r\n } else {\r\n this.showCreateMenu = false;\r\n }\r\n this.emitMenuSize.emit(this.menuFull);\r\n });\r\n //sharedData.fullscreenEnabled().subscribe((data) => { this.isHidden = data });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.startLoading();\r\n this.addClickListener();\r\n }\r\n\r\n ngAfterContentChecked() {\r\n if (this.router.url.startsWith('/Settings')) {\r\n this.showSettings = true;\r\n } else {\r\n this.showSettings = false;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n for (let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n this.unlisten();\r\n if (this.clickListener) {\r\n document.removeEventListener('click', this.clickListener);\r\n }\r\n if(this.reloadBadges) clearInterval(this.reloadBadges)\r\n }\r\n\r\n addClickListener() {\r\n this.clickListener = document.addEventListener(\"mousedown\", (event: MouseEvent) => {\r\n if ((event.altKey && event.ctrlKey) || (event.metaKey && !event.ctrlKey)) {\r\n this.magicMode = true;\r\n } else {\r\n this.magicMode = false;\r\n }\r\n });\r\n }\r\n\r\n startLoading() {\r\n this.timeNow = new Date().toISOString();\r\n if (!!localStorage.getItem('osHub') && localStorage.getItem('osHub') == 'true') { this.osHub = true; }\r\n let number = JSON.parse(localStorage.getItem('userInfo') as string)?.CompanyNumber;\r\n this.generateMenu();\r\n this.generateSettingsMenu();\r\n this.generateJubloMenu();\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n let url = params['origin'];\r\n if (url == 'os' || url == 'kp' || url == 'fullScreen') {\r\n this.isHidden = true;\r\n }\r\n });\r\n this.getBadges();\r\n this.reloadBadges = setInterval(() => {\r\n this.getBadges();\r\n }, 600000); // Reload badges every 10 minutes\r\n \r\n }\r\n\r\n generateMenu() {\r\n let roles = JSON.parse(localStorage.getItem('guards') as string);\r\n if (!!roles && !this.navItems.length) {\r\n this.isLoggedIn = true;\r\n if (!this.navTeam.find(z => z.name == 'cases')) { this.navTeam.push(this.items.cases); }\r\n if (!this.navTeam.find(z => z.name == 'inbox')) { this.navTeam.push(this.items.inbox); }\r\n if (!this.navCompany.find(z => z.name == 'customers')) { this.navCompany.push(this.items.customers); }\r\n // if (this.propertyManagement && !!this.navCompany.find(z => z.name == 'customers')) { this.navCompany = this.navCompany.filter(z => z.name != 'customers'); }\r\n // if (this.propertyManagement && !this.navCompany.find(z => z.name == 'tenants')) { this.navCompany.push(this.items.tenants); }\r\n roles.forEach(x => {\r\n switch (x.name) {\r\n case 'SettingsAccess':\r\n if (!this.navCompany.find(y => y.name == 'dashboard')) {\r\n this.navCompany.push(this.items.dashboard);\r\n }\r\n if (!this.navTeam.find(y => y.name == 'documents')) {\r\n this.navTeam.push(this.items.documents);\r\n }\r\n break;\r\n case 'OfferAccess':\r\n if (!this.navTeam.find(y => y.name == 'documents')) {\r\n this.navTeam.push(this.items.documents);\r\n }\r\n break;\r\n case 'Kanban':\r\n if (!this.navCompany.find(y => y.name == 'kanban')) {\r\n this.navCompany.push(this.items.kanban);\r\n }\r\n break;\r\n case 'PartnerOfferAccess':\r\n if (!this.navTeam.find(y => y.name == 'documents')) {\r\n this.navTeam.push(this.items.documents);\r\n }\r\n break;\r\n // case 'TransferAccess':\r\n // if (!this.navTeam.find(y => y.name == 'inbox') && roles.find(y => y.name == 'Udbakke' || y.name == 'Udbakke Light' || y.name == 'Indbakke' || y.name == 'Indbakke Light')) {\r\n // this.navTeam.push(this.items.inbox);\r\n // }\r\n // break;\r\n case 'Rapporter':\r\n if (!this.navCompany.find(y => y.name == 'reports') && roles.find(y => y.name == 'SettingsAccess')) {\r\n this.navCompany.push(this.items.reports);\r\n }\r\n break;\r\n case 'Rekvisition':\r\n if (!this.navCompany.find(y => y.name == 'requisition') && roles.find(y => y.name == 'SettingsAccess')) {\r\n this.navCompany.push(this.items.requisition);\r\n }\r\n break;\r\n case 'Rating':\r\n if (!this.navCompany.find(y => y.name == 'rating')) {\r\n this.navCompany.push(this.items.rating);\r\n }\r\n break;\r\n case 'Activities':\r\n if (!this.navTeam.find(y => y.name == 'activities')) {\r\n this.navTeam.push(this.items.activities);\r\n }\r\n break;\r\n case 'Campaigns':\r\n if (!this.navCompany.find(y => y.name == 'campaigns')) {\r\n this.navCompany.push(this.items.campaigns);\r\n }\r\n break;\r\n case 'Assets':\r\n if (!this.navCompany.find(y => y.name == 'assets')) {\r\n this.navCompany.push(this.items.assets);\r\n }\r\n break;\r\n // case 'WholesalePackages':\r\n // if (!this.navCompany.find(y => y.name == 'wholesalePackages')) {\r\n // this.navCompany.push(this.items.wholesalePackages);\r\n // }\r\n // break;\r\n // case 'CompanyPartners':\r\n // if (!this.navCompany.find(y => y.name == 'companyPartners')) {\r\n // this.navCompany.push(this.items.companyPartners);\r\n // }\r\n // break;\r\n // case 'PackageDistributor':\r\n // if (!this.navCompany.find(y => y.name == 'packageDistributor')) {\r\n // this.navCompany.push(this.items.packageDistributor);\r\n // }\r\n // break;\r\n case 'OperationsAndMaintenance':\r\n if (!this.navTeam.find(y => y.name == 'activities')) {\r\n this.navTeam.push(this.items.activities);\r\n }\r\n break;\r\n case 'BI':\r\n if (!this.navCompany.find(y => y.name == 'bi') && !!roles.find(y => y.name == 'BIAccess')) {\r\n this.navCompany.push(this.items.bi);\r\n }\r\n break;\r\n case 'Service':\r\n if (!this.navCompany.find(y => y.name == 'service')) {\r\n this.navCompany.push(this.items.service);\r\n }\r\n break;\r\n }\r\n });\r\n\r\n let klarprisToken = localStorage.getItem('klarpris');\r\n if (!!klarprisToken && klarprisToken != 'null' && !this.navCompany.find(x => x.name == 'klarpris')) {\r\n if (!this.navCompany.find(x => x.name == 'klarpris')) { this.navCompany.push(this.items.klarpris); }\r\n }\r\n\r\n if (!this.navCompany.find(z => z.name == 'profile')) { this.navCompany.push(this.items.profile); }\r\n if (!!roles.find(x => x.name == 'SettingsAccess' || x.name == 'PackageAccess') && !this.navCompany.find(z => z.name == 'settings')) {\r\n this.navCompany.push(this.items.settings);\r\n }\r\n\r\n //console.log(this.currentUrl);\r\n if (!!this.navFavorites && this.navFavorites.length > 0) {\r\n this.navFavorites.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.navItems.push({ name: 'Favorites', data: this.navFavorites.sort((a, b) => a.order - b.order), visible: true });\r\n }\r\n if (!!this.navTeam && this.navTeam.length > 0) {\r\n this.navTeam.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.navItems.push({ name: 'Team', data: this.navTeam.sort((a, b) => a.order - b.order), visible: true });\r\n }\r\n if (!!this.navCompany && this.navCompany.length > 0) {\r\n this.navCompany.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.navItems.push({ name: 'Company', data: this.navCompany.sort((a, b) => a.order - b.order), visible: true });\r\n }\r\n this.loading = false;\r\n }\r\n }\r\n\r\n generateSettingsMenu() {\r\n let roles = JSON.parse(localStorage.getItem('guards'));\r\n if (!!roles && !!roles.find(x => x.name == 'SettingsAccess') && !this.navSettingsItems.length) {\r\n roles.forEach(x => {\r\n switch (x.name) {\r\n case 'PartnerAccess':\r\n if (!this.navSettings.find(y => y.name == 'partners')) { this.navSettings.push(this.settingsItems.partners); }\r\n break;\r\n case 'Custom Forms':\r\n if (!this.navSettings.find(y => y.name == 'customForms')) { this.navSettings.push(this.settingsItems.customForms); }\r\n break;\r\n case 'Presenter':\r\n if (!this.navSettings.find(y => y.name == 'presenter')) { this.navSettings.push(this.settingsItems.presenter); }\r\n break;\r\n case 'Offer':\r\n if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n break;\r\n case 'PackageAccess':\r\n if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n break;\r\n case 'Shop':\r\n if (!this.navSettings.find(y => y.name == 'startpage') && roles.find(y => y.name == 'PackageAccess' || y.name == 'SettingsAccess')) {\r\n this.navSettings.push(this.settingsItems.startpage);\r\n }\r\n break;\r\n case 'GoogleMap':\r\n if (!this.navSettings.find(y => y.name == 'ourLocations')) { this.navSettings.push(this.settingsItems.ourLocations); }\r\n break;\r\n case 'Offer':\r\n if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n break;\r\n case 'Rekvisition':\r\n if (!this.navSettings.find(y => y.name == 'requisitions')) { this.navSettings.push(this.settingsItems.requisitions); }\r\n break;\r\n case 'Minuba':\r\n if (!this.navSettings.find(y => y.name == 'minuba')) { this.navSettings.push(this.settingsItems.minuba); }\r\n break;\r\n case 'E-KOMPLET A/S':\r\n if (!this.navSettings.find(y => y.name == 'ekomplet')) { this.navSettings.push(this.settingsItems.ekomplet); }\r\n break;\r\n case 'Ordrestyring':\r\n if (!this.navSettings.find(y => y.name == 'ordrestyring')) { this.navSettings.push(this.settingsItems.ordrestyring); }\r\n break;\r\n case 'Bewise':\r\n if (!this.navSettings.find(y => y.name == 'bewise')) { this.navSettings.push(this.settingsItems.bewise); }\r\n break;\r\n default:\r\n if (!this.navSettings.find(y => y.name == 'company')) { this.navSettings.push(this.settingsItems.company); }\r\n if (!this.navSettings.find(y => y.name == 'users')) { this.navSettings.push(this.settingsItems.users); }\r\n if (!this.navSettings.find(y => y.name == 'setup')) { this.navSettings.push(this.settingsItems.setup); }\r\n if (!this.navSettings.find(y => y.name == 'partners')) { this.navSettings.push(this.settingsItems.partners); }\r\n if (!this.navSettings.find(y => y.name == 'notifications')) { this.navSettings.push(this.settingsItems.notifications); }\r\n if (!this.navSettings.find(y => y.name == 'systemNotifications')) { this.navSettings.push(this.settingsItems.systemNotifications); }\r\n if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n if (!this.navSettings.find(y => y.name == 'workingHours')) { this.navSettings.push(this.settingsItems.workingHours); }\r\n if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n if (!this.navSettings.find(y => y.name == 'gdpr')) { this.navSettings.push(this.settingsItems.gdpr); }\r\n if (!this.navSettings.find(y => y.name == 'klarpris')) { this.navSettings.push(this.settingsItems.klarpris); }\r\n if (!this.navSettings.find(y => y.name == 'templates')) { this.navSettings.push(this.settingsItems.templates); }\r\n break;\r\n }\r\n });\r\n\r\n if (!this.navSettings.find(y => y.name == 'subscription') && this.osHub) {\r\n this.navSettings.push(this.settingsItems.subscription);\r\n } else {\r\n if (!this.navSettings.find(y => y.name == 'distributor')) { this.navSettings.push(this.settingsItems.distributor); }\r\n }\r\n\r\n if (!!this.navSettings && this.navSettings.length > 0) {\r\n this.navSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.navSettingsItems.push({ name: 'Settings', data: this.navSettings.sort((a, b) => a.order - b.order), visible: true });\r\n\r\n }\r\n } else if (!!roles && !roles.find(x => x.name == 'SettingsAccess') && !this.navSettingsItems.length) {\r\n roles.forEach(x => {\r\n switch (x.name) {\r\n case 'PackageAccess':\r\n if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n //if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n //if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n break;\r\n }\r\n });\r\n\r\n if (!!this.navSettings && this.navSettings.length > 0) {\r\n this.navSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.navSettingsItems.push({ name: 'Settings', data: this.navSettings.sort((a, b) => a.order - b.order), visible: true });\r\n }\r\n } else {\r\n console.log('else')\r\n }\r\n }\r\n\r\n generateJubloMenu() {\r\n if (!this.jubloNavSettings.find(y => y.name == 'pdfDesigner')) { this.jubloNavSettings.push(this.jubloSettingsItems.pdfDesigner); }\r\n if (!this.jubloNavSettings.find(y => y.name == 'cssDesigner')) { this.jubloNavSettings.push(this.jubloSettingsItems.cssDesigner); }\r\n if (!this.jubloNavSettings.find(y => y.name == 'modules')) { this.jubloNavSettings.push(this.jubloSettingsItems.modules); }\r\n if (!this.jubloNavSettings.find(y => y.name == 'newReports')) { this.jubloNavSettings.push(this.jubloSettingsItems.newReports); }\r\n if (!this.jubloNavSettings.find(y => y.name == 'customForms')) { this.jubloNavSettings.push(this.jubloSettingsItems.customForms); }\r\n\r\n if (!!this.jubloNavSettings && this.jubloNavSettings.length > 0 && this.jubloNavSettingsItems.length == 0) {\r\n this.jubloNavSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n this.jubloNavSettingsItems.push({ name: 'Settings', data: this.jubloNavSettings.sort((a, b) => a.order - b.order), visible: true });\r\n }\r\n }\r\n\r\n getBadges() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get(api.jubloApi + 'api/Badge', { headers }).subscribe((data: Badges) => {\r\n this.badge = data;\r\n if(!!data.caseBadge) {\r\n let cases = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'cases');\r\n cases.badge = data.caseBadge;\r\n }\r\n if(!!data.caseBadge) {\r\n let offers = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'documents');\r\n offers.badge = data.offerBadge;\r\n }\r\n if(!!data.ratingBadge) {\r\n let ratings = this.navItems.find(x => x.name == 'Company').data.find(x => x.name == 'ratings');\r\n ratings.badge = data.ratingBadge;\r\n }\r\n });\r\n this.http.get(api.jubloApi + `api/Badge/GetInboxBadge`, { headers }).subscribe({\r\n next:(data:number)=> {\r\n let inbox = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'inbox' );\r\n if(!!data) inbox.badge = data;\r\n }\r\n })\r\n }\r\n\r\n notActive() {\r\n this.navCompany.forEach(x => { x.active = false; });\r\n this.navFavorites.forEach(x => { x.active = false; });\r\n this.navTeam.forEach(x => { x.active = false; });\r\n this.navSettings.forEach(x => { x.active = false; });\r\n this.jubloNavSettings.forEach(x => { x.active = false; });\r\n }\r\n\r\n goTo(site) {\r\n this.mobileMenu = false;\r\n this.notActive();\r\n if (site.name == 'company' && this.magicMode) {\r\n this.hiddenMenu = true;\r\n } else if (site.name == 'settings' && !this.navSettingsItems[0].data.find(x => x.name == 'company')) {\r\n site = this.settingsItems.packages;\r\n this.navSettingsItems[0].data.find(x => x.name == 'packages').active = true;\r\n this.returnUrl = this.router.url;\r\n this.showSettings = true;\r\n } else if (site.name == 'settings') {\r\n this.navSettingsItems[0].data.find(x => x.name == 'company').active = true;\r\n this.returnUrl = this.router.url;\r\n this.showSettings = true;\r\n } else {\r\n site.active = true;\r\n }\r\n this.router.navigate(['/' + site.route]);\r\n }\r\n\r\n returnToDefaultMenu() {\r\n this.showSettings = false;\r\n this.hiddenMenu = false;\r\n let url = !!this.returnUrl ? this.returnUrl : '/Cases';\r\n this.router.navigate([url]);\r\n this.notActive();\r\n for (let x of this.navItems) {\r\n if (x.data.find(y => y.route.startsWith(url.substring(1)))) {\r\n x.data.find(y => y.route.startsWith(url.substring(1))).active = true;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n showMobileMenu() {\r\n this.mobileMenu = !this.mobileMenu;\r\n }\r\n\r\n create(type) {\r\n console.log(type);\r\n }\r\n\r\n logout() {\r\n this.navFavorites = [];\r\n this.navTeam = [];\r\n this.navCompany = [];\r\n this.navItems = [];\r\n this.isLoggedIn = false;\r\n this.loginStatus.emit(this.isLoggedIn);\r\n localStorage.clear();\r\n this.sharedData.clearAll();\r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n}\r\n\r\nexport class Companies {\r\n companyId: string;\r\n conpanyName: string;\r\n loginId: string;\r\n stakeholderId: string;\r\n}\r\n\r\nexport class Badges {\r\n caseBadge: number;\r\n partnerBadge: number;\r\n offerBadge: number;\r\n ratingBadge: number;\r\n outboxFromCasesBadge: number;\r\n outboxTransferBadge: number;\r\n messageBadge: number = 0;\r\n}\r\n\r\n","<!-- STANDARD MENU -->\r\n<div class=\"jublo-nav\" [ngClass]=\"{\r\n 'jublo-nav-small': !menuFull, \r\n 'newsec-nav': newsec, \r\n 'taurus-nav': taurus,\r\n 'forenede-nav': forenede,\r\n 'smallScreen': smallScreen,\r\n 'menuOpen': mobileMenu\r\n }\" *ngIf=\"!showSettings\">\r\n <div class=\"jublo-nav-logo\">\r\n <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"!newsec && !taurus && !forenede\">\r\n <svg [attr.width]=\"menuFull ? '52' : '32'\" [attr.height]=\"menuFull ? '48' : '29'\" viewBox=\"0 0 52 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M44.2259 37.0228C44.9708 36.4176 45.6619 35.7557 46.2923 35.0439C49.9666 30.8911 51.6368 25.8121 51.3123 19.9305C50.5538 11.0708 44.8832 3.82513 35.7662 1.34863C33.5685 0.822541 31.6018 0.666626 29.5682 0.666626C29.3963 0.666626 29.2099 0.687711 29.0334 0.689672V16.4655C29.0334 24.8129 23.4189 30.9004 13.993 30.9004C12.4998 30.9004 11.1115 30.6999 9.78238 30.4165C10.5798 32.0879 11.6214 33.6456 12.8768 35.0439C15.8605 38.4491 19.7944 40.6476 24.3212 41.6061L49.1769 47.3333L44.1958 37.0547C44.1958 37.0547 44.1958 37.0228 44.2259 37.0228Z\" fill=\"white\"/>\r\n <path d=\"M23.6025 14.9952C23.6025 21.4632 19.2512 26.1775 11.9493 26.1775C5.176 26.1775 0.333008 22.3561 0.333008 15.2806H5.2518C5.2518 19.5692 7.45057 21.7486 11.9493 21.7486C16.4871 21.7486 18.6069 18.7793 18.6069 14.9952V5.06174H10.6264V0.666704H23.6025V14.9952Z\" fill=\"white\"/>\r\n <path d=\"M15.9763 15.7319C15.9763 17.4058 14.4099 18.7664 11.9676 18.7664C9.41791 18.7664 7.95951 17.4058 7.95951 15.7319\" fill=\"white\"/>\r\n <path d=\"M10.9543 12.4546C10.9543 12.618 10.9202 12.7797 10.8539 12.9307C10.7877 13.0816 10.6906 13.2188 10.5683 13.3343C10.4459 13.4498 10.3006 13.5414 10.1408 13.6039C9.98091 13.6664 9.80957 13.6985 9.63655 13.6985C9.29126 13.692 8.96243 13.5579 8.72066 13.325C8.47889 13.0921 8.34346 12.779 8.34346 12.4528C8.34346 12.1267 8.47889 11.8136 8.72066 11.5807C8.96243 11.3478 9.29126 11.2137 9.63655 11.2072C9.80982 11.2074 9.98136 11.2397 10.1414 11.3025C10.3014 11.3653 10.4467 11.4572 10.5691 11.573C10.6915 11.6889 10.7885 11.8264 10.8546 11.9776C10.9206 12.1289 10.9545 12.2909 10.9543 12.4546Z\" fill=\"white\"/>\r\n <path d=\"M15.5181 12.4544C15.5181 12.7846 15.3792 13.1012 15.132 13.3347C14.8848 13.5682 14.5495 13.6993 14.1999 13.6993C13.8503 13.6993 13.515 13.5682 13.2677 13.3347C13.0205 13.1012 12.8816 12.7846 12.8816 12.4544C12.8814 12.2909 12.9152 12.1289 12.9812 11.9777C13.0473 11.8265 13.1442 11.6891 13.2664 11.5733C13.3887 11.4574 13.5339 11.3655 13.6938 11.3027C13.8537 11.2398 14.0251 11.2074 14.1983 11.2071C14.3717 11.2072 14.5434 11.2395 14.7035 11.3022C14.8637 11.3649 15.0092 11.4568 15.1317 11.5727C15.2543 11.6885 15.3515 11.826 15.4178 11.9773C15.4841 12.1286 15.5182 12.2907 15.5181 12.4544Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"newsec\">\r\n <svg width=\"120\" height=\"110\" viewBox=\"0 0 137 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"menuFull\">\r\n <path d=\"M15.7581 26.1938V38.9751H12.0047V27.1001C12.0047 25.4501 11.523 22.6876 8.25128 22.6876C7.64379 22.6922 7.04349 22.8186 6.48586 23.0594C5.92825 23.3002 5.42474 23.6505 5.00522 24.0895C4.5857 24.5284 4.25872 25.0471 4.04369 25.6147C3.82866 26.1823 3.72995 26.7873 3.75342 27.3938V38.9751H0V19.4876H3.75342V21.6063C4.41447 20.8097 5.24611 20.1715 6.18699 19.7387C7.12788 19.306 8.154 19.0899 9.18963 19.1063C13.2433 19.1251 15.7581 21.8376 15.7581 26.1938ZM62.776 19.4876H59.0977L55.0127 32.9563L51.3594 19.4876H48.2315L44.4155 33.0626L40.2492 19.4876H36.4958L42.6326 38.9751H45.8668L49.7767 25.5188L53.4363 38.9751H56.6642L62.776 19.4876ZM35.8139 28.6751V30.0001H22.0514C22.3079 33.6876 24.4723 36.0626 27.5814 36.0626C29.9774 36.0626 31.7415 34.7751 32.2982 32.6063L32.3545 32.4063L35.5199 34.0563V34.1251C34.2688 37.4126 31.3098 39.3751 27.6064 39.3751C22.2203 39.3751 18.4543 35.2126 18.4543 29.2501C18.4543 23.2876 22.2453 19.1251 27.4626 19.1251C32.5297 19.1313 35.8139 22.8751 35.8139 28.6751ZM22.2953 27.0188H32.0167C31.8728 24.7751 30.6029 22.4063 27.425 22.4063C24.8226 22.4063 22.9084 24.1313 22.2953 27.0188ZM72.0845 27.4251L71.459 27.2813C68.9567 26.7376 67.4866 26.4126 67.4866 24.8563C67.4866 23.3001 68.8253 22.3001 70.8897 22.3001C71.813 22.2604 72.7301 22.467 73.5471 22.8987C74.3641 23.3303 75.051 23.9715 75.5377 24.7563L75.5815 24.8251L78.6593 23.3126L78.5967 23.1876C77.3456 20.7251 74.3929 19.1313 71.0336 19.1313C66.8485 19.1313 63.8082 21.6313 63.8082 25.1126C63.8082 29.1626 67.1237 29.8938 70.3267 30.6001L70.7771 30.6938C73.6047 31.2813 75.1561 31.6063 75.1561 33.4001C75.1617 33.7202 75.101 34.0379 74.9784 34.3337C74.8558 34.6293 74.6738 34.8966 74.4429 35.1188C73.5696 35.8512 72.4542 36.2302 71.3151 36.1813H71.2212C70.1259 36.2072 69.0436 35.9362 68.0896 35.397C67.1356 34.8577 66.3455 34.0705 65.8038 33.1188L65.7663 33.0438L62.5195 34.6251L62.6134 34.8126C64.0084 37.6313 67.2926 39.3813 71.1962 39.3813C75.6127 39.3751 78.8219 36.7438 78.8219 33.1251C78.8219 28.9751 75.2437 28.1251 72.0845 27.4251ZM97.833 28.6751V30.0001H84.0705C84.3269 33.6876 86.4914 36.0626 89.6068 36.0626C91.9964 36.0626 93.7605 34.7751 94.3236 32.6063L94.3736 32.4063L97.589 34.0626V34.1313C96.3379 37.4188 93.379 39.3813 89.6818 39.3813C84.2894 39.3813 80.5235 35.2188 80.5235 29.2563C80.5235 23.2938 84.3144 19.1313 89.5317 19.1313C94.555 19.1313 97.833 22.8751 97.833 28.6751ZM84.3144 27.0188H94.0358C93.8982 24.7751 92.622 22.4063 89.4441 22.4063C86.8417 22.4063 84.9337 24.1313 84.3144 27.0188ZM113.672 32.1938V32.2938C113.078 34.7063 111.489 36.0438 109.206 36.0438C105.878 36.0438 103.732 33.3813 103.732 29.2626C103.732 25.1438 105.878 22.4501 109.206 22.4501C111.452 22.4501 113.078 23.8126 113.672 26.2001V26.3001L116.982 24.8188V24.7438C115.981 21.2813 112.991 19.1188 109.187 19.1188C103.751 19.1188 99.96 23.2813 99.96 29.2438C99.96 35.2063 103.745 39.3751 109.181 39.3751C112.966 39.3751 115.968 37.2188 117.013 33.7501V33.6751L113.672 32.1938Z\" fill=\"#1D1D1B\"/>\r\n <path d=\"M105.509 0L93.5415 8.85625H127.673V27.4625L136.543 15.5V0H105.509Z\" fill=\"#FF5100\"/>\r\n </svg> \r\n <svg width=\"32\" height=\"29\" viewBox=\"0 0 44 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"!menuFull\">\r\n <path d=\"M12.5092 0L0.541992 8.85625H34.6731V27.4625L43.5437 15.5V0H12.5092Z\" fill=\"#FF5100\"/>\r\n </svg>\r\n </div>\r\n <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"taurus\">\r\n <svg width=\"179\" height=\"18\" viewBox=\"0 0 179 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"menuFull\">\r\n <path d=\"M0.290592 3.66472L0.272949 0.479092H28.6228V3.66472H16.2455V18H12.6861V3.66472H0.290592Z\" fill=\"white\"/>\r\n <path d=\"M44.5572 10.0358L40.1656 3.55342L35.7564 10.0358H44.5572ZM42.3259 0.367798L54.3141 17.9999H49.9583L46.7175 13.2215H33.5962L30.3553 17.9999H25.9995L38.0054 0.367798H42.3259Z\" fill=\"white\"/>\r\n <path d=\"M83.2693 0.479135L83.2869 11.6288C83.2869 15.8763 80.9258 17.9996 76.2039 17.9996H62.0378C57.3154 17.9996 54.9547 15.8763 54.9547 11.6288V0.479135H58.496V11.6288C58.5078 13.7526 59.6884 14.8144 62.0378 14.8144H76.2215C78.571 14.8144 79.7457 13.7526 79.7457 11.6288V0.479135H83.2693Z\" fill=\"white\"/>\r\n <path d=\"M111.637 6.05389C111.626 4.46108 110.439 3.66467 108.078 3.66467H93.9119C91.5507 3.66467 90.3701 4.72654 90.3701 6.85029V8.4431H108.096C110.433 8.4431 111.613 7.6467 111.637 6.05389ZM111.637 18V14.8144C111.637 12.6906 110.457 11.6287 108.096 11.6287H90.3701L90.3883 18H86.8465L86.8288 6.85029C86.8288 2.60329 89.1895 0.479047 93.9119 0.479047H108.078C112.8 0.479047 115.167 2.33733 115.179 6.05389C115.167 7.6467 114.571 8.97404 113.39 10.0359C114.571 11.0978 115.167 12.6906 115.179 14.8144V18H111.637Z\" fill=\"white\"/>\r\n <path d=\"M147.035 0.479135L147.053 11.6288C147.053 15.8763 144.691 17.9996 139.969 17.9996H125.803C121.081 17.9996 118.72 15.8763 118.72 11.6288V0.479135H122.262V11.6288C122.273 13.7526 123.454 14.8144 125.803 14.8144H139.987C142.336 14.8144 143.511 13.7526 143.511 11.6288V0.479135H147.035Z\" fill=\"white\"/>\r\n <path d=\"M171.843 7.64668C176.565 7.63639 178.932 9.22871 178.944 12.4251C178.932 16.1417 176.565 18 171.843 18H157.677C152.955 18 150.594 15.8762 150.594 11.6287H154.136C154.136 13.7525 155.316 14.8143 157.677 14.8143H171.843C174.204 14.8143 175.385 14.0179 175.385 12.4251C175.397 11.3525 174.216 10.8215 171.843 10.8323H157.677C152.955 10.8431 150.6 9.25026 150.612 6.05386C150.6 2.3373 152.955 0.479025 157.677 0.479025H171.843C176.554 0.479025 178.915 2.60816 178.927 6.86643L175.367 6.85027C175.379 4.72652 174.204 3.66465 171.843 3.66465H157.677C155.316 3.66465 154.141 4.46105 154.153 6.05386C154.141 7.12651 155.316 7.65745 157.677 7.64668H171.843Z\" fill=\"white\"/>\r\n </svg> \r\n <svg width=\"32\" height=\"29\" viewBox=\"0 0 44 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"!menuFull\">\r\n <path style=\"fill:#596279; stroke:none;\" d=\"M0 0L1 1L0 0z\"/>\r\n <path style=\"fill:#858b9d; stroke:none;\" d=\"M1 0L1 1L28 1L1 0z\"/>\r\n <path style=\"fill:#596279; stroke:none;\" d=\"M28 0L29 1L28 0z\"/>\r\n <path style=\"fill:#a8adb9; stroke:none;\" d=\"M0 1C2.7385 5.2241 8.4304 4 13 4L13 3L0 1z\"/>\r\n <path style=\"fill:#ffffff; stroke:none;\" d=\"M1 1L1 3L13 3L13 18L16 18L16 3L28 3L28 1L1 1z\"/>\r\n <path style=\"fill:#a8adb9; stroke:none;\" d=\"M28 1L16 3L16 4C19.0404 4 28.7401 5.48956 28 1z\"/>\r\n <path style=\"fill:#858b9d; stroke:none;\" d=\"M0 3L1 4L0 3z\"/>\r\n <path style=\"fill:#596279; stroke:none;\" d=\"M28 3L29 4L28 3z\"/>\r\n <path style=\"fill:#0b193b; stroke:none;\" d=\"M0 4L0 18L12 18L12 4L0 4z\"/>\r\n <path style=\"fill:#596279; stroke:none;\" d=\"M12 4L12 18L13 18L12 4M16 4L16 18L17 18L16 4z\"/>\r\n <path style=\"fill:#0b193b; stroke:none;\" d=\"M17 4L17 18L29 18L29 4L17 4z\"/>\r\n </svg>\r\n </div>\r\n <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"forenede\">\r\n <img src=\"../../assets/img/FS 400x400x.png\" alt=\"Forenede Service\" style=\"max-width: 100%; max-height: 5rem;\">\r\n </div>\r\n <div class=\"menu-opener\" (click)=\"showMobileMenu()\" *ngIf=\"smallScreen\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon hero-icon-menu\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"jublo-nav-items\">\r\n <!-- Buttons -->\r\n <div class=\"menu-stack\" [ngClass]=\"{'smallScreen': smallScreen}\" *ngFor=\"let x of navItems; let i = index\">\r\n <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n </svg>\r\n <span *ngIf=\"menuFull\">{{ ('Header.' + x.name | translate) | uppercase }}</span>\r\n </div>\r\n <div *ngIf=\"x.visible || !menuFull\">\r\n <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ (y.name | translate ) | titlecase }}\" (click)=\"goTo(y)\">\r\n <div class=\"menu-item\" [ngClass]=\"{\r\n 'menu-item-active': y.active,\r\n 'menu-item-active-newsec': y.active && newsec,\r\n 'menu-item-active-taurus': y.active && taurs,\r\n 'menu-item-active-forenede': y.active && forenede\r\n }\">\r\n <div class=\"menu-item-left\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\" *ngIf=\"y.name != 'klarpris'\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" [attr.d]=\"y.icon[0]\" />\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" [attr.d]=\"y.icon[1]\" *ngIf=\"!!y.icon[1]\"/>\r\n </svg>\r\n <img src=\"../assets/img/klarpris_icon.png\" class=\"wholesalerIcon\" alt=\"KlarPris\" *ngIf=\"y.name == 'klarpris'\">\r\n <span *ngIf=\"menuFull\">{{ (y.translate | translate) | titlecase }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"menu-stack\">\r\n <div class=\"menu-row\">\r\n <div (click)=\"menuFull = !menuFull\">\r\n <div class=\"menu-item\">\r\n <span class=\"menu-item-left\" *ngIf=\"!!menuFull\" ><i class=\"fa-thin fa-minimize\"></i> <span class=\"ml-2\">Minimere</span></span>\r\n <span class=\"menu-item-left\" title=\"Maksimere\"><i class=\"fa-thin fa-maximize\" *ngIf=\"!menuFull\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- LOG OUT -->\r\n <div class=\"menu-sign-out\" *ngIf=\"isLoggedIn\">\r\n <div class=\"menu-row\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" [attr.title]=\"menuFull ? ('Header.FoldIn' | translate) : ('Header.FoldOut' | translate)\" (click)=\"logout()\">\r\n <div class=\"menu-item\">\r\n <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75\" />\r\n </svg> \r\n <span *ngIf=\"menuFull\">{{ 'Header.LogOut' | translate }}</span>\r\n </div>\r\n <div></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n\r\n<!-- SETTINGS MENU -->\r\n<div class=\"jublo-nav jublo-nav-settings\" [ngClass]=\"{ 'jublo-nav-small': !menuFull, 'smallScreen': smallScreen }\" *ngIf=\"showSettings\">\r\n <div class=\"menu-create\">\r\n <button class=\"btn btn-secondary\" [ngClass]=\"{'btn-create-small': !menuFull}\" (click)=\"returnToDefaultMenu()\">\r\n <svg width=\"6\" height=\"10\" viewBox=\"0 0 6 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"hero-icon-small\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.79062 0.230169C6.07772 0.528748 6.06841 1.00353 5.76983 1.29063L1.83208 5L5.76983 8.70938C6.06841 8.99647 6.07772 9.47125 5.79062 9.76983C5.50353 10.0684 5.02875 10.0777 4.73017 9.79063L0.230167 5.54063C0.0831082 5.39922 -1.18115e-06 5.20401 -1.17223e-06 5C-1.16331e-06 4.79599 0.0831082 4.60078 0.230167 4.45938L4.73017 0.209376C5.02875 -0.077719 5.50353 -0.0684095 5.79062 0.230169Z\" fill=\"#0F172A\"/>\r\n </svg>\r\n <span class=\"mr-2\" *ngIf=\"menuFull\">{{ 'Buttons.Back' | translate }}</span>\r\n </button>\r\n </div>\r\n <!-- Buttons -->\r\n <div class=\"menu-stack\" *ngFor=\"let x of navSettingsItems; let i = index\">\r\n <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n </svg>\r\n <span *ngIf=\"menuFull\">{{ ('Header.' + x.name | translate) | uppercase }}</span>\r\n </div>\r\n <div *ngIf=\"x.visible || !menuFull\">\r\n <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ y.name | titlecase }}\" (click)=\"goTo(y)\">\r\n <div class=\"menu-item\" [ngClass]=\"{'menu-item-active menu-item-active-settings': y.active}\">\r\n <div class=\"menu-item-left\">\r\n <span>{{ (y.translate | translate) | titlecase }}</span>\r\n </div>\r\n <div class=\"menu-item-right\" *ngIf=\"y.badge > 0\">\r\n <span class=\"badge badge-light\">{{ y.badge }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Hidden menu -->\r\n <div *ngIf=\"hiddenMenu\">\r\n <div class=\"menu-stack\" *ngFor=\"let x of jubloNavSettingsItems; let i = index\">\r\n <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n </svg>\r\n <span *ngIf=\"menuFull\">JUBLO ADMIN</span>\r\n </div>\r\n <div *ngIf=\"x.visible || !menuFull\">\r\n <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ y.name | titlecase }}\" (click)=\"goTo(y)\">\r\n <div class=\"menu-item\" [ngClass]=\"{'menu-item-active menu-item-active-settings': y.active}\">\r\n <div class=\"menu-item-left\">\r\n <span>{{ (y.translate | translate) | titlecase }}</span>\r\n </div>\r\n <div class=\"menu-item-right\" *ngIf=\"y.badge > 0\">\r\n <span class=\"badge badge-light\">{{ y.badge }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","export class NavList {\r\n name: string;\r\n data: Array<NavItem>;\r\n visible: boolean;\r\n}\r\n\r\nexport class NavItem {\r\n name: string;\r\n route: string;\r\n translate: string;\r\n active: boolean;\r\n badge: number;\r\n order: number;\r\n icon: Array<string>;\r\n}\r\n\r\nexport class Items {\r\n dashboard = {\r\n name: 'dashboard',\r\n route: 'Dashboard',\r\n translate: 'Header.Dashboard',\r\n active: false,\r\n badge: 0,\r\n order: 1,\r\n icon: ['M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z']\r\n }\r\n rating = {\r\n name: 'rating',\r\n route: 'Rating',\r\n translate: 'Header.Rating',\r\n active: false,\r\n badge: 0,\r\n badgeTitle: 'Notifications.RatingReceived',\r\n order: 2,\r\n icon: ['M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z']\r\n }\r\n inbox = {\r\n name: 'inbox',\r\n route: 'Inbox',\r\n translate: 'Header.Inbox',\r\n active: false,\r\n badge: 0,\r\n badgeTitle: 'Buttons.MissingAnswer',\r\n order: 3,\r\n icon: ['M2.25 13.5h3.86a2.25 2.25 0 012.012 1.244l.256.512a2.25 2.25 0 002.013 1.244h3.218a2.25 2.25 0 002.013-1.244l.256-.512a2.25 2.25 0 012.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 002.25 2.25h15A2.25 2.25 0 0021.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 00-2.15-1.588H6.911a2.25 2.25 0 00-2.15 1.588L2.35 13.177a2.25 2.25 0 00-.1.661z']\r\n }\r\n cases = {\r\n name: 'cases',\r\n route: 'Cases',\r\n translate: 'Header.Cases',\r\n active: false,\r\n badge: 0,\r\n badgeTitle: 'Standard.UnreadMessages',\r\n order: 4,\r\n icon: ['M20.25 14.15v4.25c0 1.094-.787 2.036-1.872 2.18-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5 0a2.18 2.18 0 00.75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48.114 48.114 0 00-3.413-.387m4.5 8.006c-.194.165-.42.295-.673.38A23.978 23.978 0 0112 15.75c-2.648 0-5.195-.429-7.577-1.22a2.016 2.016 0 01-.673-.38m0 0A2.18 2.18 0 013 12.489V8.706c0-1.081.768-2.015 1.837-2.175a48.111 48.111 0 013.413-.387m7.5 0V5.25A2.25 2.25 0 0013.5 3h-3a2.25 2.25 0 00-2.25 2.25v.894m7.5 0a48.667 48.667 0 00-7.5 0M12 12.75h.008v.008H12v-.008z']\r\n }\r\n customers = {\r\n name: 'customers',\r\n route: 'Customers',\r\n translate: 'Header.Customers',\r\n active: false,\r\n badge: 0,\r\n order: 5,\r\n icon: ['M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z']\r\n }\r\n tenants = {\r\n name: 'tenants',\r\n route: 'Customers',\r\n translate: 'Header.Tenants',\r\n active: false,\r\n badge: 0,\r\n order: 5,\r\n icon: ['M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z']\r\n }\r\n activities = {\r\n name: 'activities',\r\n route: 'Activities',\r\n translate: 'Header.Tasks',\r\n active: false,\r\n badge: 0,\r\n order: 6,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n kanban = {\r\n name: 'kanban',\r\n route: 'Kanban',\r\n translate: 'Header.Kanban',\r\n active: false,\r\n badge: 0,\r\n order: 7,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n companyPartners = {\r\n name: 'companyPartners',\r\n route: 'CompanyPartners',\r\n translate: 'Header.Partners',\r\n active: false,\r\n badge: 0,\r\n order: 8,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n packageDistributor = {\r\n name: 'packageDistributor',\r\n route: 'Packages',\r\n translate: 'Standard.Distributor',\r\n active: false,\r\n badge: 0,\r\n order: 9,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n wholesalePackages = {\r\n name: 'wholesalePackages',\r\n route: 'DistributorPackages',\r\n translate: 'Settings.Packages',\r\n active: false,\r\n badge: 0,\r\n order: 10,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n documents = {\r\n name: 'documents',\r\n route: 'Offer',\r\n translate: 'Header.Documents',\r\n active: false,\r\n badge: 0,\r\n badgeTitle: 'Standard.UnreadMessages',\r\n order: 11,\r\n icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n }\r\n support = {\r\n name: 'support',\r\n route: 'Support',\r\n translate: 'Standard.Support',\r\n active: false,\r\n badge: 0,\r\n order: 12,\r\n icon: ['M20.25 8.511c.884.284 1.5 1.128 1.5 2.097v4.286c0 1.136-.847 2.1-1.98 2.193-.34.027-.68.052-1.02.072v3.091l-3-3c-1.354 0-2.694-.055-4.02-.163a2.115 2.115 0 01-.825-.242m9.345-8.334a2.126 2.126 0 00-.476-.095 48.64 48.64 0 00-8.048 0c-1.131.094-1.976 1.057-1.976 2.192v4.286c0 .837.46 1.58 1.155 1.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.455 48.455 0 0011.25 3c-2.115 0-4.198.137-6.24.402-1.608.209-2.76 1.614-2.76 3.235v6.226c0 1.621 1.152 3.026 2.76 3.235.577.075 1.157.14 1.74.194V21l4.155-4.155']\r\n }\r\n klarpris = {\r\n name: 'klarpris',\r\n route: 'Shop',\r\n translate: 'Integrations.Klarpris',\r\n active: false,\r\n badge: 0,\r\n order: 13,\r\n icon: ['M781.298,271.146L528.956,18.802c-24.934-24.934-65.364-24.934-90.298,0L18.886,438.574 C6.923,450.538,0.197,466.758,0.183,483.676L0,736c-0.027,35.281,28.568,63.899,63.852,63.899h252.547 c16.933,0,33.175-6.73,45.149-18.703l419.75-419.752C806.234,336.51,806.234,296.08,781.298,271.146z M225.919,680.933 c-29.478,29.478-77.272,29.478-106.75,0s-29.478-77.274,0-106.752s77.272-29.478,106.75,0S255.397,651.454,225.919,680.933z M487.164,512.25l-202.972-54.612c-3.073-0.826-3.802-4.938-1.12-6.653c23.044-14.739,93.702-20.585,109.852-21.746 c1.896-0.136,3.338-1.719,3.379-3.621c3.605-165.218,53.279-262.831,74.234-296.862c2.104-3.418,7.335-1.415,6.754,2.557 c-33.875,232.386,3.118,347.954,14.281,376.037C492.688,510.161,490.085,513.037,487.164,512.25z']\r\n }\r\n campaigns = {\r\n name: 'campaigns',\r\n route: 'Campaigns',\r\n translate: 'Header.Campaigns',\r\n active: false,\r\n badge: 0,\r\n order: 14,\r\n icon: ['M3 3v1.5M3 21v-6m0 0l2.77-.693a9 9 0 016.208.682l.108.054a9 9 0 006.086.71l3.114-.732a48.524 48.524 0 01-.005-10.499l-3.11.732a9 9 0 01-6.085-.711l-.108-.054a9 9 0 00-6.208-.682L3 4.5M3 15V4.5']\r\n }\r\n assets = {\r\n name: 'assets',\r\n route: 'Assets',\r\n translate: 'Header.Assets',\r\n active: false,\r\n badge: 0,\r\n order: 15,\r\n icon: ['M15 10.5a3 3 0 11-6 0 3 3 0 016 0z', 'M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z']\r\n }\r\n service = {\r\n name: 'service',\r\n route: 'Service',\r\n translate: 'Header.Service',\r\n active: false,\r\n badge: 0,\r\n order: 16,\r\n icon: ['M15 10.5a3 3 0 11-6 0 3 3 0 016 0z', 'M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z']\r\n }\r\n outbox = {\r\n name: 'outbox',\r\n route: 'Outbox',\r\n translate: 'Standard.Transfers',\r\n active: false,\r\n badge: 0,\r\n order: 18,\r\n icon: ['M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5']\r\n }\r\n bi = {\r\n name: 'bi',\r\n route: 'BI',\r\n translate: 'Standard.BI',\r\n active: false,\r\n badge: 0,\r\n order: 19,\r\n icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n }\r\n requisition = {\r\n name: 'requisition',\r\n route: 'Requisitions',\r\n translate: 'Standard.Requisitions',\r\n active: false,\r\n badge: 0,\r\n order: 20,\r\n icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n }\r\n reports = {\r\n name: 'reports',\r\n route: 'Reports',\r\n translate: 'Header.Reports',\r\n active: false,\r\n badge: 0,\r\n order: 21,\r\n icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n }\r\n profile = {\r\n name: 'profile',\r\n route: 'Settings/MyDetails',\r\n translate: 'Settings.MyDetails',\r\n active: false,\r\n badge: 0,\r\n order: 22,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n settings = {\r\n name: 'settings',\r\n route: 'Settings/Company',\r\n translate: 'Header.Settings',\r\n active: false,\r\n badge: 0,\r\n order: 23,\r\n icon: ['M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z', 'M15 12a3 3 0 11-6 0 3 3 0 016 0z']\r\n }\r\n}\r\n\r\nexport class SettingsItems {\r\n company = {\r\n name: 'company',\r\n route: 'Settings/Company',\r\n translate: 'Settings.Company',\r\n active: false,\r\n badge: 0,\r\n order: 1,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n users = {\r\n name: 'users',\r\n route: 'Settings/Users',\r\n translate: 'Settings.Users',\r\n active: false,\r\n badge: 0,\r\n order: 2,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n setup = {\r\n name: 'setup',\r\n route: 'Settings/Setup',\r\n translate: 'Standard.Setup',\r\n active: false,\r\n badge: 0,\r\n order: 3,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n partners = {\r\n name: 'partners',\r\n route: 'Settings/Partners',\r\n translate: 'Standard.Partner',\r\n active: false,\r\n badge: 0,\r\n order: 4,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n customForms = {\r\n name: 'customForms',\r\n route: 'Settings/CustomForms',\r\n translate: 'Settings.CustomForms',\r\n active: false,\r\n badge: 0,\r\n order: 5,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n presenter = {\r\n name: 'presenter',\r\n route: 'Settings/Presenter',\r\n translate: 'Settings.Presentations',\r\n active: false,\r\n badge: 0,\r\n order: 6,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n notifications = {\r\n name: 'notifications',\r\n route: 'Settings/Notifications',\r\n translate: 'Settings.Notifications',\r\n active: false,\r\n badge: 0,\r\n order: 7,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n systemNotifications = {\r\n name: 'systemNotifications',\r\n route: 'Settings/System-notifications',\r\n translate: 'Settings.SystemNotifications',\r\n active: false,\r\n badge: 0,\r\n order: 8,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n booking = {\r\n name: 'booking',\r\n route: 'Settings/Booking',\r\n translate: 'Settings.Booking',\r\n active: false,\r\n badge: 0,\r\n order: 9,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n workingHours = {\r\n name: 'workingHours',\r\n route: 'Settings/WorkingHours',\r\n translate: 'Settings.WorkHours',\r\n active: false,\r\n badge: 0,\r\n order: 10,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n packages = {\r\n name: 'packages',\r\n route: 'Settings/Packages',\r\n translate: 'Settings.Packages',\r\n active: false,\r\n badge: 0,\r\n order: 11,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n categories = {\r\n name: 'categories',\r\n route: 'Settings/Categories',\r\n translate: 'Settings.Categories',\r\n active: false,\r\n badge: 0,\r\n order: 12,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n price = {\r\n name: 'price',\r\n route: 'Settings/Price',\r\n translate: 'Settings.PriceProfit',\r\n active: false,\r\n badge: 0,\r\n order: 13,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n startpage = {\r\n name: 'startpage',\r\n route: 'Settings/Startpage',\r\n translate: 'BookingSettings.StartPage.Title',\r\n active: false,\r\n badge: 0,\r\n order: 14,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n ourLocations = {\r\n name: 'ourLocations',\r\n route: 'Settings/OurLocations',\r\n translate: 'Standard.OurLocations',\r\n active: false,\r\n badge: 0,\r\n order: 15,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n subscription = {\r\n name: 'subscription',\r\n route: 'Settings/Subscription',\r\n translate: 'Settings.YourSubscription',\r\n active: false,\r\n badge: 0,\r\n order: 16,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n distributor = {\r\n name: 'distributor',\r\n route: 'Settings/Distributor',\r\n translate: 'Settings.Partners',\r\n active: false,\r\n badge: 0,\r\n order: 17,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n gdpr = {\r\n name: 'gdpr',\r\n route: 'Settings/Gdpr',\r\n translate: 'GDPR',\r\n active: false,\r\n badge: 0,\r\n order: 18,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n klarpris = {\r\n name: 'klarpris',\r\n route: 'Settings/Integrations/KlarPris',\r\n translate: 'Integrations.Klarpris',\r\n active: false,\r\n badge: 0,\r\n order: 19,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n scalepoint = {\r\n name: 'scalepoint',\r\n route: 'Settings/Integrations/Scalepoint',\r\n translate: 'Integrations.Scalepoint',\r\n active: false,\r\n badge: 0,\r\n order: 20,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n requisitions = {\r\n name: 'requisitions',\r\n route: 'Settings/Requisitions',\r\n translate: 'Standard.Requisitions',\r\n active: false,\r\n badge: 0,\r\n order: 21,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n minuba = {\r\n name: 'minuba',\r\n route: 'Settings/Integrations/Minuba',\r\n translate: 'Integrations.Minuba',\r\n active: false,\r\n badge: 0,\r\n order: 22,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n ekomplet = {\r\n name: 'ekomplet',\r\n route: 'Settings/Integrations/E-Komplet',\r\n translate: 'Integrations.e-komplet',\r\n active: false,\r\n badge: 0,\r\n order: 23,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n ordrestyring = {\r\n name: 'ordrestyring',\r\n route: 'Settings/Integrations/OS',\r\n translate: 'Integrations.Ordrestyring',\r\n active: false,\r\n badge: 0,\r\n order: 24,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n bewise = {\r\n name: 'bewise',\r\n route: 'Settings/Integrations/Bewise',\r\n translate: 'Bewise',\r\n active: false,\r\n badge: 0,\r\n order: 25,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n templates = {\r\n name: 'templates',\r\n route: 'Settings/Templates',\r\n translate: 'Standard.Templates',\r\n active: false,\r\n badge: 0,\r\n order: 25,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n}\r\n\r\nexport class JubloSettingsItems {\r\n pdfDesigner = {\r\n name: 'pdfDesigner',\r\n route: 'Settings/Pdf-design',\r\n translate: 'PDF designer',\r\n active: false,\r\n badge: 0,\r\n order: 1,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n cssDesigner = {\r\n name: 'cssDesigner',\r\n route: 'Settings/Designer',\r\n translate: 'CSS Designer',\r\n active: false,\r\n badge: 0,\r\n order: 2,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n modules = {\r\n name: 'modules',\r\n route: 'Settings/Jublo/Modules',\r\n translate: 'Moduler',\r\n active: false,\r\n badge: 0,\r\n order: 3,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n newReports = {\r\n name: 'newReports',\r\n route: 'newReports/Offer',\r\n translate: 'Nye rapporter (ikke færdig)',\r\n active: false,\r\n badge: 0,\r\n order: 4,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n customForms = {\r\n name: 'customForms',\r\n route: 'Settings/CustomForms',\r\n translate: 'Settings.CustomForms',\r\n active: false,\r\n badge: 0,\r\n order: 5,\r\n icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n }\r\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport * as api from '../../shared/api/apihandler';\r\n\r\nexport class TopBarFunctions {\r\n constructor(private http:HttpClient){}\r\n\r\n superSearch(searchValue:string){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.post(api.jubloApi + 'api/Search', {'searchValue':searchValue},{headers})\r\n }\r\n\r\n static transformSearchResults(result: OriginalSearchResult[]): SuperSearchResults[] {\r\n return result.map(obj => {\r\n return {\r\n searchScore: obj['@search.score'],\r\n caseId: obj.CaseId,\r\n title: obj.Title,\r\n description: obj.Description,\r\n companyId: obj.CompanyId,\r\n offerId: obj.OfferId,\r\n offerTitle: obj.OfferTitle,\r\n offerDescription: obj.OfferDescription,\r\n technicalDescription: obj.TechnicalDescription,\r\n disclaimer: obj.Disclaimer,\r\n offerNumber: obj.OfferNumber,\r\n caseNumber: obj.CaseNumber,\r\n customerId: obj.CustomerId,\r\n name: obj.Name,\r\n address: obj.Address,\r\n city: obj.City,\r\n zipCode: obj.ZipCode,\r\n customerName: obj.customerName,\r\n customerAddress: obj.customerAddress,\r\n customerZipCode: obj.customerZipCode,\r\n customerCity: obj.customerCity\r\n };\r\n })\r\n };\r\n\r\n reportIssue(reportForm:JubloIssueReportForm){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.post(api.jubloApi + `api/Website/Support`, reportForm, { headers })\r\n }\r\n}\r\n\r\nexport class OriginalSearchResult {\r\n \"@search.score\": number;\r\n CaseId: string;\r\n Title: string | null;\r\n Description: string | null;\r\n CompanyId: string | null;\r\n OfferId: string | null;\r\n OfferTitle: string | null;\r\n OfferDescription: string | null;\r\n TechnicalDescription: string | null;\r\n Disclaimer: string | null;\r\n OfferNumber: number | null;\r\n CaseNumber: string | null;\r\n CustomerId: string | null;\r\n Name: string | null;\r\n Address: string | null;\r\n City: string | null;\r\n ZipCode: string | null;\r\n customerName: string | null;\r\n customerAddress: string | null;\r\n customerZipCode: string | null;\r\n customerCity: string | null;\r\n }\r\n\r\nexport class SuperSearchResults {\r\n searchScore: number;\r\n caseId: string;\r\n title: string | null;\r\n description: string | null;\r\n companyId: string | null;\r\n offerId: string | null;\r\n offerTitle: string | null;\r\n offerDescription: string | null;\r\n technicalDescription: string | null;\r\n disclaimer: string | null;\r\n offerNumber: number | null;\r\n caseNumber: string | null;\r\n customerId: string | null;\r\n name: string | null;\r\n address: string | null;\r\n city: string | null;\r\n zipCode: string | null;\r\n customerName: string | null;\r\n customerAddress: string | null;\r\n customerZipCode: string | null;\r\n customerCity: string | null;\r\n}\r\n\r\nexport class JubloIssueReportForm {\r\n title: string = '';\r\n message: string = '';\r\n notificationSetId: string = 'D3F83DF6-6ED4-416E-AA80-6D124380FEF7';\r\n disableNotification: boolean = true;\r\n isAdmin:boolean;\r\n userId:string | null = null;\r\n companyId:string;\r\n packageDistributorId:string;\r\n stageId:string;\r\n}","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { SharedDataService, StakeholderMessages } from 'app/shared/services/shared-data.service';\r\nimport { CompanyInformation } from 'app/shared-html-components/details/models';\r\nimport { ColorList } from './topbarData';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { Companies } from '../navbar/navbar.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActivatedRoute, Router, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { JubloIssueReportForm, OriginalSearchResult, SuperSearchResults, TopBarFunctions } from './topbar-function';\r\nimport { UserService } from 'app/shared/services/user.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { SearchContext } from 'app/shared/models/user.models';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n selector: 'app-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.css']\r\n})\r\nexport class TopbarComponent implements OnInit, OnDestroy {\r\n @Input() menuFull;\r\n @Output() loginStatus = new EventEmitter<boolean>();\r\n f = new TopBarFunctions(this.http);\r\n userInfo;\r\n compInfo: CompanyInformation;\r\n multipleCompanies: Array<Companies>;\r\n messages: Array<StakeholderMessages>;\r\n newsec = false;\r\n messageBadge = 0;\r\n showUserSwitch:boolean = false;\r\n reportForm = new JubloIssueReportForm();\r\n subs: SubscriptionObject = {}\r\n\r\n constructor(\r\n private sharedData: SharedDataService, \r\n private http: HttpClient, \r\n private translate: TranslateService, \r\n private sanitizer: DomSanitizer, \r\n private router: Router, \r\n private route: ActivatedRoute,\r\n public user: UserService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.subs['companyInformation'] = this.sharedData.companyInformation().subscribe(data => {\r\n if (!!data) {\r\n this.compInfo = data;\r\n this.newsec = this.compInfo.companyNumber == 32523 || this.compInfo.companyNumber == 33469 || this.compInfo.companyNumber == 33661;\r\n this.getUserCompanies();\r\n }\r\n });\r\n this.subs['user'] = this.user.user().subscribe({\r\n next:(data)=> { this.userInfo = data },\r\n error:(err) => console.error('User data could not be loaded', err)\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n for(let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n }\r\n\r\n getUserCompanies() {\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get(api.jubloApi + 'api/WebSite/Company/User/GetUserCompanies/', { headers }).subscribe((data: Array<Companies>) => {\r\n if (data != null) {\r\n this.multipleCompanies = data.filter(x => x.companyId != this.compInfo.id);\r\n }\r\n });\r\n }\r\n\r\n getAlertMessagesToStakeholder() {\r\n this.sharedData.StakeholderMessages().subscribe((data: any) => {\r\n if (!!data && data != undefined) {\r\n this.messages = data.sort((a, b) => { return a.createdAt > b.createdAt ? -1 : 1 });\r\n for (let x of this.messages) {\r\n if (typeof(x.message) == 'string') {\r\n let m = x.message.split(' ');\r\n let message = '';\r\n for (let s of m) { \r\n message = message + (!!s ? this.translate.instant(s) : '') + ' '; \r\n }\r\n x.message = this.sanitizer.bypassSecurityTrustHtml( message);\r\n x.cleanMessage = !!x.message && !!x.message.changingThisBreaksApplicationSecurity ? x.message.changingThisBreaksApplicationSecurity.replace(' ',' ').split('<br>').join('\\n').replace(/(<([^>]+)>)/gi, \"\") : '';\r\n x.since = this.timeSince(this.convertUTCDateToLocalDate(new Date(x.createdAt)));\r\n if (x.seenAt == null) { this.messageBadge = this.messageBadge + 1; }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n convertUTCDateToLocalDate(date) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var offset = date.getTimezoneOffset() / 60;\r\n var hours = date.getHours();\r\n newDate.setHours(hours - offset);\r\n return newDate; \r\n }\r\n\r\n timeSince(value: any): any {\r\n if (value) {\r\n const seconds = Math.floor((+new Date() - +new Date(value)) / 1000);\r\n if (seconds < 29) // less than 30 seconds ago will show as 'Just now'\r\n return 'Lige nu';\r\n const intervals = {\r\n 'år': 31536000,\r\n 'måned': 2592000,\r\n 'uge': 604800,\r\n 'dag': 86400,\r\n 'time': 3600,\r\n 'minut': 60,\r\n 'sekunder': 1\r\n };\r\n let counter;\r\n for (const i in intervals) {\r\n counter = Math.floor(seconds / intervals[i]);\r\n if (counter > 0) {\r\n if (counter === 1 || i == 'sekunder' || i == 'år') {\r\n return counter + ' ' + i + ' siden';\r\n } else {\r\n if (i == 'måned') {\r\n return counter + ' ' + i + 'er siden';\r\n }\r\n if (i == 'dag') {\r\n return counter + ' ' + i + 'e siden';\r\n }\r\n if (i == 'minut') {\r\n return counter + ' ' + i + 'ter siden';\r\n }\r\n if (i == 'uge' || i == 'time') {\r\n return counter + ' ' + i + 'r siden';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n findColor(type) {\r\n switch (type) {\r\n case 'b':{\r\n if (!!this.userInfo && !!this.userInfo.name && !!ColorList.colors[this.userInfo.name.slice(0,1)]) {\r\n return ColorList.colors[this.userInfo.name.slice(0,1).toUpperCase()].background;\r\n } else {\r\n return '#1F539F';\r\n }}\r\n default:\r\n if (!!this.userInfo && !!this.userInfo.name && !!ColorList.colors[this.userInfo.name.slice(0,1)]) {\r\n return ColorList.colors[this.userInfo.name.slice(0,1).toUpperCase()].color;\r\n } else {\r\n return 'white';\r\n }\r\n }\r\n }\r\n\r\n keyPressIgnore(event:KeyboardEvent){\r\n if(['Enter', 'ArrowUp', 'ArrowDown'].includes(event.key)) event.preventDefault();\r\n }\r\n\r\n changeCompany(c) {\r\n localStorage.clear();\r\n this.sharedData.clearAll();\r\n this.router.navigate(['login/accessToken/' + c.stakeholderId]);\r\n }\r\n\r\n logout(){\r\n this.loginStatus.emit(false);\r\n localStorage.clear();\r\n this.sharedData.clearAll();\r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n sendIssueReport(){\r\n this.reportForm.stageId = 'cb12af15-3464-40a5-9603-a229b351c5d7'; \r\n this.f.reportIssue({...this.reportForm, disableNotification: !this.reportForm.disableNotification }).subscribe({\r\n error:(err) => console.error('Could not report issue', err),\r\n complete:() => {\r\n this.reportForm = new JubloIssueReportForm();\r\n }\r\n })\r\n }\r\n}\r\n\r\n\r\n","<div id=\"jublo-topbar\" class=\"topBarContent flex-between\">\r\n <div class=\"p-0\">\r\n <breadcrumb></breadcrumb>\r\n </div>\r\n <div class=\"p-0 topBarColRight position-relative\">\r\n <div class=\"userSwitch w-100 position-absolute flex-column gap-1 p-0\" [ngStyle]=\"{'display': showUserSwitch ? 'flex' : 'none' }\">\r\n <!-- Profile -->\r\n\r\n <!-- User Switch -->\r\n <div class=\"d-flex gap-3 align-items-center p-3\" *ngFor=\"let x of multipleCompanies\" (click)=\"changeCompany(x); showUserSwitch = false;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n </svg>\r\n <div>{{ x.companyName }}</div>\r\n </div>\r\n <!-- Report Issue -->\r\n <div class=\"w-100 border-top p-3 d-flex gap-3 align-items-center\" data-toggle=\"modal\" data-target=\"#jubloIssueReportModal\" (click)=\"showUserSwitch = false;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\r\n </svg>\r\n {{ 'Support.ReportIssue' | translate }}\r\n </div>\r\n <div class=\"w-100 border-top d-flex gap-3 p-3\" (click)=\"logout(); showUserSwitch = false;\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75\" />\r\n </svg> \r\n {{ 'Header.LogOut' | translate }}\r\n </div>\r\n </div>\r\n <div (click)=\"showUserSwitch = !showUserSwitch\">\r\n <button class=\"btn btn-circle\" [style.backgroundColor]=\"findColor('b')\" [style.color]=\"findColor('c')\">{{ user.getInitials(userInfo?.name) }}</button>\r\n </div>\r\n <div class=\"d-none d-md-flex flex-column ml-2 cursor-pointer\" (click)=\"showUserSwitch = !showUserSwitch\">\r\n <div class=\"userName\" *ngIf=\"!!userInfo\">{{ userInfo.name.length > 16 ? ((userInfo.name | slice:0:16) + '...') : userInfo.name }}</div>\r\n <div class=\"companyName\" *ngIf=\"!!compInfo && !!compInfo.name\">{{ compInfo.name.length > 17 ? ((compInfo.name | slice:0:17) + '...') : compInfo.name }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div id=\"jubloIssueReportModal\" class=\"modal fade\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"d-flex align-items-center gap-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\r\n </svg>\r\n {{ 'Support.ReportIssue' | translate }}\r\n </h5>\r\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M1 11L11 1M1 1L11 11\" stroke=\"black\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"modal-body d-flex flex-column gap-3\" *ngIf=\"userInfo\">\r\n <div class=\"card\">\r\n <div class=\"card-body bg-grey d-flex flex-column gap-3\">\r\n <div class=\"font-weight-bold\">{{ 'Support.ReportedAs' | translate }}</div>\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <button class=\"btn btn-circle\" [style.backgroundColor]=\"findColor('b')\" [style.color]=\"findColor('c')\">{{ userInfo?.name | slice:0:1 }}</button>\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"userName\" *ngIf=\"!!userInfo\">{{ userInfo.name }}</div>\r\n <div class=\"companyName\" *ngIf=\"!!compInfo && !!compInfo.name\">{{ compInfo.name }}</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 align-items-center\">\r\n <div class=\"d-flex gap-1 align-items-center\">\r\n <div class=\"font-weight-bold text-small\">{{ 'Standard.Email' | translate }}:</div>\r\n <div>{{ userInfo.email }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column gap-1\">\r\n <div>{{ 'Message.Subject' | translate }}</div>\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"reportForm.title\" placeholder=\"{{ 'Message.Subject' | translate }}\">\r\n </div>\r\n <div class=\"d-flex flex-column gap-1\">\r\n <div>{{ 'Standard.Description' | translate }}</div>\r\n <textarea cols=\"30\" rows=\"10\" class=\"form-control\" [(ngModel)]=\"reportForm.message\" placeholder=\"{{ 'Support.DescribeIssue' | translate }}\"></textarea>\r\n </div>\r\n <div class=\"form-check form-switch\">\r\n <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [(ngModel)]=\"reportForm.disableNotification\" id=\"getIssueNotifications\">\r\n <label class=\"form-check-label\" for=\"getIssueNotifications\">{{ 'Support.RecieveNotificationsOnActivity' | translate }}</label>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer justify-content-end gap-3\">\r\n <button class=\"btn btn-secondary\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"sendIssueReport()\" [disabled]=\"!reportForm.message\">{{ 'Buttons.Send' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","interface ColorDefinition {\r\n background: string;\r\n color: string;\r\n}\r\n\r\nexport class ColorList {\r\n static colors: Record<string, ColorDefinition> = {\r\n 'A': { background: '#9FA8DA', color: 'white' },\r\n 'B': { background: '#6EBAF7', color: 'white' },\r\n 'C': { background: '#5ECBD9', color: 'white' },\r\n 'D': { background: '#5CBCB3', color: 'white' },\r\n 'E': { background: '#78CE7C', color: 'white' },\r\n 'F': { background: '#6EBAF7', color: 'white' },\r\n 'G': { background: '#B4B3A2', color: 'white' },\r\n 'H': { background: '#B4B3A2', color: 'white' },\r\n 'I': { background: '#6994BF', color: 'white' },\r\n 'J': { background: '#F0AA75', color: 'white' },\r\n 'K': { background: '#BCAAA4', color: 'white' },\r\n 'L': { background: '#8C9EFF', color: 'white' },\r\n 'M': { background: '#5CBCB3', color: 'white' },\r\n 'N': { background: '#6994BF', color: 'white' },\r\n 'O': { background: '#78CE7C', color: 'white' },\r\n 'P': { background: '#9FA8DA', color: 'white' },\r\n 'Q': { background: '#78CE7C', color: 'white' },\r\n 'R': { background: '#8C9EFF', color: 'white' },\r\n 'S': { background: '#BCAAA4', color: 'white' },\r\n 'T': { background: '#8C9EFF', color: 'white' },\r\n 'U': { background: '#F0AA75', color: 'white' },\r\n 'V': { background: '#5CBCB3', color: 'white' },\r\n 'W': { background: '#6EBAF7', color: 'white' },\r\n 'X': { background: '#78CE7C', color: 'white' },\r\n 'Y': { background: '#F0AA75', color: 'white' },\r\n 'Z': { background: '#5ECBD9', color: 'white' },\r\n 'Æ': { background: '#9FA8DA', color: 'white' },\r\n 'Ø': { background: '#6EBAF7', color: 'white' },\r\n 'Å': { background: '#5ECBD9', color: 'white' },\r\n '0': { background: '#9FA8DA', color: 'white' },\r\n '1': { background: '#6EBAF7', color: 'white' },\r\n '2': { background: '#5ECBD9', color: 'white' },\r\n '3': { background: '#5CBCB3', color: 'white' },\r\n '4': { background: '#78CE7C', color: 'white' },\r\n '5': { background: '#6EBAF7', color: 'white' },\r\n '6': { background: '#B4B3A2', color: 'white' },\r\n '7': { background: '#B4B3A2', color: 'white' },\r\n '8': { background: '#6994BF', color: 'white' },\r\n '9': { background: '#F0AA75', color: 'white' }\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { SharedDataService } from 'app/shared/services/shared-data.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CustomerList } from 'app/customers/customer-card/customer-card.component';\r\nimport { ColorList } from 'app/bars/topbar/topbarData';\r\nimport { parsePhoneNumberFromString, PhoneNumber } from 'libphonenumber-js';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { CompanyInformation } from '../../shared-html-components/details/models';\r\n\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { AddCustomer } from 'app/customers/customer-models';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\nimport { DAWA } from 'app/shared/utilities/dawa';\r\n\r\n@Component({\r\n selector: 'case-customer',\r\n templateUrl: './case-customer.component.html',\r\n styleUrls: ['./case-customer.component.css']\r\n})\r\nexport class CaseCustomerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input() step: string = 'final';\r\n @Input() propertyId: string | null = null;\r\n @Output() stepChange = new EventEmitter();\r\n @Input() do: any;\r\n @Input() newCaseCustomer;\r\n @Input() customerId: string;\r\n @Input() deliveryId: string;\r\n @Input() contactId: string;\r\n @Output() choose = new EventEmitter();\r\n @Output() com = new EventEmitter();\r\n @Output() update = new EventEmitter();\r\n @Output() listener = new EventEmitter();\r\n allCustomers: Array<CustomerList>;\r\n shownCustomers: Array<CustomerList>;\r\n deliveryAddresses: any;\r\n contactdeliveryAddresses: any;\r\n searchVal: string = '';\r\n companyInfo;\r\n @Input() deliveryToCase: AddCustomer;\r\n\r\n descending: boolean = false;\r\n startIndex: number = 0;\r\n endIndex: number = 30;\r\n who: string = '';\r\n searchAmount: number = 60;\r\n scrollDistance: number = 1;\r\n scrollUpDistance: number = 2;\r\n throttle: number = 150;\r\n modelChanged: Subject<string> = new Subject<string>();\r\n debounceTime: number = 500;\r\n subs: SubscriptionObject = {};\r\n\r\n newDelivery: boolean = false;\r\n newContact: boolean = false;\r\n deliverySearch: string = '';\r\n contactSearch: string = '';\r\n options = new CustomerOptions();\r\n highlightedCustomer: any;\r\n\r\n constructor(private http: HttpClient, private sharedData: SharedDataService) { }\r\n\r\n ngOnInit(): void {\r\n this.getCustomers(this.startIndex, this.endIndex);\r\n this.subs['modelChanged'] = this.modelChanged.pipe(debounceTime(this.debounceTime)).subscribe(() => { this.searchCustomers(); });\r\n this.subs['companyInformation'] = this.sharedData.companyInformation().subscribe((data: CompanyInformation) => this.companyInfo = data );\r\n }\r\n\r\n ngOnChanges(change: SimpleChanges) {\r\n // console.log(change);\r\n // console.log(this.options);\r\n if (!!change && !!change.do && !!change.do.currentValue) {\r\n if (!this.newCaseCustomer) {\r\n switch (change.do.currentValue) {\r\n case ('reset'): {\r\n this.options = new CustomerOptions();\r\n break;\r\n }\r\n case ('createCustomer'): {\r\n this.addCustomer();\r\n break;\r\n }\r\n case ('resetNewDelivery'): {\r\n this.options.delivery = null;\r\n break;\r\n }\r\n case ('resetNewContact'): {\r\n this.options.contact = null;\r\n break;\r\n }\r\n case ('chooseCustomer'): {\r\n if (this.options.leases == null || this.options.leases.length == 0) {\r\n this.stepChange.emit('final')\r\n }\r\n break;\r\n }\r\n case ('chooseDelivery'): {\r\n if (this.options.delivery.deliveryId == null) {\r\n this.addNewDeliveryAddress(this.options.delivery);\r\n }\r\n else {\r\n this.editDeliveryAddress(this.options.delivery);\r\n }\r\n break;\r\n }\r\n case ('chooseContact'): {\r\n if (this.options.contact.id == null) {\r\n this.addNewContactAddress(this.options.contact);\r\n }\r\n else {\r\n this.editContactAddress(this.options.contact);\r\n }\r\n break;\r\n }\r\n case ('editCustomer'): {\r\n this.saveEditedCustomer();\r\n break;\r\n }\r\n case ('back'): {\r\n break;\r\n }\r\n case ('removeContact'): {\r\n this.options.contact = null;\r\n this.updateCustomer()\r\n break;\r\n }\r\n }\r\n }\r\n else { }\r\n this.do = null;\r\n this.updateCustomer();\r\n }\r\n if (!!change && change.customerId && !!change.customerId.currentValue && change.customerId.currentValue != change.customerId.previousValue) {\r\n this.highlightedCustomer = change.customerId.currentValue;\r\n this.getCustomerById();\r\n this.getPropertyLeasesById();\r\n }\r\n if (!!change && change.notification && !!change.notification.currentValue) {\r\n this.options.notificationAddress = change.notification.currentValue;\r\n }\r\n if (!!change && change.deliveryId && !!change.deliveryId.currentValue && change.deliveryId.currentValue != change.deliveryId.previousValue && this.options.filteredDelivery.length != 0) {\r\n //console.log('deliveryId', change.deliveryId.currentValue)\r\n this.options.delivery = this.options.filteredDelivery.find(x => x.deliveryId == change.deliveryId.currentValue);\r\n }\r\n if (!!change && change.contactId && !!change.contactId.currentValue && change.contactId.currentValue != change.contactId.previousValue && this.options.filteredContacts.length != 0) {\r\n //console.log('contact', change.contactId.currentValue)\r\n this.options.contact = this.options.filteredContacts.find(x => x.id == change.contactId.currentValue)\r\n }\r\n if (!!change && change.newCaseCustomer && !!change.newCaseCustomer.currentValue) {\r\n this.options = new CustomerOptions();\r\n this.updateCustomer();\r\n }\r\n if (!!change && change.deliveryToCase && !!change.deliveryToCase.currentValue) {\r\n let c = new SingleCustomer();\r\n c.customerName = this.deliveryToCase.customerName;\r\n c.invoiceName = this.deliveryToCase.invoiceName;\r\n c.customerAddress = this.deliveryToCase.customerAddress;\r\n c.invoiceAddress = this.deliveryToCase.invoiceAddress;\r\n c.customerZipCode = this.deliveryToCase.customerZipCode;\r\n c.invoiceZipCode = this.deliveryToCase.invoiceZipCode;\r\n c.customerCity = this.deliveryToCase.customerCity;\r\n c.invoiceCity = this.deliveryToCase.invoiceCity;\r\n c.customerPhone = this.deliveryToCase.customerTelephone;\r\n c.invoicePhone = this.deliveryToCase.invoiceTelephone;\r\n c.customerMobile = this.deliveryToCase.customerMobile;\r\n c.invoiceMobile = this.deliveryToCase.invoiceMobile;\r\n c.customerMail = this.deliveryToCase.customerEmail;\r\n c.invoiceEmail = this.deliveryToCase.invoiceEmail\r\n this.options.customer = c;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n for(let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n }\r\n\r\n getCustomers(start: number, stop: number) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersPagination/' + start.toString() + '/' + stop.toString(), { headers }).subscribe({\r\n next: (data) => { this.allCustomers = data; },\r\n error: err => console.error(err),\r\n complete: () => {\r\n if (!!this.allCustomers) {\r\n this.sortCustomers(this.endIndex);\r\n }\r\n }\r\n });\r\n }\r\n\r\n getCustomerSearch() {\r\n if (this.who != '') {\r\n if (this.propertyId == null) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersSearch/' + this.who + '/' + this.searchAmount, { headers }).subscribe({\r\n next: (data) => { console.log(data); this.allCustomers = data; }\r\n });\r\n }\r\n } else {\r\n if (this.propertyId == null) {\r\n this.startIndex = 0; this.endIndex = 50;\r\n this.getCustomers(this.startIndex, this.endIndex);\r\n }\r\n }\r\n }\r\n\r\n searchCustomers() {\r\n if (this.searchVal.length < 3) {\r\n this.getCustomers(0, 30);\r\n } else {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersSearch/' + this.searchVal + '/50', { headers }).subscribe({\r\n next: (data) => { console.log(data); this.allCustomers = data; },\r\n error: err => console.error(err),\r\n complete: () => {\r\n if (!!this.allCustomers) {\r\n this.sortCustomers(this.endIndex);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n sortCustomers(end: number) {\r\n let multi = this.descending ? 1 : -1;\r\n this.shownCustomers = this.allCustomers.sort((a, b) => a.name?.toLowerCase() < b.name?.toLowerCase() ? (-1 * multi) : (1 * multi)).slice(0, end);\r\n }\r\n\r\n inputChanged() {\r\n this.modelChanged.next(\"Searching\");\r\n }\r\n\r\n chooseCustomer(customer) {\r\n if(!!this.options.customer && !!this.options.customer.customerId){\r\n this.options = new CustomerOptions();\r\n }\r\n this.options.customer = customer;\r\n this.highlightedCustomer = customer;\r\n this.getCustomerById();\r\n this.getPropertyLeasesById();\r\n }\r\n\r\n chooseDelivery(delivery) {\r\n this.options.delivery = delivery;\r\n this.stepChange.emit('final');\r\n this.choose.emit(this.options);\r\n this.updateCustomer();\r\n }\r\n\r\n chooseContact(contact) {\r\n this.options.contact = contact;\r\n this.stepChange.emit('final');\r\n this.choose.emit(this.options);\r\n }\r\n\r\n onScrollDown() {\r\n if (this.who == '') {\r\n this.startIndex += 25;\r\n this.endIndex += 25;\r\n this.getCustomers(this.startIndex, this.endIndex);\r\n } else {\r\n this.searchAmount = this.searchAmount + 25\r\n this.getCustomerSearch();\r\n }\r\n }\r\n\r\n onDeliverySearch() {\r\n let s = this.deliverySearch.toLowerCase();\r\n this.options.filteredDelivery = this.options.customer.addresses.filter(\r\n x => x.customerName != null && x.customerName.toLowerCase().match(s) ||\r\n x.customerAddress != null && x.customerAddress.toLowerCase().match(s) ||\r\n x.customerCity != null && x.customerCity.toLowerCase().match(s) ||\r\n x.customerMail != null && x.customerMail.toLowerCase().match(s) ||\r\n x.customerZipCode != null && x.customerZipCode.match(s) ||\r\n x.customerPhone != null && x.customerPhone.match(s) ||\r\n x.customerMobile != null && x.customerMobile.match(s)\r\n )\r\n }\r\n\r\n addCustomer() {\r\n let c = this.options.customer;\r\n let customerPhone = c.customerPhone != null && c.customerPhone != '' ? parsePhoneNumberFromString(c.customerPhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let invoicePhone = c.invoicePhone != null && c.invoicePhone != '' ? parsePhoneNumberFromString(c.invoicePhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let customerMobilePhone = c.customerMobile != null && c.customerMobile != '' ? parsePhoneNumberFromString(c.customerMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let invoiceMobilePhone = c.invoiceMobile != null && c.invoiceMobile != '' ? parsePhoneNumberFromString(c.invoiceMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.http.post<string>(api.jubloApi + 'api/Website/Customer/AddCustomer', {\r\n companyId: this.companyInfo.id,\r\n number: null,\r\n customerName: c.customerName,\r\n customerAddress: c.customerAddress,\r\n customerZipCode: c.customerZipCode,\r\n customerCity: c.customerCity,\r\n customerTelephone: customerPhone,\r\n customerFax: '',\r\n customerEmail: c.customerMail,\r\n customerMobile: customerMobilePhone,\r\n invoiceName: c.invoiceName,\r\n invoiceAddress: c.invoiceAddress,\r\n invoiceZipCode: c.invoiceZipCode,\r\n invoiceCity: c.invoiceCity,\r\n invoiceTelephone: invoicePhone,\r\n invoiceFax: '',\r\n invoiceEmail: c.invoiceEmail,\r\n invoiceMobile: invoiceMobilePhone,\r\n customerGroupExternalId: null,\r\n cvr: c.cvr,\r\n att: c.att,\r\n ean: c.ean,\r\n customerRemarks: '',\r\n externalId: null\r\n }, { headers }).subscribe({\r\n next: (data) => {\r\n this.options.customer.customerId = data;\r\n },\r\n error: err => console.error(err),\r\n complete: () => {\r\n if (!!this.options.delivery && !!this.options.delivery.deliveryId) {\r\n this.options.delivery.deliveryId = null;\r\n this.addNewDeliveryAddress(this.options.delivery);\r\n }\r\n\r\n if (!!this.options.contact && !!this.options.contact.id) {\r\n this.options.contact.id = null;\r\n this.addNewContactAddress(this.options.contact);\r\n }\r\n this.updateCustomer();\r\n }\r\n });\r\n }\r\n\r\n addNewDeliveryAddress(x: DeliveryAddress) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.http.post(api.jubloApi + 'api/Website/Customer/AddDeliveryAddress', {\r\n customerId: this.options.customer.customerId,\r\n name: x.customerName,\r\n address: x.customerAddress,\r\n zipCode: x.customerZipCode,\r\n city: x.customerCity,\r\n telephone: x.customerPhone,\r\n mobile: x.customerMobile,\r\n email: x.customerMail,\r\n ean: '',\r\n att: ''\r\n }, { headers }).subscribe(\r\n (data: string) => {\r\n this.options.customer.deliveryId = data;\r\n this.options.delivery.deliveryId = data;\r\n this.updateCustomer();\r\n },\r\n (response) => { },\r\n () => { }\r\n )\r\n }\r\n\r\n editDeliveryAddress(x: DeliveryAddress) {\r\n let phone: PhoneNumber = x.customerPhone != null && x.customerPhone != '' ? parsePhoneNumberFromString(x.customerPhone, this.companyInfo.companyLanguage.slice(3)) : null;\r\n let mobile: PhoneNumber = x.customerMobile != null && x.customerMobile != '' ? parsePhoneNumberFromString(x.customerMobile, this.companyInfo.companyLanguage.slice(3)) : null;\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.put(api.jubloApi + 'api/Website/Customer/EditDelivery/' + x.deliveryId, {\r\n \"name\": x.customerName,\r\n \"address\": x.customerAddress,\r\n \"city\": x.customerCity,\r\n \"zipCode\": x.customerZipCode,\r\n \"mobile\": mobile != null && mobile.number ? mobile.number : x.customerMobile,\r\n \"phone\": phone != null && phone.number ? phone.number : x.customerPhone,\r\n \"email\": x.customerMail,\r\n ean: x.ean,\r\n att: x.att\r\n }, { headers }).subscribe(\r\n val => { /*console.log('val', val);*/ },\r\n response => { console.log('response', response); },\r\n () => { }\r\n );\r\n }\r\n\r\n addNewContactAddress(x: ContactAddress) {\r\n let c = this.options.contact;\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.post(api.jubloApi + 'api/Website/Customer/AddContactAddress', {\r\n customerId: this.options.customer.customerId,\r\n name: c.name,\r\n address: c.address,\r\n city: c.city,\r\n zipCode: c.zipCode,\r\n telephone: c.phone,\r\n mobile: c.mobile,\r\n email: c.email,\r\n ean: c.ean,\r\n att: c.att,\r\n cvr: c.cvr,\r\n fax: c.fax\r\n }, { headers }).subscribe(\r\n (data: string) => {\r\n this.options.customer.contactId = data;\r\n this.options.contact.id = data;\r\n this.updateCustomer();\r\n },\r\n (response) => { },\r\n () => { }\r\n )\r\n }\r\n\r\n updateCustomer() {\r\n this.update.emit(\r\n {\r\n customer: this.options.customer,\r\n delivery: this.options.delivery,\r\n contact: this.options.contact,\r\n notification: this.options.notificationAddress,\r\n notificationMailWarning: this.options.notificationMailWarning,\r\n notificationMobileWarning: this.options.notificationMobileWarning,\r\n leases: this.options.leases,\r\n action: this.do\r\n }\r\n )\r\n }\r\n\r\n async addressLookup(type) {\r\n if (this.companyInfo.companyLanguage == 'da-DK') {\r\n this.options.dawaSearchType = type;\r\n let o = this.options;\r\n let post = '', zip, address;\r\n switch (type) {\r\n case ('customer'): {\r\n zip = o.customer.customerZipCode;\r\n address = o.customer.customerAddress;\r\n ; break\r\n }\r\n case ('invoice'): {\r\n zip = o.customer.invoiceZipCode;\r\n address = o.customer.invoiceAddress;\r\n ; break\r\n }\r\n case ('delivery'): {\r\n zip = o.delivery.customerZipCode;\r\n address = o.delivery.customerAddress;\r\n ; break\r\n }\r\n case ('contact'): {\r\n zip = o.contact.zipCode != null ? o.contact.zipCode : '';\r\n address = o.contact.address != null ? o.contact.address : '';\r\n ; break\r\n }\r\n }\r\n if (!!zip && zip != '') { post = '&postnr=' + zip; }\r\n this.http.get('https://dawa.aws.dk/adresser/autocomplete?q=' + address + post).subscribe((data: Array<DAWA>) => {\r\n //console.log(data);\r\n this.options.addressLookUp = data;\r\n })\r\n }\r\n }\r\n\r\n clickedOutsideOutput(event) {\r\n if (this.options.addressLookUp != null) {\r\n let box: any = document.getElementById('addressList').getBoundingClientRect();\r\n if (event.clientX > box.x + box.width || event.clientX < box.x) { this.options.addressLookUp = null }\r\n if (event.clientY > box.y + box.height || event.clientY < box.y) { this.options.addressLookUp = null }\r\n }\r\n }\r\n\r\n cityLookup(type) {\r\n if (this.companyInfo.companyLanguage == 'da-DK') {\r\n let o = this.options;\r\n let zip;\r\n switch (type) {\r\n case ('customer'): {\r\n zip = o.customer.customerZipCode;\r\n break\r\n }\r\n case ('invoice'): {\r\n zip = o.customer.invoiceZipCode;\r\n break\r\n }\r\n case ('delivery'): {\r\n zip = o.delivery.customerZipCode;\r\n break\r\n }\r\n case ('contact'): {\r\n zip = o.contact.zipCode;\r\n break\r\n }\r\n }\r\n zip = zip.toString();\r\n if (!!zip && zip.length == 4) {\r\n this.http.get('https://dawa.aws.dk/postnumre/?nr=' + zip).subscribe((data: any) => {\r\n switch (type) {\r\n case ('customer'): {\r\n o.customer.customerCity = data[0].navn;\r\n break\r\n }\r\n case ('invoice'): {\r\n o.customer.invoiceCity = data[0].navn;\r\n break\r\n }\r\n case ('delivery'): {\r\n o.delivery.customerCity = data[0].navn;\r\n break\r\n }\r\n case ('contact'): {\r\n o.contact.city = data[0].navn;\r\n break\r\n }\r\n }\r\n });\r\n } \r\n }\r\n }\r\n\r\n dawaToAddress(event, x: DAWA, where: string) {\r\n let o = this.options;\r\n let add = x.adresse.vejnavn;\r\n if (x.adresse.husnr) { add = add + ' ' + x.adresse.husnr; }\r\n if (x.adresse.etage) { add = add + ', ' + x.adresse.etage + '.'; }\r\n if (x.adresse.dør) { add = add + ' ' + x.adresse.dør + '.'; }\r\n switch (where) {\r\n case ('customer'): {\r\n o.customer.customerAddress = add;\r\n if (x.adresse.postnr != null && x.adresse.postnr != o.customer.customerZipCode) { o.customer.customerZipCode = x.adresse.postnr }\r\n if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.customer.customerCity) { o.customer.customerCity = x.adresse.postnrnavn }\r\n break\r\n }\r\n case ('invoice'): {\r\n o.customer.invoiceAddress = add;\r\n if (x.adresse.postnr != null && x.adresse.postnr != o.customer.invoiceZipCode) { o.customer.invoiceZipCode = x.adresse.postnr }\r\n if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.customer.invoiceCity) { o.customer.invoiceCity = x.adresse.postnrnavn }\r\n break\r\n }\r\n case ('delivery'): {\r\n o.delivery.customerAddress = add;\r\n if (x.adresse.postnr != null && x.adresse.postnr != o.delivery.customerZipCode) { o.delivery.customerZipCode = x.adresse.postnr }\r\n if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.delivery.customerCity) { o.delivery.customerCity = x.adresse.postnrnavn }\r\n break\r\n }\r\n case ('contact'): {\r\n o.contact.address = add;\r\n if (x.adresse.postnr != null && x.adresse.postnr != o.contact.zipCode) { o.contact.zipCode = x.adresse.postnr }\r\n if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.contact.city) { o.contact.city = x.adresse.postnrnavn }\r\n break\r\n }\r\n }\r\n this.options.addressLookUp = null;\r\n this.options.dawaSearchType = null;\r\n }\r\n\r\n getCustomerById() {\r\n if (!!this.highlightedCustomer && this.highlightedCustomer != this.options.customer.customerId) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get<SingleCustomer>(api.jubloApi + 'api/Website/Customer/GetCustomerById/' + this.highlightedCustomer.customerId, { headers }).subscribe({\r\n next: (data) => {\r\n if (!!data) {\r\n this.options.customer = data;\r\n this.options.filteredDelivery = data.addresses;\r\n this.options.filteredContacts = data.contactAddresse;\r\n console.log(this.options.filteredDelivery);\r\n console.log(this.options.filteredContacts);\r\n }\r\n },\r\n error: err => console.error(err),\r\n complete: () => {\r\n // if (!!this.deliveryId) {\r\n // let d = this.options.filteredDelivery.find(x => x.deliveryId == this.deliveryId);\r\n // this.options.delivery = !!d ? d : this.options.delivery;\r\n // if (!d) {\r\n // this.options.delivery.deliveryId = null;\r\n // this.addNewDeliveryAddress(this.options.delivery)\r\n // };\r\n // //console.log('found delivery', this.options.delivery)\r\n // if (!!this.options.delivery) {\r\n // this.options.delivery.deliveryId == this.deliveryId;\r\n // }\r\n // }\r\n // if (!!this.contactId) {\r\n // let c = this.options.filteredContacts.find(x => x.id == this.contactId)\r\n // this.options.contact = !!c ? c : this.options.contact;\r\n // if (!c) {\r\n // this.options.contact.id = null;\r\n // this.addNewContactAddress(this.options.contact);\r\n // }\r\n // }\r\n // this.do = 'getCustomer';\r\n // if (!!this.options.notificationAddress) {\r\n // this.validateNotification();\r\n // }\r\n // else { this.updateCustomer(); }\r\n\r\n // if (!this.options.customer) {\r\n // this.options.customer = new SingleCustomer();\r\n // this.stepChange.emit('newCustomer');\r\n // this.step = 'newCustomer';\r\n // this.updateCustomer();\r\n // } else {\r\n // }\r\n this.stepChange.emit('final');\r\n this.choose.emit(this.options.customer);\r\n }\r\n });\r\n }\r\n }\r\n\r\n getPropertyLeasesById() {\r\n if (!!this.highlightedCustomer) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get(api.jubloApi + 'api/Website/Customer/GetCustomerPropertyLeases/' + this.highlightedCustomer.customerId, { headers }).subscribe(\r\n (data: any) => {\r\n this.options.leases = data;\r\n this.options.filteredLeases = data;\r\n this.updateCustomer();\r\n },\r\n (response) => { console.log('Error!', response) },\r\n () => { }\r\n )\r\n }\r\n }\r\n\r\n validateNotification() {\r\n // switch per notificationAddress. Check mail and phone number. Display warning if one is missing.\r\n // Also report it out of the component.\r\n switch (this.options.notificationAddress) {\r\n case ('delivery'): {\r\n this.options.notificationMailWarning = this.validateMail(this.options.delivery.customerMail);\r\n this.options.notificationMobileWarning = this.validateMobile(this.options.delivery.customerMobile);\r\n this.updateCustomer();\r\n ; break\r\n }\r\n case ('invoice'): {\r\n this.options.notificationMailWarning = this.validateMail(this.options.customer.invoiceEmail);\r\n this.options.notificationMobileWarning = this.validateMobile(this.options.customer.invoiceMobile);\r\n this.updateCustomer();\r\n ; break\r\n }\r\n case ('customer'): {\r\n this.options.notificationMailWarning = this.validateMail(this.options.customer.customerMail);\r\n this.options.notificationMobileWarning = this.validateMobile(this.options.customer.customerMobile);\r\n this.updateCustomer();\r\n ; break\r\n }\r\n case ('contact'): {\r\n this.options.notificationMailWarning = this.validateMail(this.options.contact.email);\r\n this.options.notificationMobileWarning = this.validateMobile(this.options.contact.mobile);\r\n this.updateCustomer();\r\n ; break\r\n }\r\n }\r\n }\r\n\r\n validateMail(mail) {\r\n if (mail == null || mail == '' || mail.split('@').length != 2) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n validateMobile(mobile) {\r\n if (!mobile) return true;\r\n else if( !!mobile && parsePhoneNumberFromString(mobile, this.companyInfo.companyLanguage.slice(3)) == null) return true;\r\n return false\r\n }\r\n\r\n deliveryExists() {\r\n let d = this.options.delivery;\r\n if (!!this.deliveryId) { return true }\r\n else if (!!d && (!!d.customerName || !!d.customerAddress || !!d.customerCity || !!d.customerMail || !!d.customerPhone || !!d.customerMobile)) { return true }\r\n else {return false}\r\n }\r\n\r\n contactExists() {\r\n let d = this.options.contact;\r\n if (!!this.contactId) { return true }\r\n else if (!!d && (!!d.name || !!d.address || !!d.city || !!d.email || !!d.phone || !!d.mobile || !!d.cvr || !!d.att)) { return true }\r\n else { return false }\r\n }\r\n\r\n editContactAddress(x: ContactAddress) {\r\n let phone = x.phone != null && x.phone != '' ? parsePhoneNumberFromString(x.phone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let mobile = x.mobile != null && x.mobile != '' ? parsePhoneNumberFromString(x.mobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.put(api.jubloApi + 'api/Website/Customer/EditContact/' + x.id, {\r\n name: x.name,\r\n address: x.address,\r\n city: x.city,\r\n zipCode: x.zipCode,\r\n telephone: phone,\r\n mobile: mobile,\r\n email: x.email,\r\n ean: x.ean,\r\n att: x.att,\r\n cvr: x.cvr,\r\n fax: x.fax\r\n }, { headers }).subscribe(\r\n val => { /*console.log('val', val);*/ },\r\n response => { console.log('response', response); },\r\n () => { this.updateCustomer() }\r\n );\r\n }\r\n\r\n saveEditedCustomer() {\r\n this.validateNotification();\r\n let c = this.options.customer;\r\n let customerPhone = c.customerPhone != null && c.customerPhone != '' ? parsePhoneNumberFromString(c.customerPhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let invoicePhone = c.invoicePhone != null && c.invoicePhone != '' ? parsePhoneNumberFromString(c.invoicePhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let customerMobilePhone = c.customerMobile != null && c.customerMobile != '' ? parsePhoneNumberFromString(c.customerMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n let invoiceMobilePhone = c.invoiceMobile != null && c.invoiceMobile != '' ? parsePhoneNumberFromString(c.invoiceMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.put(api.jubloApi + 'api/Website/Customer/EditCustomer/' + c.customerId, {\r\n name: c.customerName,\r\n mobile: customerMobilePhone,\r\n phone: customerPhone,\r\n address: c.customerAddress,\r\n city: c.customerCity,\r\n zipCode: c.customerZipCode,\r\n email: c.customerMail,\r\n invoiceName: c.invoiceName,\r\n invoicePhone: invoicePhone,\r\n invoiceMobile: invoiceMobilePhone,\r\n invoiceAddress: c.invoiceAddress,\r\n invoiceCity: c.invoiceCity,\r\n invoiceZipCode: c.invoiceZipCode,\r\n invoiceEmail: c.invoiceEmail,\r\n att: c.att,\r\n cvr: c.cvr\r\n //ean: c.ean\r\n }, { headers }).subscribe(\r\n val => { this.do = null },\r\n response => { console.log('response', response); },\r\n () => { });\r\n }\r\n\r\n addDeliveryContact(type: string) {\r\n this.step = type;\r\n this.stepChange.emit(this.step)\r\n }\r\n\r\n findColor(type, name) {\r\n if(!!this.options) {\r\n let init = !!this.options.delivery && !!this.options.delivery.customerAddress ? \r\n this.options.delivery.customerAddress.trim().substring(0, 1).toUpperCase() : \r\n (!!this.options.customer.customerAddress ? \r\n this.options.customer.customerAddress.trim().substring(0, 1).toUpperCase() : \r\n (!!this.options.customer.invoiceAddress ? \r\n this.options.customer.invoiceAddress.trim().substring(0, 1).toUpperCase() : ''));\r\n if (name == '') {\r\n switch (type) {\r\n case 'b':\r\n if (!!init) {\r\n return ColorList.colors[init].background;\r\n } else {\r\n return '#1F539F';\r\n }\r\n case 'c':\r\n if (!!init) {\r\n return ColorList.colors[init].color;\r\n } else {\r\n return 'white';\r\n }\r\n default:\r\n if (!!init) {\r\n return init;\r\n } else {\r\n return '';\r\n }\r\n }\r\n } else {\r\n if (!name) return;\r\n init = name.replace(/[^a-zA-Z]/g, '').substring(0, 1).toUpperCase();\r\n switch (type) {\r\n case 'b':\r\n if (!!init) {\r\n return ColorList.colors[init].background;\r\n } else {\r\n return '#80b8f2';\r\n }\r\n case 'c':\r\n if (!!init) {\r\n return ColorList.colors[init].color;\r\n } else {\r\n return 'white';\r\n }\r\n default:\r\n if (!!init) {\r\n return init;\r\n } else {\r\n return '';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n newDeliveryPrepare() {\r\n this.options.delivery = new DeliveryAddress();\r\n this.step = 'newDelivery';\r\n this.stepChange.emit(this.step);\r\n this.newDelivery = true;\r\n }\r\n\r\n newContactPrepare() {\r\n this.options.contact = new ContactAddress();\r\n this.step = 'newContact';\r\n this.stepChange.emit(this.step);\r\n this.newDelivery = true;\r\n }\r\n\r\n parentMessage(message){\r\n this.com.emit(message)\r\n }\r\n\r\n squeal(){\r\n this.listener.emit(this.options.customer)\r\n }\r\n\r\n}\r\n\r\nexport class CustomerOptions {\r\n step: string;\r\n customer: SingleCustomer;\r\n delivery: DeliveryAddress;\r\n contact: ContactAddress;\r\n lease: any;\r\n leases: Array<any>;\r\n notificationAddress: string = 'customer';\r\n notificationMailWarning: boolean = false;\r\n notificationMobileWarning: boolean = false;\r\n resetCustomer() {\r\n this.customer = new SingleCustomer();\r\n }\r\n filteredDelivery = [];\r\n filteredContacts = [];\r\n filteredLeases = [];\r\n addressLookUp: Array<any>;\r\n roadSize = 10;\r\n dawaSearchType: string;\r\n}\r\n\r\nexport class DeliveryAddress {\r\n deliveryId: string;\r\n customerName: string;\r\n customerAddress: string;\r\n customerZipCode: string;\r\n customerCity: string;\r\n customerPhone: string;\r\n customerMobile: string;\r\n customerMail: string;\r\n ean?: string;\r\n att?: string;\r\n}\r\n\r\nexport class SingleCustomer {\r\n att: string;\r\n cvr: string;\r\n ean: string;\r\n contactAddresse: Array<ContactAddress>;\r\n customerId: string;\r\n deliveryId: string;\r\n contactId: string;\r\n customerGroup: string;\r\n customer: string;\r\n customerNumber:string;\r\n customerName: string;\r\n customerAddress: string;\r\n customerZipCode: string;\r\n customerCity:string;\r\n customerPhone: string;\r\n customerMobile: string;\r\n customerMail: string;\r\n externalId: string;\r\n invoiceName: string;\r\n invoiceAddress: string;\r\n invoiceZipCode: string;\r\n invoiceCity: string;\r\n invoicePhone: string;\r\n invoiceMobile: string;\r\n invoiceEmail: string;\r\n addresses: Array<DeliveryAddress>;\r\n propertyInfo: Array<any>;\r\n}\r\n\r\nexport class ContactAddress {\r\n id: string;\r\n name: string;\r\n address: string;\r\n city: string;\r\n zipCode: string;\r\n phone: string;\r\n mobile: string;\r\n fax: string;\r\n email: string;\r\n ean: string;\r\n att: string;\r\n cvr: string;\r\n}","\r\n<!-- Choose/Search Customer -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseCustomer'\">\r\n <div class=\"col-12 pt-1\">\r\n <div class=\"form-row align-items-center\">\r\n <div class=\"col-auto\">\r\n <input type=\"text\" class=\"form-control\" id=\"inlineFormInput\" placeholder=\"{{ 'Standard.Search' | translate }}\" [(ngModel)]=\"searchVal\" (keyup)=\"inputChanged()\">\r\n </div>\r\n <div class=\"col-auto\" *ngIf=\"searchVal != '' && searchVal.length < 3\">\r\n <i class=\"help-text\">{{ 'Standard.SearchMinChars' | translate }}</i>\r\n </div>\r\n <div class=\"col-auto ml-auto\">\r\n <button type=\"submit\" class=\"btn btn-primary\" (click)=\"step = 'newCustomer'; parentMessage('newCustomer') ;options.resetCustomer()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <table id=\"customerTable\" (scrolled)=\"onScrollDown()\" aria-label=\"Customer table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'Standard.CustomerNumber' | translate }}</th>\r\n <th>{{ 'Standard.Name' | translate }}</th>\r\n <th>{{ 'Standard.Phone' | translate }}</th>\r\n <th>{{ 'Standard.Mobile' | translate }}</th>\r\n <th>{{ 'Standard.Address' | translate }}</th>\r\n <th>{{ 'Standard.Email' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"customerTableBody\" *ngIf=\"!!shownCustomers\">\r\n <tr *ngFor=\"let x of shownCustomers; trackBy: trackById\" (click)=\"chooseCustomer(x)\" [ngClass]=\"!!options && !!options.customer && options.customer == x ? 'selected' : ''\">\r\n <td>{{ x.customerNumber }}</td>\r\n <td>{{ x.name }}</td>\r\n <td>{{ x.customerPhone }}</td>\r\n <td>{{ x.customerMobile }}</td>\r\n <td>{{ x.customerAddress }}<span *ngIf=\"!!x.customerZipcode\">, {{ x.customerZipcode }}</span><span *ngIf=\"!!x.customerCity\"> {{ x.customerCity }}</span></td>\r\n <td>{{ x.customerEmail }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n\r\n<!-- New Customer -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newCustomer'\">\r\n <div class=\"col-12 mb-3\">\r\n <button type=\"submit\" class=\"btn btn-primary ml-auto\" (click)=\"step = 'chooseCustomer'\">{{ 'Buttons.SearchCustomer' | translate }}</button>\r\n </div>\r\n <div class=\"col-12 d-flex align-items-start gap-3\">\r\n <div class=\"card flex-1\">\r\n <div class=\"card-header d-flex align-items-center flex-between\">\r\n {{ 'Standard.Customer' | translate }}\r\n <button class=\"btn btn-secondary\">{{ 'Buttons.CopyCustomerToInvoice' | translate }}</button>\r\n </div>\r\n <div class=\"card-body d-flex flex-column gap-3\">\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Name' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerName\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Address' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerAddress\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Zipcode' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerZipCode\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.City' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerCity\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Email' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerMail\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Phone' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerPhone\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Mobile' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerMobile\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Company.VatNumber' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.cvr\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card flex-1\">\r\n <div class=\"card-header d-flex align-items-center flex-between\">\r\n {{ 'Word.Invoice' | translate }}\r\n <button class=\"btn btn-secondary\">{{ 'Buttons.CopyInvoiceToCustomer' | translate }}</button>\r\n </div>\r\n <div class=\"card-body d-flex flex-column gap-3\">\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Name' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceName\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Address' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceAddress\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Zipcode' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceZipCode\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.City' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceCity\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Email' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceEmail\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Phone' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoicePhone\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.Mobile' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceMobile\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n <div class=\"w-100 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">{{ 'Standard.EAN' | translate }}</div>\r\n <div class=\"flex-3\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.ean\" (change)=\"squeal()\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 d-flex align-items-center gap-3\">\r\n <div class=\"flex-1\">\r\n \r\n </div>\r\n <div class=\"flex-1\">\r\n \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Choose delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseDelivery'\">\r\n <div class=\"col-auto\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"deliverySearch\" (keyup)=\"onDeliverySearch()\" autocomplete=\"anyrandomstring\" placeholder=\"{{ 'Standard.Search' | translate }}...\">\r\n </div>\r\n <div class=\"col\">\r\n <button class=\"btn btn-primary ml-auto\" (click)=\"newDeliveryPrepare()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n </div>\r\n <div class=\"col-12\" *ngIf=\"!!options.filteredDelivery && options.filteredDelivery.length > 0\">\r\n <table aria-label=\"Filtered delivery addresses\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">{{ 'Standard.Name' | translate }}</th>\r\n <th scope=\"col\">{{ 'Standard.Address' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let x of options.filteredDelivery\" (click)=\"chooseDelivery(x)\" [ngClass]=\"!!options.delivery && options.delivery.deliveryId == x.deliveryId ? 'selectedRow' : ''\">\r\n <td>{{ x.customerName }}</td>\r\n <td>{{ x.customerAddress }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"col-12 p-5 text-center\" *ngIf=\"!!options.filteredDelivery && options.filteredDelivery.length == 0\">\r\n {{ 'Standard.NoDeliveryOnCustomer' | translate }}\r\n </div>\r\n</div>\r\n\r\n<!--Choose contact-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseContact'\">\r\n <div class=\"col-auto\">\r\n <input type=\"text\" class=\"form-control\" [(ngModel)]=\"contactSearch\" (keyup)=\"onContactSearch()\" autocomplete=\"anyrandomstring\" placeholder=\"{{ 'Standard.Search' | translate }}...\">\r\n </div>\r\n <div class=\"col\">\r\n <button class=\"btn btn-primary ml-auto\" (click)=\"newContactPrepare()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n </div>\r\n <div class=\"col-12\" *ngIf=\"!!options.filteredContacts && options.filteredContacts.length > 0\">\r\n <table aria-label=\"Filtered contacts\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\">{{ 'Standard.Name' | translate }}</th>\r\n <th scope=\"col\">{{ 'Standard.Address' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let x of options.filteredContacts\" (click)=\"chooseContact(x)\" [ngClass]=\"!!options.contact && options.contact.id == x.id ? 'selectedRow' : ''\">\r\n <td>{{ x.name }}</td>\r\n <td>{{ x.address }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"col-12 p-5 text-center\" *ngIf=\"!!options.filteredContacts && options.filteredContacts.length == 0\">\r\n {{ 'Standard.NoContactsOnCustomer' | translate }}\r\n </div>\r\n</div>\r\n\r\n<!--New delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newDelivery'\">\r\n <div class=\"col-12\">\r\n <button class=\"btn btn-primary ml-auto\" (click)=\"newDelivery = false; step = 'chooseDelivery'\">Fortryd</button>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"form-group\">\r\n <label for=\"deliveryName\">{{ 'Standard.Name' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryName\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerName\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryAddress\">{{ 'Standard.Address' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryAddress\" (keyup)=\"addressLookup('delivery')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerAddress\">\r\n <div id=\"addressList\" class=\"addressList\" *ngIf=\"options.addressLookUp != null && options.dawaSearchType == 'delivery'\">\r\n <div *ngFor=\"let x of options.addressLookUp\" (click)=\"dawaToAddress($event,x,'delivery')\">{{ x.tekst }}</div>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryZipCode\">{{ 'Standard.Zipcode' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryZipCode\" (keyup)=\"cityLookup('delivery')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerZipCode\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryCity\">{{ 'Standard.City' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryCity\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerCity\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryMail\">{{ 'Standard.Email' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryMail\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerMail\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryPhone\">{{ 'Standard.Phone' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerPhone\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"deliveryPhone\">{{ 'Standard.Mobile' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"deliveryPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerMobile\">\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--New delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newContact'\">\r\n <div class=\"col-12\">\r\n <button class=\"btn btn-primary ml-auto\" (click)=\"newContact = false; step = 'chooseContact'\">Fortryd</button>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"form-group\">\r\n <label for=\"contactName\">{{ 'Standard.Name' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactName\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.name\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactAddress\">{{ 'Standard.Address' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactAddress\" (keyup)=\"addressLookup('contact')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.address\">\r\n <div id=\"addressList\" class=\"addressList\" *ngIf=\"options.addressLookUp != null && options.dawaSearchType == 'contact'\">\r\n <div *ngFor=\"let x of options.addressLookUp\" (click)=\"dawaToAddress($event,x,'contact')\">{{ x.tekst }}</div>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactZipCode\">{{ 'Standard.Zipcode' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactZipCode\" (keyup)=\"cityLookup('contact')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.zipCode\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactCity\">{{ 'Standard.City' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactCity\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.city\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactMail\">{{ 'Standard.Email' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactMail\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.email\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactPhone\">{{ 'Standard.Phone' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.phone\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"contactPhone\">{{ 'Standard.Mobile' | translate }}</label>\r\n <input type=\"text\" class=\"form-control\" id=\"contactPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.mobile\">\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Final -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'final'\">\r\n <div class=\"col-12\">\r\n <div class=\"card-deck\" *ngIf=\"!!options.customer\">\r\n <!-- Customer -->\r\n <div class=\"card m-0 p-1\">\r\n <div class=\"d-flex justify-content-between\">\r\n <h3>{{ 'Standard.Customer' | translate }}</h3>\r\n <div (click)=\"options.notificationAddress = 'customer'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'customer'\">\r\n <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'customer'\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center pb-2\">\r\n <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.customer.customerName)\" style.color=\"{{findColor('c', options.customer.customerName)}}\">{{ findColor('letter', options.customer.customerName) }}</button>{{ !!options.customer.customerName ? options.customer.customerName : '' }}\r\n </h5>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"d-flex flex-column\" *ngIf=\"!!options.customer.customerAddress\">\r\n <span>{{ options.customer.customerAddress }}</span>\r\n <span>{{ options.customer.customerZipCode }} {{ options.customer.customerCity }}</span>\r\n </div>\r\n <div *ngIf=\"!options.customer.customerAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\"\r\n stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.customer.customerEmail\">{{ options.customer.customerEmail }}</div>\r\n <div *ngIf=\"!options.customer.customerEmail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top pb-0\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.customer.customerMobile || !!options.customer.customerPhone\">{{ !!options.customer.customerMobile ? options.customer.customerMobile : options.customer.customerPhone }}</div>\r\n <div *ngIf=\"!options.customer.customerMobile && !options.customer.customerPhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n </div>\r\n </div>\r\n <!-- Invoice -->\r\n <div class=\"card m-0 p-1\">\r\n <div class=\"d-flex justify-content-between\">\r\n <h3>{{ 'Word.Invoice' | translate }}</h3>\r\n <div (click)=\"options.notificationAddress = 'invoice'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'invoice'\">\r\n <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'invoice'\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center pb-2\">\r\n <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.customer.invoiceName)\" style.color=\"{{findColor('c', options.customer.invoiceName)}}\">{{ findColor('letter', options.customer.invoiceName) }}</button>{{ !!options.customer.invoiceName ? options.customer.invoiceName : '' }}</h5>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"d-flex flex-column\" *ngIf=\"!!options.customer.invoiceAddress\">\r\n <span>{{ options.customer.invoiceAddress }}</span>\r\n <span>{{ options.customer.invoiceZipCode }} {{ options.customer.invoiceCity }}</span>\r\n </div>\r\n <div *ngIf=\"!options.customer.invoiceAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.customer.invoiceEmail\">{{ options.customer.invoiceEmail }}</div>\r\n <div *ngIf=\"!options.customer.invoiceEmail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top pb-0\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.customer.invoiceMobile || !!options.customer.invoicePhone\">{{ !!options.customer.invoiceMobile ? options.customer.invoiceMobile : options.customer.invoicePhone }}</div>\r\n <div *ngIf=\"!options.customer.invoiceMobile && !options.customer.invoicePhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n </div>\r\n </div>\r\n <!-- Delivery -->\r\n <div class=\"card m-0 p-1\">\r\n <div class=\"d-flex justify-content-between\">\r\n <h3>{{ 'Standard.Delivery' | translate }}</h3>\r\n <div (click)=\"options.notificationAddress = 'delivery'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'delivery'\">\r\n <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'delivery' && !!options.delivery\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!options.delivery\">\r\n <div class=\"d-flex align-items-center pb-2\">\r\n <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.delivery.customerName)\" style.color=\"{{findColor('c', options.delivery.customerName)}}\">{{ findColor('letter', options.delivery.customerName) }}</button>{{ !!options.delivery.customerName ? options.delivery.customerName : '' }}</h5>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"d-flex flex-column\" *ngIf=\"!!options.delivery.customerAddress\">\r\n <span>{{ options.delivery.customerAddress }}</span>\r\n <span>{{ options.delivery.customerZipCode }} {{ options.delivery.customerCity }}</span>\r\n </div>\r\n <div *ngIf=\"!options.delivery.customerAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.delivery.customerMail\">{{ options.delivery.customerMail }}</div>\r\n <div *ngIf=\"!options.delivery.customerMail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top pb-0\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.delivery.customerMobile || !!options.delivery.customerPhone\">{{ !!options.delivery.customerMobile ? options.delivery.customerMobile : options.delivery.customerPhone }}</div>\r\n <div *ngIf=\"!options.delivery.customerMobile && !options.delivery.customerPhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n </div>\r\n </div>\r\n <div class=\"addDeliveryContact\" *ngIf=\"!options.delivery\">\r\n <button class=\"btn btn-light\" (click)=\"addDeliveryContact('chooseDelivery')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />\r\n </svg>{{ 'Buttons.Add' | translate }} {{ ('Standard.DeliveryAddress' | translate) | lowercase }}\r\n </button>\r\n </div>\r\n </div>\r\n <!-- Contact -->\r\n <div class=\"card m-0 p-1\">\r\n <div class=\"d-flex justify-content-between\">\r\n <h3>{{ 'Standard.Contact' | translate }}</h3>\r\n <div (click)=\"options.notificationAddress = 'contact'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'contact'\">\r\n <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n </svg>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'contact' && !!options.contact\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!!options.contact\">\r\n <div class=\"d-flex align-items-center pb-2\">\r\n <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.contact.name)\" style.color=\"{{findColor('c', options.contact.name)}}\">{{ findColor('letter', options.contact.name) }}</button>{{ !!options.contact.name ? options.contact.name : '' }}</h5>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"d-flex flex-column\" *ngIf=\"!!options.contact.address\">\r\n <span>{{ options.contact.address }}</span>\r\n <span>{{ options.contact.zipCode }} {{ options.contact.city }}</span>\r\n </div>\r\n <div *ngIf=\"!options.contact.address\">{{ 'Standard.NoAddress' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.contact.email\">{{ options.contact.email }}</div>\r\n <div *ngIf=\"!options.contact.email\">{{ 'Standard.NoEmail' | translate }}</div>\r\n </div>\r\n <div class=\"d-flex line-top pb-0\">\r\n <div class=\"cursor-pointer mr-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n </svg>\r\n </div>\r\n <div *ngIf=\"!!options.contact.mobile || !!options.contact.phone\">{{ !!options.contact.mobile ? options.contact.mobile : options.contact.phone }}</div>\r\n <div *ngIf=\"!options.contact.mobile && !options.contact.phone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n </div>\r\n </div>\r\n <div class=\"addDeliveryContact\" *ngIf=\"!options.contact\">\r\n <button class=\"btn btn-light\" (click)=\"addDeliveryContact('chooseContact')\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />\r\n </svg>{{ 'Buttons.Add' | translate }} {{ ('Standard.Contact' | translate) | lowercase }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Leases, Properties, PropertyManager } from 'app/details-new/details-new.data';\r\nimport { SharedDataService } from 'app/shared/services/shared-data.service';\r\nimport { NewCase } from '../cases.component';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { CaseService } from 'app/shared/services/case.service';\r\nimport { CreateCompanyCase } from 'app/shared/models/case.models';\r\nimport { SingleCustomer } from '../case-customer/case-customer.component';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n selector: 'create-case-modal',\r\n templateUrl: './create-case-modal.component.html',\r\n styleUrls: ['./create-case-modal.component.css']\r\n})\r\nexport class CreateCaseModalComponent implements OnInit, OnDestroy {\r\n userId = localStorage.getItem(\"bearer\");\r\n propertyManagement: boolean = false;\r\n casePropertyManager = new PropertyManager();\r\n caseProperty: Properties | null = null;\r\n newCase: CreateCompanyCase = new CreateCompanyCase();\r\n customerComponentData: any;\r\n customerComponentMessage: any;\r\n steps = {\r\n current: 'chooseCustomer',\r\n previous: 'chooseCustomer'\r\n }\r\n responsibles: Array<{ key: string, value: string }> | null = null;\r\n compInfo = { companyLanguage: 'da-DK' };\r\n dblClick = false;\r\n leaseSearch;\r\n propertySearch;\r\n userProperties;\r\n leases: Array<Leases> | null = null;\r\n showPropertyResults = false;\r\n showLeaseResults = false;\r\n ownerDetails: Owner;\r\n customerDetails;\r\n subs: SubscriptionObject = {};\r\n newCustomerCheck: boolean = false; // new customer check if enough data entered\r\n noLeaseWarning: boolean = false;\r\n notification: boolean = false;\r\n\r\n constructor(private http: HttpClient, private sharedData: SharedDataService, private router: Router, private cases: CaseService) { }\r\n\r\n ngOnInit(): void {\r\n this.subs['responsibles'] = this.sharedData.responsibles().subscribe({\r\n next: (data) => {\r\n this.responsibles = data;\r\n if (!!this.userId && this.userId != '866d39ed-dd2d-4101-b9fc-e9a6e1efd941' && !!this.responsibles?.find(x => x.key == this.userId)) {\r\n this.newCase.responsibleId = this.userId;\r\n }\r\n }\r\n });\r\n let roles = JSON.parse(localStorage.getItem('guards') as string);\r\n if (!!roles && roles.find((x: { name: string }) => x.name == 'PropertyManagement')) {\r\n this.propertyManagement = true;\r\n this.steps.current = 'final';\r\n this.getMyProperties();\r\n }\r\n this.subs['newCase'] = this.cases.newCase().subscribe({\r\n next: (data) => {\r\n if (!!data) {\r\n this.newCase = data;\r\n let a = document.getElementById('newCaseModalOpener')\r\n a?.click();\r\n }\r\n }\r\n })\r\n }\r\n\r\n ngOnDestroy(): void {\r\n for (let x in this.subs) { this.subs[x].unsubscribe() }\r\n }\r\n \r\n createCaseChooseCustomer(customer: any) {\r\n //console.log(customer)\r\n this.customerDetails = customer;\r\n this.newCase.customerId = customer.customerId;\r\n if (!!customer.delivery && !!customer.delivery.deliveryId) {\r\n this.customerComponentData.delivery = customer.delivery;\r\n }\r\n if (!!customer.contact && !!customer.contact.id) {\r\n this.customerComponentData.contact = customer.contact;\r\n }\r\n }\r\n\r\n getMyProperties() {\r\n if (this.propertyManagement) {\r\n this.newCase.propertyId = null;\r\n this.newCase.propertyLeaseId = null;\r\n this.leaseSearch = null;\r\n this.propertySearch = null;\r\n this.casePropertyManager.filteredLeases = null;\r\n const headers = new HttpHeaders({ Authorization: this.userId });\r\n this.http.get<any>(api.jubloApi + 'api/PropertyLease/GetStakeholderProperties/' + this.userId, { headers }).subscribe({\r\n next: (data) => {\r\n this.userProperties = data;\r\n },\r\n error: err => console.error(err),\r\n complete: () => { this.loadProperties(); }\r\n });\r\n }\r\n }\r\n\r\n loadProperties() {\r\n const headers = new HttpHeaders({ 'Authorization': this.userId! });\r\n this.http.get<Properties[]>(api.jubloApi + 'api/PropertyLease/GetPropertyList', { headers }).subscribe(\r\n (data: Properties[]) => {\r\n data = data.sort((a, b) => { return a.name > b.name ? -1 : 1 });\r\n this.casePropertyManager.allProperties = data;\r\n this.casePropertyManager.filteredProperties = data;\r\n this.newCase.propertyId = null;\r\n },\r\n err => { console.error(err) },\r\n () => {\r\n this.casePropertyManager.filteredProperties = this.casePropertyManager.filteredProperties.sort((a, b) => { return a.name > b.name ? 1 : -1 });\r\n if (!!this.userProperties && this.userProperties.length > 0) {\r\n let p = this.userProperties.map(x => x.id);\r\n this.casePropertyManager.filteredProperties = this.casePropertyManager.filteredProperties.sort((a) => { return p.includes(a.id) ? -1 : 1 });\r\n }\r\n });\r\n }\r\n\r\n async loadLeases(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.userId! });\r\n this.http.get<Leases[]>(api.jubloApi + 'api/PropertyLease/PropertyLeasesOnProperty/' + id, { headers }).subscribe(\r\n (data: Leases[]) => {\r\n //console.log(data)\r\n data = data.sort((a, b) => { return a.address > b.address ? 1 : -1 });\r\n this.leases = data;\r\n this.casePropertyManager.allLeases = data;\r\n this.casePropertyManager.filteredLeases = data;\r\n this.newCase.propertyLeaseId = null;\r\n },\r\n (response) => { console.log('Error!', response) },\r\n () => { }\r\n )\r\n }\r\n\r\n searchProperty(x: KeyboardEvent) {\r\n let s = !!x && !!x.target && 'value' in x.target\r\n ? (x.target as HTMLInputElement).value.toLowerCase()\r\n : '';\r\n this.showPropertyResults = true;\r\n if (!!s && s.length > 0) {\r\n this.casePropertyManager.filteredProperties = !!this.casePropertyManager.filteredProperties ? this.casePropertyManager.allProperties.filter(x => x.address.toLowerCase().match(s) || x.number.toLowerCase().match(s) || x.name.toLowerCase().match(s)) : this.casePropertyManager.allProperties;\r\n } else {\r\n this.casePropertyManager.filteredProperties = this.casePropertyManager.allProperties;\r\n }\r\n }\r\n\r\n searchLease(x) {\r\n let s = x.target.value.toLowerCase();\r\n this.showLeaseResults = true;\r\n if (!!s && s.length > 0) {\r\n this.casePropertyManager.filteredLeases = !!this.casePropertyManager.filteredLeases ? this.casePropertyManager.allLeases.filter(x => x.address.toLowerCase().match(s) || x.leaseNumber.match(s) || x.tenant?.name.toLowerCase().match(s)) : this.casePropertyManager.allLeases;\r\n } else {\r\n this.casePropertyManager.filteredLeases = this.casePropertyManager.allLeases;\r\n }\r\n }\r\n\r\n setProperty(x) {\r\n if (!!x) {\r\n this.leaseSearch = null;\r\n this.casePropertyManager.filteredLeases = null;\r\n this.propertySearch = x.number + ' ' + x.name;\r\n this.newCase.propertyId = x.id;\r\n if (!this.newCase.responsibleId) this.newCase.responsibleId = x.responsibleId.id;\r\n this.loadLeases(this.newCase.propertyId);\r\n this.getCustomerFromSearch('property');\r\n }\r\n }\r\n\r\n clearProperty() {\r\n this.propertySearch = null;\r\n this.leaseSearch = null;\r\n this.casePropertyManager.filteredLeases = null;\r\n this.newCase.propertyId = null;\r\n }\r\n\r\n setLease(x) {\r\n if (!!x) {\r\n this.leaseSearch = x.leaseNumber + ' ' + x.address;\r\n this.newCase.propertyLeaseId = x.id;\r\n this.showLeaseResults = false;\r\n this.noLeaseWarning = false;\r\n this.getCustomerFromSearch('lease');\r\n }\r\n }\r\n\r\n clearLease() {\r\n this.leaseSearch = null;\r\n this.newCase.propertyLeaseId = null;\r\n this.showLeaseResults = false;\r\n }\r\n\r\n getCustomerFromSearch(type) {\r\n let url = api.jubloApi + 'api/PropertyLease/GetPropertyCustomer/' + this.newCase.propertyId;\r\n if (type == 'lease') { url = api.jubloApi + 'api/PropertyLease/GetPropertyLeaseById/' + this.newCase.propertyLeaseId; }\r\n const headers = new HttpHeaders({ 'Authorization': this.userId });\r\n this.http.get(url, { headers }).subscribe(\r\n (data: any) => {\r\n if (type == 'lease') { this.newCase.customerId = data.customer[0].id; }\r\n else { this.newCase.customerId = data.customerId; }\r\n // console.log(data);\r\n // console.log(this.currentCase.customerId);\r\n },\r\n (response) => { console.log('Error!', response) },\r\n () => { },\r\n )\r\n }\r\n\r\n delayedClose() {\r\n setTimeout(() => {\r\n this.showPropertyResults = false;\r\n }, 200);\r\n }\r\n\r\n getOwnerDetails(id) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get<Owner>(api.jubloApi + 'api/PropertyLease/GetPropertyOwner/' + id, { headers }).subscribe({\r\n next: (data) => this.ownerDetails = data,\r\n error: err => console.error(err)\r\n });\r\n }\r\n\r\n createCase(force?: string) {\r\n if (!this.propertyManagement) {\r\n this.newCase.customerId = this.customerComponentData.customer.customerId;\r\n this.newCase.deliveryAddressId = !!this.newCase.deliveryAddressId ? this.newCase.deliveryAddressId : (!!this.customerComponentData.delivery ? this.customerComponentData.delivery.deliveryId : null);\r\n this.newCase.contactAddressId = !!this.newCase.contactAddressId ? this.newCase.contactAddressId : (!!this.customerComponentData.contact ? this.customerComponentData.contact.id : null);\r\n } else if (this.propertyManagement && !this.newCase.propertyLeaseId && !force) {\r\n this.noLeaseWarning = true;\r\n return;\r\n }\r\n this.dblClick = true;\r\n this.newCase.disableNotification = !this.notification;\r\n let newCaseId = '';\r\n\r\n this.cases.api.createCompanyCase(this.newCase).subscribe({\r\n next: (data: any) => {\r\n newCaseId = data;\r\n let elem = document.getElementById('closeModalBtn');\r\n let evt = new MouseEvent('click', {\r\n bubbles: true,\r\n cancelable: true,\r\n view: window\r\n });\r\n elem.dispatchEvent(evt);\r\n },\r\n error: err => console.error(err),\r\n complete: () => {\r\n this.navigateToNewCase(newCaseId);\r\n this.newCase = new CreateCompanyCase();\r\n this.resetCaseModal();\r\n }\r\n });\r\n }\r\n \r\n navigateToNewCase(id: string) {\r\n this.router.navigate([\"Details/\" + id]);\r\n }\r\n\r\n createDelivery() {\r\n console.log('Create a delivery from?', this.newCase)\r\n const headers = new HttpHeaders({ Authorization: this.userId });\r\n this.http.post(api.jubloApi + 'api/Website/Customer/AddDeliveryAddress', {\r\n customerId: \"\",\r\n name: \"string\",\r\n address: \"string\",\r\n city: \"string\",\r\n zipCode: \"string\",\r\n telephone: \"string\",\r\n mobile: \"string\",\r\n att: \"string\",\r\n ean: \"string\",\r\n email: \"string\"\r\n })\r\n }\r\n\r\n getPreviousFromCurrent() {\r\n switch (this.steps.current) {\r\n case 'chooseLease':\r\n case 'final': {\r\n this.steps.previous = 'chooseCustomer';\r\n break;\r\n }\r\n case 'chooseDelivery':\r\n case 'chooseContact': {\r\n this.steps.previous = 'final';\r\n break;\r\n }\r\n default:\r\n this.steps.previous = 'final';\r\n break;\r\n }\r\n }\r\n\r\n newCaseCustomerChanged(event) {\r\n this.customerComponentData = event;\r\n if (!!event.leases && event.leases.length > 0) {\r\n if (event.leases.length == 1) {\r\n this.newCase.propertyLeaseId = event.leases[0].propertyLeaseId;\r\n this.newCase.propertyId = event.leases[0].propertId;\r\n }\r\n }\r\n }\r\n\r\n newCustomerDataEntered(ev: SingleCustomer) {\r\n if (!!ev.customerName) this.newCustomerCheck = true;\r\n }\r\n\r\n resetCaseModal() {\r\n this.steps.previous = 'chooseCustomer';\r\n this.newCase = new CreateCompanyCase();\r\n this.customerDetails = null;\r\n this.customerComponentData = null;\r\n this.steps.current = this.propertyManagement ? 'final' : 'chooseCustomer';\r\n this.customerComponentMessage = 'reset';\r\n this.propertySearch = null;\r\n this.leaseSearch = null;\r\n this.dblClick = false;\r\n this.casePropertyManager = new PropertyManager();\r\n this.newCustomerCheck = false;\r\n this.clearLease();\r\n this.clearProperty();\r\n this.getMyProperties();\r\n }\r\n\r\n pageTurner(message) {\r\n this.steps.current = message;\r\n }\r\n}\r\n\r\nclass Owner {\r\n name: string;\r\n address: string;\r\n zipCode: string;\r\n city: string;\r\n email: string;\r\n phone: string;\r\n mobile: string;\r\n}\r\n","<!-- CREATE CASE-->\r\n<div id=\"createNewCaseModal\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" data-target=\"local_modal\" data-toggle=\"modal\" aria-labelledby=\"createNewCaseModalLabel\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modalSlider\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header p-3\">\r\n <h5 class=\"modal-title\" id=\"createNewCaseModalLabel\">{{ 'Buttons.CreateCase' | translate }}</h5>\r\n <button id=\"closeModalBtn\" type=\"button\" class=\"close\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M1 11L11 1M1 1L11 11\" stroke=\"black\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </button>\r\n </div>\r\n <div class=\"modal-body p-3\" style=\"overflow-y: auto;\">\r\n <!-- IF PROPERTY MANAGEMENT -->\r\n <div class=\"row mb-3\" *ngIf=\"propertyManagement\">\r\n <div class=\"col-12 col-md-6\">\r\n <label for=\"propertySearch\">{{ 'Properties.Property' | translate }}</label>\r\n <div class=\"input-group\" id=\"propertySearch\">\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"propertySearch\" (focus)=\"searchProperty($event)\" (keyup)=\"searchProperty($event)\" (blur)=\"delayedClose()\" *ngIf=\"!!casePropertyManager.filteredProperties\" placeholder=\"{{ 'Standard.Search' | translate }}\">\r\n <button type=\"button\" class=\"btn bg-transparent btn-clear\" (click)=\"clearProperty()\">\r\n <i class=\"fal fa-times\"></i>\r\n </button>\r\n </div>\r\n <div class=\"searchResult\" *ngIf=\"showPropertyResults\">\r\n <div class=\"searchItem\" *ngFor=\"let x of casePropertyManager.filteredProperties | slice:0:20\" (click)=\"setProperty(x)\">{{ x.number }} {{ x.name }}</div>\r\n <div class=\"searchItem\" *ngIf=\"newCase.propertyId == null && !!casePropertyManager.filteredProperties && casePropertyManager.filteredProperties.length == 0\">{{ 'Search.NoResultsFound' | translate }}</div>\r\n <div class=\"searchItem\" *ngIf=\"newCase.propertyId != null && !!casePropertyManager.filteredProperties && casePropertyManager.filteredProperties.length == 0\">{{ propertySearch }}</div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-md-6\" *ngIf=\"!!casePropertyManager.filteredLeases\">\r\n <label for=\"leaseSearch\">{{ 'Properties.Lease' | translate }}</label>\r\n <div class=\"input-group\" id=\"leaseSearch\">\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"leaseSearch\" (focus)=\"searchLease($event)\" (keyup)=\"searchLease($event)\" (blur)=\"delayedClose()\" placeholder=\"{{ 'Standard.Search' | translate }}\">\r\n <button type=\"button\" class=\"btn bg-transparent btn-clear\" (click)=\"clearLease()\">\r\n <i class=\"fal fa-times\"></i>\r\n </button>\r\n </div>\r\n <div class=\"searchResult\" *ngIf=\"showLeaseResults\">\r\n <div class=\"searchItem\" *ngFor=\"let x of casePropertyManager.filteredLeases\" (click)=\"setLease(x)\">{{ x.leaseNumber }} {{ x.address }}<span *ngIf=\"!!x.tenant && x.tenant.name\"> - {{ x.tenant.name }}</span></div>\r\n <div class=\"searchItem\" *ngIf=\"newCase.propertyLeaseId == null && casePropertyManager.filteredLeases.length == 0\">{{ 'Search.NoResultsFound' | translate }}</div>\r\n <div class=\"searchItem\" *ngIf=\"newCase.propertyLeaseId != null && casePropertyManager.filteredLeases.length == 0\">{{ propertySearch }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100\" *ngIf=\"!propertyManagement\">\r\n <case-customer [(step)]=\"steps.current\" (choose)=\"createCaseChooseCustomer($event)\" (com)=\"pageTurner($event)\" [do]=\"customerComponentMessage\" (update)=\"newCaseCustomerChanged($event)\" (listener)=\"newCustomerDataEntered($event)\"></case-customer>\r\n </div>\r\n <div class=\"row\" *ngIf=\"steps.current == 'final'\">\r\n <!-- CASE Details -->\r\n <div class=\"col-12 mb-3\">\r\n <label>{{ 'Standard.Title' | translate }}</label>\r\n <input type=\"text\" [(ngModel)]=\"newCase.title\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-12 mb-3\">\r\n <label class=\"mb-0\" for=\"OfferDescription\">{{ 'Standard.Description' | translate }} *</label>\r\n <textarea class=\"form-control form-control-textArea\" rows=\"4\" type=\"text\" [(ngModel)]=\"newCase.description\" id=\"OfferDescription\"></textarea>\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"mb-0\">{{ 'Standard.Reference' | translate }}</label>\r\n <input type=\"text\" [(ngModel)]=\"newCase.vorRef\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-6\" *ngIf=\"!propertyManagement\">\r\n <label class=\"mb-0\">{{ 'Standard.RequisitionNumber' | translate }}</label>\r\n <input type=\"text\" [(ngModel)]=\"newCase.requisitionNumber\" class=\"form-control\">\r\n </div>\r\n <div class=\"col-6\" *ngIf=\"!!responsibles && responsibles.length > 0\">\r\n <label class=\"mb-0\">{{ 'Standard.CaseResponsible' | translate }}</label>\r\n <select class=\"form-control\" [(ngModel)]=\"newCase.responsibleId\">\r\n <option [ngValue]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n <option *ngFor=\"let x of responsibles\" [value]=\"x.key\">{{x.value}}</option>\r\n </select>\r\n </div>\r\n <div class=\"col-6 mt-3 align-self-center\">\r\n <label class=\"mb-0\" for=\"notificationCheck\">{{ 'Settings.Notifications' | translate }} </label>\r\n <div class=\"form-group form-check h-auto\" id=\"notificationCheck\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"disableNotificationCheck\" [(ngModel)]=\"notification\">\r\n <label class=\"form-check-label\" for=\"disableNotificationCheck\">{{ notification ? ( 'Standard.On' | translate ) : ('Standard.Off' | translate) }}</label>\r\n </div>\r\n </div>\r\n <div class=\"col-6 mt-3\">\r\n <label class=\"mb-0\">{{ 'Standard.Status' | translate }}</label>\r\n <select class=\"form-control\" [(ngModel)]=\"newCase.caseStatusId\">\r\n <option value=\"8850aee1-48a3-48a6-aa98-2e1597b7b1d7\">{{ 'CaseStatus.Name.Open' | translate }}</option>\r\n <option value=\"6991f0ea-bdb5-4e30-868f-46c43d712e9b\">{{ 'CaseStatus.Name.NeedPlanning' | translate }}</option>\r\n <option value=\"a693c47f-9685-4bb6-bf6e-bcab86cb88de\">{{ 'CaseStatus.Name.Closed' | translate }}</option>\r\n <option value=\"7bccdf15-ad49-4cc9-b358-68e08287f32f\">{{ 'CaseStatus.Name.Posted' | translate }}</option>\r\n <option value=\"99bc09b6-b7f7-46c0-a40b-5dfc27ec9cf0\">{{ 'CaseStatus.Name.Canceled' | translate }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"!propertyManagement\">\r\n <div class=\"d-flex\">\r\n <button type=\"button\" class=\"btn btn-secondary mr-3\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = steps.previous; customerComponentMessage = 'back'\" *ngIf=\"steps.current != 'chooseCustomer' && steps.current != 'chooseDelivery' && steps.current != 'chooseContact' && steps.current != 'newDelivery' && steps.current != 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'final'\" *ngIf=\"(steps.current == 'chooseCustomer' && !!newCase.customerId) || steps.current == 'chooseDelivery' || steps.current == 'chooseContact' && steps.current != 'newDelivery' && steps.current != 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'chooseDelivery'; customerComponentMessage = 'resetNewDelivery'\" *ngIf=\"steps.current == 'newDelivery'\">{{ 'Buttons.Back' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'chooseContact'; customerComponentMessage = 'resetNewContact'\" *ngIf=\"steps.current == 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n </div>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'editCustomer'\" *ngIf=\"steps.current == 'editCustomer'\">{{ 'Buttons.Save' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'createCustomer'\" [disabled]=\"newCustomerCheck == false\" *ngIf=\"steps.current == 'newCustomer'\">{{ 'Buttons.CreateCustomer' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'chooseDelivery';\" *ngIf=\"steps.current == 'newDelivery'\">{{ 'Buttons.Create' | translate }} {{ ('Standard.DeliveryAddress' | translate) | lowercase }}</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'chooseContact';\" *ngIf=\"steps.current == 'newContact'\">{{ 'Standard.Create' | translate }} {{ ('Standard.ContactPerson' | translate) | lowercase }}</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'chooseCustomer'\" *ngIf=\"steps.current == 'chooseCustomer'\" [disabled]=\"newCase.customerId == null\">{{ 'Buttons.Next' | translate }}</button>\r\n <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase()\" *ngIf=\"steps.current == 'final'\" [disabled]=\"newCase.description == '' || dblClick\">{{'Buttons.CreateCase' | translate}}</button>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"propertyManagement\">\r\n <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n <div *ngIf=\"noLeaseWarning\">\r\n <p class=\"text-danger text-bold\">Du er ved at oprette en sag uden ejendom.</p>\r\n </div>\r\n <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase()\" [disabled]=\"newCase.customerId == null || newCase.description == '' || dblClick\" *ngIf=\"!noLeaseWarning\">{{ 'Buttons.CreateCase' | translate }}</button>\r\n <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase('force')\" [disabled]=\"newCase.customerId == null || newCase.description == '' || dblClick\" *ngIf=\"noLeaseWarning\">Opret på ejendom</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n<button id=\"newCaseModalOpener\" data-toggle=\"modal\" data-target=\"#createNewCaseModal\" hidden></button>","import { Responsible, Status, Task, KeyValue, ChooseTimeInput, Lists, FileInput, FileOutput, Fitter, Message, PendingMessage, Origin, CustomerDetails, CompanyInformation, DeliveryAddressDetails, AddressDetails, BookingOnCase } from './models';\r\nimport { CaseStage, ChannelItem } from \"app/settings/category-setup/category-setup.component\";\r\nimport { CaseType } from 'app/cases/cases.component';\r\nimport { GetOffer } from 'app/shared-html-components/document-creator/productGrid';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport class CaseObject {\r\n public data: CaseDetails | any;\r\n public offer: GetOffer;\r\n public lists = new Lists();\r\n public companyInformation = new CompanyInformation();\r\n public temporaryData = new CaseTempData();\r\n public pdfSettings;\r\n public acceptableOffers = [];\r\n}\r\n\r\nexport class CaseTempData {\r\n public messageFiles: Array<FileInput>;\r\n public messages: Array<Message>;\r\n}\r\n\r\nexport class CaseDetails {\r\n public assets?: Array<string>;\r\n public caseId: string;\r\n public caseChannel: ChannelItem;\r\n public caseNumber: string;\r\n public caseStage?: CaseStage;\r\n public casePriority:CaseDetailsCasePriority;\r\n public contactAddress: AddressDetails;\r\n public createdAt: string;\r\n public customer: CustomerDetails;\r\n public customerNumber: string;\r\n public departmentId?: any;\r\n public description: string;\r\n public deliveryAddress: AddressDetails;\r\n public disableNotifications: string;\r\n public disableNotification: boolean;\r\n public unreadPartnerMessage: boolean;\r\n public externalId: string;\r\n public hours: number;\r\n public internalNote: string;\r\n public invoice: AddressDetails;\r\n public lastModified: string;\r\n public fileId: Array<string>;\r\n public files: Array<FileOutput>;\r\n public fitter: Fitter;\r\n public link: string;\r\n public messages: Array<Message>;\r\n public notificationSetId: string;\r\n public offerStatusId: string;\r\n public offerList: Array<OfferList>;\r\n public origin: Origin;\r\n public requisitionNumber: string;\r\n public responsible: Responsible;\r\n public status: Status;\r\n public title: string;\r\n public transferId?: string;\r\n public transferTypeId?: string;\r\n public offerId: string;\r\n public caseType: CaseType;\r\n public companyName: string;\r\n public vorRef: string;\r\n public propertyInfo: PropertyInfo;\r\n public propertyLease: PropertyLease;\r\n public caseCreatedBy?: CaseCreatedBy;\r\n public invoiceTypeId?: string;\r\n}\r\n\r\ninterface CaseDetailsCasePriority {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class OfferList {\r\n public cooperativeHousingAssessment?: CHA;\r\n public acceptanceDate: string;\r\n public costPrice: string;\r\n public createdAt: string;\r\n public offerId: string;\r\n public offerNumber: string;\r\n public offerPdfId: string;\r\n public offerTypeId: string;\r\n public salesVAT: string;\r\n public statusId: string;\r\n public title: string;\r\n public totalPrice: number;\r\n public variationOrderNumber: number;\r\n public stade: number;\r\n}\r\n\r\nexport class PropertyInfo {\r\n propertyNumber: string;\r\n propertyLeaseNumber: string;\r\n}\r\n\r\nexport class PropertyLease {\r\n propertyId: string;\r\n propertyLeaseId: string;\r\n}\r\n\r\nexport class CaseCreatedBy {\r\n id: string = null;\r\n isStakeholder: boolean = false;\r\n}\r\n\r\nexport class CHA {\r\n acceptedAt: string;\r\n acceptedBy: string;\r\n chaId: string;\r\n savedAt: string;\r\n savedBy: string;\r\n}\r\n\r\nexport class CustomerInput {\r\n public mobileOverviewExpanded = false;\r\n public viewDesign = false;\r\n public viewPackage = false;\r\n public viewCustomLine = false;\r\n public changeCaseResponsible = false;\r\n public changeOfferResponsible = false;\r\n public changeDescription = false;\r\n public requisition = false;\r\n public vorRef = false;\r\n // public click = new NicoClickPrevention();\r\n public search: string = '';\r\n public changeStatus: boolean = false;\r\n public fakeMessage = {\r\n 'createdAt': new Date(),\r\n 'description': '',\r\n 'files': [],\r\n 'messageId': \"fake\",\r\n 'messageStatus': { key: '184cfaef-2836-431d-bf5a-0e598fb16264', value: 'Pending' },\r\n 'messageType': { key: '403358D3-F766-43C6-AA19-276C40C9CF5A', value: 'Message' },\r\n 'sentAt': new Date(),\r\n 'sendBy': { 'key': 'fake', 'value': '' },\r\n 'title': \"-\"\r\n }\r\n public hoursProfit = 0;\r\n public hoursDiscount = 0;\r\n public hoursSalePerHour = 0;\r\n public changeChannel = false;\r\n public currentChannel = null;\r\n public changeProperty = false;\r\n public changeLease = false;\r\n}\r\n\r\nexport class Property {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class PropertyLeaseType {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class Leases {\r\n id: string;\r\n property: Property = new Property();\r\n leaseNumber: string;\r\n address: string;\r\n city: string;\r\n zipCode: string;\r\n propertyLeaseType: PropertyLeaseType = new PropertyLeaseType();\r\n tenant: Tenant;\r\n createdAt: Date;\r\n}\r\n\r\nexport class Tenant {\r\n email: string;\r\n id: string;\r\n mobile: string;\r\n name: string;\r\n phone: string;\r\n}\r\n\r\nexport class Properties {\r\n id: string;\r\n number: string;\r\n name: string;\r\n department?: any;\r\n address: string;\r\n city: string;\r\n zipCode: string;\r\n createdAt: Date;\r\n}\r\n\r\nexport class PropertyManager {\r\n allProperties: Array<Properties>;\r\n filteredProperties: Array<Properties>;\r\n propertySortBy = 'name';\r\n propertySortDirection = -1 ;\r\n propertySearchString: string = '';\r\n changePropertySort(s:string) {\r\n if(s == this.propertySortBy){\r\n this.propertySortDirection = this.propertySortDirection * -1;\r\n this.filterProperties();\r\n }\r\n else {\r\n this.propertySortBy = s;\r\n this.propertySortDirection = -1;\r\n this.filterProperties()\r\n }\r\n }\r\n filterProperties() {\r\n let p = this.allProperties;\r\n let s = this.propertySearchString.toLowerCase();\r\n this.filteredProperties = p.filter(x => x.number != null && x.number.toString().match(s) ||\r\n x.name != null && x.name.toLowerCase().match(s) ||\r\n x.address != null && x.address.toLowerCase().match(s) ||\r\n x.zipCode != null && x.zipCode.toLowerCase().match(s) ||\r\n x.city != null && x.city.toLowerCase().match(s)\r\n ).sort((a,b)=> a[this.propertySortBy].toLowerCase() < b[this.propertySortBy].toLowerCase() ? this.propertySortDirection : (this.propertySortDirection * -1) )\r\n }\r\n allLeases: Array<Leases> | null = null;\r\n filteredLeases: Array<Leases> | null = null;\r\n leasesSearchString: string = '';\r\n leaseSortBy = 'leaseNumber';\r\n leaseSortDirection = -1;\r\n changeLeaseSort(s:string) {\r\n if(s == this.leaseSortBy){\r\n this.leaseSortDirection = this.leaseSortDirection * -1;\r\n this.filterLeases();\r\n }\r\n else {\r\n this.leaseSortBy = s;\r\n this.leaseSortDirection = -1;\r\n this.filterLeases()\r\n }\r\n }\r\n filterLeases() {\r\n let l = this.allLeases;\r\n let s = this.leasesSearchString.toLowerCase();\r\n this.filteredLeases = l.filter(x =>\r\n x.leaseNumber != null && x.leaseNumber.toLowerCase().match(s) ||\r\n x.address != null && x.address.toLowerCase().match(s)\r\n ).sort((a,b)=> {\r\n if(this.leaseSortBy == 'leaseNumber') return +a.leaseNumber < +b.leaseNumber ? this.leaseSortDirection : (this.leaseSortDirection * -1);\r\n return a[this.leaseSortBy].toLowerCase() < b[this.leaseSortBy].toLowerCase() ? this.leaseSortDirection : (this.leaseSortDirection * -1);\r\n } )\r\n }\r\n}\r\n\r\nexport class ClearPriceBasketInfo {\r\n products: Array<any> = [];\r\n name: string = '';\r\n address: string = '';\r\n zipCode: string = '';\r\n city: string = '';\r\n orderNumber: string = '';\r\n}\r\n\r\nexport class SelectResponsibleNotification {\r\n mail: boolean = false;\r\n sms: boolean = false;\r\n alert: boolean = true;\r\n}\r\n\r\nexport class OrderHistory {\r\n Id!: number;\r\n WholesalerId!: number;\r\n OrderDate!: string;\r\n TotalAmount!: number;\r\n DeliveryAddress!: string;\r\n ProductCount!: number;\r\n UserName!: string;\r\n}\r\n\r\nexport class OrderHistoryLines {\r\n Number!: string;\r\n Description!: string;\r\n Quantity!: number;\r\n TotalAmount!: number;\r\n}\r\n\r\nexport class CaseProperties {\r\n salesPrice: number;\r\n costPrice: number;\r\n packageId: string;\r\n packageNumber: string;\r\n servicetype: string;\r\n installationTimeInMinutes: string;\r\n length: number = 0;\r\n}","import { CaseStage } from \"app/settings/category-setup/category-setup.component\";\r\nimport { NotificationSets } from \"app/settings/notifications/notifications\";\r\n\r\nexport class ChooseTimeInput {\r\n public startTime: string;\r\n public endTime: string;\r\n public fitter: string;\r\n}\r\n\r\nexport class CompanyInformation {\r\n public name: string;\r\n public address: string;\r\n public id: string;\r\n public phone : string;\r\n public logo: string;\r\n public email: string;\r\n public companyLanguage: 'da-DK' | 'sv-SE' | 'en-US' | 'nn-NO' | 'es-ES' | 'fo-FO' | 'de-DE' ;\r\n public companyNumber: number;\r\n public companyType: string;\r\n public googleAnalyticsId: string;\r\n public originId: string;\r\n public vat: string;\r\n public base64? : string;\r\n public website: string;\r\n}\r\n\r\nexport class CustomerDetails {\r\n address: string;\r\n customerId?: string;\r\n email: string;\r\n mobile: string;\r\n phone: string;\r\n name: string;\r\n zipCode: string;\r\n city: string;\r\n cvr?:string;\r\n}\r\n\r\nexport class AddressDetails {\r\n address: string;\r\n id: string;\r\n email: string;\r\n mobile: string;\r\n phone: string;\r\n name: string;\r\n zipCode: string;\r\n city: string;\r\n}\r\n\r\nexport class DeliveryAddressDetails {\r\n address: string;\r\n id: string;\r\n email: string;\r\n mobile: string;\r\n phone: string;\r\n name: string;\r\n zipCode: string;\r\n city: string;\r\n}\r\n\r\nexport class Department {\r\n public companyId: string;\r\n public createdAt: string;\r\n public departmentBelongToId: string;\r\n public departmentBelongToName: string;\r\n public departmentId: string;\r\n public description: string;\r\n public lastModified: Date;\r\n public name: string;\r\n}\r\n\r\nexport class FileInput {\r\n public fileId = [];\r\n public fileName = [];\r\n public ext = [];\r\n public originalName = '';\r\n}\r\n\r\nexport class FileOutput {\r\n public extension: string = '';\r\n public fileId: string = '';\r\n public fileTypeId: string = '';\r\n public originalName: string = '';\r\n public path: string = '';\r\n}\r\n\r\nexport class Fitter {\r\n public fitterId: string;\r\n public name: string;\r\n}\r\n\r\nexport class KeyValue {\r\n public key: string;\r\n public value: string;\r\n}\r\n\r\nexport class Lists {\r\n public responsibles: Array<KeyValue> = [];\r\n public departments: Array<Department> = [];\r\n public skills: Array<Skill> = [];\r\n public status: Array<Status> = [];\r\n public tasks: Array<Task> = [];\r\n public priceGroups: Array<PriceGroup>;\r\n public pendingMessages: Array<PendingMessage>;\r\n offerListFiltered: Array<any>;\r\n public caseStages: Array<CaseStage> = [];\r\n notificationSets: NotificationSets[] = [];\r\n\r\n}\r\n\r\nexport class Message {\r\n public caseId: string = '';\r\n public description: string = '';\r\n public fileId: string = '';\r\n public files: FileOutput = new FileOutput();\r\n public messageId: string = '';\r\n public messageTypeId = '';\r\n public sentAt: string = '';\r\n public sentBy: Stakeholder = new Stakeholder();\r\n public title: string = '-';\r\n public messageReadByCustomer: boolean;\r\n public emailSent: boolean;\r\n public smsSent: boolean;\r\n}\r\n\r\nexport class PendingMessage {\r\n public email: string;\r\n public id: string;\r\n public messageTypeId: string;\r\n public sendingAt: string;\r\n public shortDescription: string;\r\n public sms: string;\r\n date?: string;\r\n time: string;\r\n}\r\n\r\nexport class BookingOnCase {\r\n receiverId: string = null;\r\n receiver: number = null;\r\n isBookable: boolean = true;\r\n skillId: string = null;\r\n priceGroupId: string = null;\r\n}\r\n\r\nexport class MessageTypes {\r\n public customer = [\r\n '77e3ae35-6955-4fbb-89a9-1992ee407dd6',\r\n 'b493822e-bae1-4e96-889c-ae5f821c6473',\r\n '89a873df-acda-41ca-a680-c40f20f7329e'\r\n ];\r\n public system = [\r\n 'b2114c29-d297-4a12-bda5-a400fbcaaf40',\r\n '1aabee02-1576-4dad-a995-3e8c272f8e82',\r\n '87806a15-0ae5-44a9-ba2e-ff2402b1345f',\r\n 'c2de85a8-7ce7-4e1c-a229-5279e4ea5f2b',\r\n '8c300432-6ff5-4e6a-a259-1fb0e9877cbf',\r\n '8850aee1-48a3-48a6-aa98-2e1597b7b1d7',\r\n '99bc09b6-b7f7-46c0-a40b-5dfc27ec9cf0',\r\n '7bccdf15-ad49-4cc9-b358-68e08287f32f',\r\n 'b56c96f0-0e8c-4a9f-8faf-70eea6f6b0b7',\r\n 'a693c47f-9685-4bb6-bf6e-bcab86cb88de',\r\n '6bef49c6-c9a1-4fd3-ae13-e9b28dfc7b6b',\r\n 'dbe287c5-6011-47f3-88e8-eafa671d1ed6',\r\n '7f42fb44-d8ea-491f-8bfc-0b63a5276ddf'\r\n ];\r\n public company = [\r\n 'c3affd15-1834-44ff-9c5e-11763e6aabed',\r\n 'd8e8ed6f-8582-4f0a-bc26-1307f32825ed',\r\n '880a69de-65ea-4bd0-96bb-238999075b5b',\r\n '403358d3-f766-43c6-aa19-276c40c9cf5a',\r\n 'e16ffab0-bbac-4a90-906c-27ec935deba4',\r\n '69d4f294-ca74-4df1-b018-2e2779e775c5',\r\n '6deaca71-b600-4f4a-8923-3e5286190f4a',\r\n '8c0e89f8-0186-4ded-96a1-806fa7846523',\r\n 'affa0591-e431-4543-a005-9200d71e5948',\r\n '5bd55f91-ae0b-4289-911d-a4037a244360',\r\n 'd9cac90c-6aff-4067-8666-a61d07077379',\r\n '1f960a12-f5a8-4cd3-a474-bb41fd68a026',\r\n '04630a3b-6f6e-4c24-be3a-f56a0499c8c4',\r\n '47324550-1525-4d66-b975-f8c9c9301b15'\r\n ];\r\n public internal = ['5bd55f91-ae0b-4289-911d-a4037a244360'];\r\n}\r\n\r\nexport class Origin {\r\n public originId: string;\r\n public url: string;\r\n}\r\n\r\nexport class Responsible {\r\n public responsibleId: string;\r\n public name: string;\r\n}\r\n\r\nexport class Skill {\r\n public description: string = '';\r\n public name: string;\r\n public packageDistributorId: string;\r\n public skillId: string;\r\n}\r\n\r\nexport class Procurement {\r\n id: string;\r\n name: string;\r\n icon: string = \"fas fa-question\";\r\n}\r\n\r\nexport class Enterprise {\r\n id: string;\r\n name: string;\r\n icon: string = \"fas fa-question\";\r\n}\r\n\r\nexport class Stakeholder {\r\n public stakeholderId: string = '';\r\n public name: string = '';\r\n}\r\n\r\nexport class Status {\r\n caseStatusId: string;\r\n name: string;\r\n description: string;\r\n createdAt: string;\r\n lastModified: string;\r\n}\r\n\r\nexport class Task {\r\n public caseTaskStatus: KeyValue;\r\n public caseTaskType: KeyValue;\r\n public endDateTime: string;\r\n public fitter: KeyValue;\r\n public startDateTime: string;\r\n public taskId: string;\r\n}\r\n\r\nexport class PriceGroup {\r\n public priceGroupId: string;\r\n public description: string;\r\n public name: string;\r\n public costPrice: number;\r\n public listPrice: number;\r\n public companyId: string;\r\n public createdAt: string;\r\n public lastModified: string;\r\n}\r\n\r\nexport class ActivityHistory {\r\n // type: string;\r\n // icon: string[];\r\n // createdAt: string;\r\n // userType: string;\r\n // userId: string;\r\n // userName: string;\r\n // description: string;\r\n // message: string;\r\n name: string;\r\n icon: string;\r\n text: string;\r\n translateText: string;\r\n createdAt: string;\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Location } from '@angular/common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SharedDataService } from '../../shared/services/shared-data.service';\r\nimport { CaseInfo } from '../../reports/reports.component';\r\nimport { curveMonotoneX } from 'd3-shape';\r\nimport * as api from '../../shared/api/apihandler';\r\n\r\n@Component({\r\n selector: 'app-case-reports',\r\n templateUrl: './case-reports.component.html'\r\n})\r\nexport class CaseReportsComponent implements OnInit {\r\n compInfo;\r\n responsibles;\r\n fitters;\r\n departments;\r\n filter = new ReportsCaseFilterObject();\r\n\r\n curve = curveMonotoneX;\r\n\r\n report = new CaseReportObject();\r\n\r\n constructor(private httpClient: HttpClient, private router: Router, private activeroute: ActivatedRoute, private loc: Location, private sharedData: SharedDataService) { }\r\n\r\n ngOnInit() {\r\n this.sharedData.companyInformation().subscribe(data => this.compInfo = data);\r\n this.sharedData.responsibles().subscribe(data => { this.responsibles = data });\r\n this.sharedData.departments().subscribe(data => { this.departments = data });\r\n this.sharedData.fitter().subscribe(data => { this.fitters = data });\r\n this.activeroute.queryParams.subscribe((data) => this.setFilterFromQueryParams(data));\r\n this.getCases();\r\n }\r\n\r\n getCases() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.httpClient.get(api.jubloApi + 'api/Website/Dashboard/GetCaseReport', { headers }).subscribe((data: Array<CaseInfo>) => {\r\n this.report.allCases = data.sort((a,b) => new Date(a.createdAt) < new Date(b.createdAt) ? -1 : 1);\r\n }, () => { }, () => {\r\n this.filterCases();\r\n }\r\n );\r\n }\r\n\r\n async filterCases() {\r\n this.report.test = null;\r\n let c = this.report.allCases;\r\n for (let x of Object.keys(this.filter.by)) {\r\n switch (x) {\r\n case ('fromDate'): {\r\n let d = !!this.filter.by.fromDate ? this.filter.by.fromDate : null;\r\n if (d != null) {\r\n let e: Date = new Date(this.filter.by.fromDate.getFullYear(), this.filter.by.fromDate.getMonth() - 1, this.filter.by.fromDate.getDate());\r\n console.log(e);\r\n c = c.filter(x => x.createdAt != null && new Date(x.createdAt) > e);\r\n }\r\n console.log(c.length)\r\n ; break\r\n }\r\n case ('toDate'): {\r\n let d = !!this.filter.by.toDate ? this.filter.by.toDate : null;\r\n if (d != null) {\r\n let e: Date = new Date(this.filter.by.toDate.getFullYear(), this.filter.by.toDate.getMonth() -1, this.filter.by.toDate.getDate() + 1);\r\n c = c.filter(x => x.createdAt != null && new Date(x.createdAt) < e);\r\n }\r\n ; break\r\n }\r\n case ('responsible'): {\r\n if (this.filter.by.responsible != null && this.filter.by.responsible != '') {\r\n c = c.filter(x => x.responsibleId != null && x.responsibleId == this.filter.by.responsible )\r\n }\r\n ; break\r\n }\r\n case ('fitter'): {\r\n if (this.filter.by.fitter != null && this.filter.by.fitter != '') {\r\n c = c.filter(x => x.fitterId != null && x.fitterId == this.filter.by.fitter)\r\n }\r\n ; break\r\n }\r\n case ('caseChannel'): { ;break}\r\n case ('department'): {\r\n ; break\r\n }\r\n } // end of switch\r\n } // end of for loop\r\n this.report.cases = c;\r\n\r\n this.mapCaseData();\r\n }\r\n\r\n \r\n\r\n formatDisplayData() {\r\n\r\n\r\n }\r\n\r\n async mapCaseData() {\r\n let data = [];\r\n let c = this.report.cases.filter(x => x.properties != null);\r\n let tilbud = this.getSeries(c.filter(x => x.title != null && x.title.includes('Tilbud')));\r\n let pakke = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('pakke')));\r\n let service = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('service')));\r\n let rekvisition = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('rekvisition')));\r\n let andet = this.getSeries(c.filter(x => x.title == null || x.title == '' || x.title == '-'));\r\n //data = [\r\n // {name:'Tilbud', series:tilbud},\r\n // { name: 'Pakker', series: pakke},\r\n // { name: 'Service', series: service},\r\n // { name: 'Rekvisition', series: rekvisition},\r\n // { name: 'Andet', series: andet}\r\n //]\r\n data = [\r\n { name: 'Tilbud', series: tilbud }\r\n ]\r\n this.report.test = data;\r\n }\r\n\r\n getSeries(data: Array<any>) {\r\n let series = [];\r\n let stringOfDates: Array<string> = Array.from(\r\n new Set(\r\n data.map(x => new Date(x.createdAt).toLocaleString().split(' ')[0])\r\n )\r\n );\r\n stringOfDates = stringOfDates.sort((a, b) => { return new Date(a).toISOString() < new Date(b).toISOString() ? 1 : -1 })\r\n for (let x of stringOfDates) {\r\n let currentData = data.filter(y => new Date(y.createdAt).toLocaleString().split(' ')[0] == x)\r\n let name = x;\r\n let value:number = currentData.reduce((total, current) => {\r\n let a = current.properties != null && current.properties.find(x => x.name == \"SalesPrice\") != null && current.properties.find(x => x.name == \"SalesPrice\").value != null ? +current.properties.find(x => x.name == \"SalesPrice\").value.replace(',', '.') : 0;\r\n return +total + +a\r\n }, 0);\r\n series.push({ name: name, value: +value.toFixed(2) })\r\n }\r\n return series\r\n }\r\n\r\n totalByType() {\r\n let t = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Tilbud') ? +1 : +0) }, 0)\r\n let p = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Bestilling af pakke') ? +1 : +0) }, 0)\r\n let s = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Service') ? +1 : +0) }, 0)\r\n let a = this.report.cases.reduce((total, y) => { return +total + (y.title == null || y.title == '-' || y.title == '' ? +1 : +0) }, 0)\r\n let r = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Rekvisition') ? +1 : +0) }, 0)\r\n let data =\r\n [\r\n { name: 'Tilbud', value: t },\r\n { name: 'Pakker', value: p },\r\n { name: 'Service', value: s },\r\n { name: 'Rekvisition', value: r },\r\n { name: 'Andet', value: a }\r\n\r\n ]\r\n }\r\n\r\n clearFilter() {\r\n this.filter.by = new ReportsCaseFilterOptions();\r\n this.filterCases();\r\n }\r\n\r\n async setFilterFromQueryParams(params) {\r\n for (let x of Object.keys(params)) {\r\n switch (x) {\r\n case ('fromDate'):\r\n case ('toDate'): {\r\n this.filter.by[x] = new Date(params[x]);\r\n break\r\n }\r\n case ('origin'): {\r\n if (['fullScreen'].includes(params[x])) {\r\n // fullscreen code to be added later\r\n };\r\n break\r\n }\r\n case ('period'): {\r\n await this.filter.setDatesFromfind(await this.filter.find.findDates(params[x]))\r\n ;break\r\n }\r\n default: {\r\n this.filter.by[x] = params[x]\r\n } // end of default\r\n } // end of switch\r\n } // end of for loop\r\n if (this.report.cases != null && this.report.cases.length > 0) {\r\n this.filterCases()\r\n }\r\n }\r\n\r\n async setParamsFromFilter() {\r\n let params = {};\r\n for (let x of Object.keys(this.filter.by)) {\r\n if (this.filter.by[x] != null) {\r\n if (typeof (this.filter.by[x]) == 'string') {\r\n params[x] = this.filter.by[x]\r\n }\r\n else if (typeof (this.filter.by[x]) == 'object') {\r\n params[x] = this.filter.by[x].singleDate.date.year + '-' + this.filter.by[x].singleDate.date.month + '-' + this.filter.by[x].singleDate.date.day\r\n }\r\n }\r\n }\r\n this.router.navigate(['.'], { queryParams: params, relativeTo: this.activeroute })\r\n }\r\n\r\n back() {\r\n this.loc.back();\r\n }\r\n\r\n test(event) {\r\n console.log(event)\r\n }\r\n}\r\n\r\nexport class CaseReportObject {\r\n allCases;\r\n cases;\r\n test;\r\n}\r\n\r\nexport class ReportsCaseFilterObject {\r\n by = new ReportsCaseFilterOptions();\r\n find = new FilterStringsToDates();\r\n setDatesFromfind(dates: FromToDates) {\r\n this.by.fromDate = new Date(dates.from)\r\n this.by.toDate = new Date(dates.to);\r\n }\r\n changeDate(what, when) {\r\n this.by[what] = when\r\n }\r\n}\r\n\r\nexport class ReportsCaseFilterOptions {\r\n fromDate: Date = null;\r\n toDate: Date = null;\r\n responsible: string = null;\r\n fitter: string = null;\r\n caseChannel: string = null;\r\n department: string = null;\r\n}\r\n\r\nexport class FilterStringsToDates {\r\n private from: Date;\r\n private to: Date;\r\n private now = new Date();\r\n /**\r\n * @param period thisWeek, lastWeek, thisMonth, lastMonth, thisYear, lastYear\r\n * @returns { from: Date, to: Date }\r\n */\r\n findDates(period: string): FromToDates {\r\n switch (period) {\r\n case ('thisWeek'): {\r\n this.from = new Date(this.now.getFullYear(), this.now.getMonth(), this.now.getDate() - [6, 0, 1, 2, 3, 4, 5][this.now.getDay()]);\r\n this.to = new Date(this.now.getFullYear(), this.now.getMonth(), this.from.getDate() + 6);\r\n return { from: this.from, to: this.to }\r\n }\r\n case ('lastWeek'): {\r\n let day = [6, 0, 1, 2, 3, 4, 5][this.now.getDay()]\r\n this.from = new Date(this.now.getFullYear(), this.now.getMonth(), this.now.getDate() - day - 7);\r\n this.to = new Date(this.from.getFullYear(), this.from.getMonth(), this.from.getDate() + 6);\r\n return { from: this.from, to: this.to }\r\n }\r\n case ('thisMonth'): {\r\n this.from = new Date(this.now.getFullYear(), this.now.getMonth(), 1);\r\n this.to = new Date(this.now.getFullYear(), this.now.getMonth() + 1, 0);\r\n return { from:this.from, to: this.to}\r\n }\r\n case ('lastMonth'): {\r\n this.from = new Date(this.now.getFullYear(), this.now.getMonth() - 1, 1);\r\n this.to = new Date(this.now.getFullYear(), this.now.getMonth(), 0);\r\n return { from: this.from, to: this.to }\r\n }\r\n case ('thisYear'): {\r\n this.from = new Date(this.now.getFullYear() +1, 0, 1);\r\n this.to = new Date(this.now.getFullYear() +1, 0, 0);\r\n return { from: this.from, to: this.to }\r\n }\r\n case ('lastYear'): {\r\n this.from = new Date(this.now.getFullYear(), 0, 1);\r\n this.to = new Date(this.now.getFullYear(), 0, 0);\r\n return { from: this.from, to: this.to }\r\n } \r\n } // end of switch\r\n }\r\n}\r\n\r\ninterface FromToDates {\r\n from: Date;\r\n to: Date;\r\n}\r\n\r\nexport class DataHolder {\r\n name: string;\r\n}\r\n","<!--Page Header-->\r\n\r\n<div class=\"row mt-3\">\r\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\r\n <h2>{{ 'Reports.CaseReports' | translate }}</h2>\r\n <button class=\"btn btn-secondary\" (click)=\"back()\">{{ 'Buttons.Back' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<!--Filters-->\r\n\r\n<div class=\"row\">\r\n <div class=\"col\">\r\n <label>{{ 'Standard.From' | translate }}</label>\r\n <div class=\"input-group\" *ngIf=\"!!compInfo\">=\"dpFromDate.toggleCalendar()\">\r\n <div class=\"input-group-append\">\r\n <button type=\"button\" class=\"btn btn-secondary\" *ngIf=\"filter.by.fromDate\" (click)=\"dpFromDate.clearDate()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n <!-- toggle calendar button -->\r\n <div class=\"input-group-append\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dpFromDate.toggleCalendar()\">\r\n <i class=\"far fa-calendar-alt\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col\">\r\n <label>{{ 'Standard.To' | translate }}</label>\r\n <div class=\"input-group\" *ngIf=\"!!compInfo\">\r\n <div class=\"input-group-append\">\r\n <button type=\"button\" class=\"btn btn-secondary\" *ngIf=\"filter.by.toDate\" (click)=\"dpToDate.clearDate()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n <!-- toggle calendar button -->\r\n <div class=\"input-group-append\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dpToDate.toggleCalendar()\">\r\n <i class=\"far fa-calendar-alt\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col\">\r\n <label>{{ 'Standard.Responsible' | translate }}</label>\r\n <select class=\"form-control\" [(ngModel)]=\"filter.by.responsible\" (change)=\"setParamsFromFilter()\">\r\n <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n <option *ngFor=\"let x of responsibles\" [value]=\"x.key\">{{ x.value }}</option>\r\n </select>\r\n </div>\r\n <div class=\"col\">\r\n <label>{{ 'Standard.Fitter' | translate }}</label>\r\n <select class=\"form-control\" [(ngModel)]=\"filter.by.fitter\" (change)=\"setParamsFromFilter()\">\r\n <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n <option *ngFor=\"let x of fitters\" [value]=\"x.key\">{{ x.value }}</option>\r\n </select>\r\n </div>\r\n <div class=\"col\">\r\n <label>{{ 'Standard.Department' | translate }}</label>\r\n <select class=\"form-control\" [(ngModel)]=\"filter.by.department\" (change)=\"setParamsFromFilter()\">\r\n <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n <option *ngFor=\"let x of departments\" [value]=\"x.departmentId\">{{ x.name }}</option>\r\n </select>\r\n </div>\r\n <div class=\"col\">\r\n <button class=\"btn btn-outline-danger align-self-baseline\">{{ 'Buttons.Clear' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div style=\"width:50%;height:20rem\" *ngIf=\"report.test != null\">\r\n <ngx-charts-line-chart [results]=\"report.test\"\r\n [xAxis]=\"true\"\r\n [yAxis]=\"true\"\r\n [showXAxisLabel]=\"true\"\r\n [gradient]=\"true\"\r\n (select)=\"test($event)\"\r\n [curve]=\"curve\"\r\n >\r\n </ngx-charts-line-chart>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-economy-reports',\r\n templateUrl: './economy-reports.component.html'\r\n})\r\nexport class EconomyReportsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>\r\n economy-reports works!\r\n</p>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-property-owner-reports',\r\n templateUrl: './property-owner-reports.component.html'\r\n})\r\nexport class PropertyOwnerReportsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>\r\n property-owner-reports works!\r\n</p>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ratings-reports',\r\n templateUrl: './ratings-reports.component.html'\r\n})\r\nexport class RatingsReportsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<p>\r\n ratings-reports works!\r\n</p>\r\n","export class UserDetails {\r\n name: string;\r\n userId: string;\r\n password: string;\r\n title: string;\r\n email: string;\r\n image: string;\r\n language: string;\r\n externalId: string | null;\r\n bookingAddressStreet: string;\r\n bookingAddressCity: string;\r\n bookingAddressZipCode: string;\r\n bookingRadius: string;\r\n mobileCountryCode: string;\r\n mobileNumber: string;\r\n createdAt: string;\r\n lastModified: string;\r\n company: KeyPair = new KeyPair();\r\n department: KeyPair = new KeyPair();\r\n priceGroup: KeyPair = new KeyPair();\r\n permission: Array<Permission>;\r\n zipCodes: Array<ZipCodeData> | null;\r\n}\r\n\r\nexport class ZipCodeData {\r\n id: string | null;\r\n zipCode: string | null;\r\n city: string | null;\r\n}\r\n\r\nexport class KeyPair {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport class UserInfo {\r\n Name: string;\r\n Email: string;\r\n CompanyNumber: string;\r\n}\r\n\r\nexport class Permission {\r\n name: string;\r\n permissionId: string;\r\n isSet: boolean;\r\n}\r\n\r\nexport class UserPostDetails{\r\n name: string;\r\n email: string;\r\n image: string;\r\n title: string;\r\n mobileCountryCode: string;\r\n mobileNumber: string;\r\n department: string;\r\n priceGroup: string;\r\n language: string;\r\n password: string;\r\n bookingAddressCity: string;\r\n bookingRadius: string;\r\n bookingAddressZipCode: string;\r\n bookingAddressStreet: string;\r\n externalId: string | null;\r\n}\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as api from './apihandler';\r\nimport { GridStakeholderStateFilter, IdName, IdNameNumber, KeyValue } from '../models/standard.models';\r\nimport {\r\n Activity,\r\n ActivityCategory,\r\n ActivityOverviewCustomer,\r\n ActivityOverviewDelivery,\r\n ActivityTemplate,\r\n ActivityType,\r\n BaseActivityCategory,\r\n BaseActivityTemplate,\r\n BaseActivityType,\r\n IdAddressNumber,\r\n OverviewActivity,\r\n PostActivity,\r\n RuleList\r\n} from \"../models/action.models\";\r\nimport { TaskData } from \"app/task-items/tasksData\";\r\n\r\nexport class ActionApi {\r\n user = localStorage.getItem('bearer') as string;\r\n constructor(private http: HttpClient) { }\r\n\r\n authTest() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get(api.jubloApi + '/api/Activity/AuthTest', { headers })\r\n }\r\n\r\n activities() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Activity[]>(api.jubloApi + '/api/Activity', { headers })\r\n }\r\n\r\n getActivities(): Observable<Activity[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Activity[]>(api.jubloApi + '/api/Activity/GetActivities', { headers })\r\n }\r\n\r\n getActivitiesOnProperty(propertyId: string, amount: number) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Array<TaskData>>(api.jubloApi + `api/PropertyLease/GetActivitiesOnPoperty/${propertyId}/0/${amount}`, { headers });\r\n }\r\n\r\n postActivity(a: PostActivity) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post<PostActivity>(api.jubloApi + '/api/Activity', a, { headers })\r\n }\r\n\r\n getActivitiesOnCase(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Activity[]>(api.jubloApi + `/api/Activity/GetActivitiesOnCase/${id}`, { headers })\r\n }\r\n\r\n getActivitiesOnOffer(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Activity[]>(api.jubloApi + `/api/Activity/GetActivitiesOnOffer/${id}`, { headers })\r\n }\r\n\r\n getActivitiesOverview() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<OverviewActivity[]>(api.jubloApi + '/api/Activity/GetActivitiesNew', { headers })\r\n }\r\n\r\n getActivitiesOverviewStakeholdFilters(): Observable<GridStakeholderStateFilter> {\r\n return new Observable((obs) => {\r\n const headers = new HttpHeaders({ Authorization: this.user });\r\n this.http.get(api.jubloApi + 'api/Activity/GetStakeholderFilters', { headers }).subscribe({\r\n next: (result: any) => {\r\n if (result != null) {\r\n obs.next({\r\n columnState: !!result.columnState ? JSON.parse(result.columnState) : null,\r\n filterModel: !!result.filterModel ? JSON.parse(result.filterModel) : null\r\n });\r\n }\r\n },\r\n error: (err) => { console.error(err); obs.next({ columnState: null, filterModel: null }) },\r\n complete: () => { obs.complete() }\r\n });\r\n })\r\n\r\n }\r\n\r\n postActivitiesOverviewStakeholdFilters(f: any): void {\r\n const headers = new HttpHeaders({ Authorization: this.user });\r\n this.http.post(api.jubloApi + 'api/Activity/StakeholderFilters', f, { headers }).subscribe({\r\n next: () => { },\r\n error: (err) => console.log(err)\r\n });\r\n }\r\n\r\n getActivitiesOverviewCustomers(): Observable<ActivityOverviewCustomer[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityOverviewCustomer[]>(api.jubloApi + 'api/Activity/ActivityCustomer', { headers })\r\n }\r\n\r\n getActivitiesOverviewDeliveries(): Observable<ActivityOverviewDelivery[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityOverviewDelivery[]>(api.jubloApi + 'api/Activity/ActivityDelivery', { headers })\r\n }\r\n\r\n getActivitiesOverviewLeases(): Observable<IdAddressNumber[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<IdAddressNumber[]>(api.jubloApi + 'api/Activity/GetActivityLease', { headers })\r\n }\r\n\r\n getActivitiesOverviewProperties(): Observable<IdNameNumber[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<IdNameNumber[]>(api.jubloApi + 'api/Activity/GetActivityOnProperty', { headers })\r\n }\r\n\r\n getActivityById(id: string): Observable<Activity> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<Activity>(api.jubloApi + `api/Activity/${id}`, { headers })\r\n }\r\n\r\n getFilesOnActivity(id: string) {\r\n const headers = new HttpHeaders({ Authorization: this.user });\r\n return this.http.get(api.jubloApi + `api/Activity/GetFilesOnActivity/${id}`, { headers })\r\n }\r\n\r\n editActivity(id: string, a: PostActivity): Observable<any> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put<PostActivity>(api.jubloApi + `api/Activity/${id}`, a, { headers })\r\n }\r\n\r\n deleteActivity(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete(api.jubloApi + `api/Activity/${id}`, { headers })\r\n }\r\n\r\n getActivityTypes() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityType[]>(api.jubloApi + 'api/Activity/ActivityTypes', { headers })\r\n }\r\n\r\n getActivityStatuses() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<IdName[]>(api.jubloApi + 'api/Activity/ActivityStatus', { headers });\r\n }\r\n\r\n postActivityType(t: ActivityType) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post<ActivityType>(api.jubloApi + 'api/Activity/ActivityType', t, { headers })\r\n }\r\n\r\n setOverdue(s: string[]) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.patch(api.jubloApi + 'api/Activity/SetOverdue', s, { headers })\r\n }\r\n\r\n putActivityType(id: string, t: BaseActivityType) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put<BaseActivityType>(api.jubloApi + `api/Activity/UpdateActivity/${id}`, t, { headers })\r\n }\r\n\r\n removeActivityType(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete(api.jubloApi + `api/Activity/RemoveActivityType/${id}`, { headers })\r\n }\r\n\r\n getCompanyUsers() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<KeyValue>(api.jubloApi + '/api/Activity/GetCompanyUsers', { headers })\r\n }\r\n\r\n getActivityTemplates() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityTemplate[]>(api.jubloApi + '/api/Activity/GetActivityTemplates', { headers })\r\n }\r\n\r\n getActivityTemplateById(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityTemplate>(api.jubloApi + `/api/Activity/GetActivityTemplateById/${id}`, { headers })\r\n }\r\n\r\n addActivityTemplate(a: BaseActivityTemplate) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post<BaseActivityTemplate>(api.jubloApi + '/api/Activity/AddActivityTemplate', a, { headers })\r\n }\r\n\r\n editActivityTemplate(a: ActivityTemplate) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put<BaseActivityTemplate>(api.jubloApi + `/api/Activity/EditActivityTemplate/${a.id}`, {\r\n name: a.name,\r\n description: a.description,\r\n categoryId: a.categoryId,\r\n minutes: a.minutes\r\n }, { headers })\r\n }\r\n\r\n deleteActivityTemplate(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete(api.jubloApi + `/api/Activity/DeleteActivityTemplate/${id}`, { headers })\r\n }\r\n\r\n getActivityCategories() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityCategory[]>(api.jubloApi + '/api/Activity/GetActivityCategories', { headers })\r\n }\r\n\r\n getActivityCategoryById(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<ActivityCategory>(api.jubloApi + `/api/Activity/GetActivityCategoryById/${id}`, { headers })\r\n }\r\n\r\n addActivityCategory(c: BaseActivityCategory) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post<BaseActivityCategory>(api.jubloApi + '/api/Activity/AddActivityCategory', c, { headers })\r\n }\r\n\r\n editActivityCategory(c: ActivityCategory) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put<BaseActivityCategory>(api.jubloApi + `/api/Activity/EditActiviyCategory/${c.id}`, {\r\n name: c.name,\r\n parentId: c.parentId\r\n }, { headers })\r\n }\r\n\r\n deleteActivityCategory(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete(api.jubloApi + `/api/Activity/DeleteActiviyCategory/${id}`, { headers })\r\n }\r\n\r\n getDVCategories() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<string[]>(api.jubloApi + '/api/Activity/GetDVCategory', { headers })\r\n }\r\n\r\n addDVCategory(c: BaseActivityCategory) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post<string>(api.jubloApi + '/api/Activity/AddDVCategory', c, { headers })\r\n }\r\n\r\n editDVCategory(c: ActivityCategory) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put<BaseActivityCategory>(api.jubloApi + `/api/Activity/AddDVCategory/${c.id}`, {\r\n name: c.name,\r\n parentId: c.parentId\r\n }, { headers })\r\n }\r\n\r\n deleteDVCategory(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete(api.jubloApi + `/api/Activity/DeleteDVCategory/${id}`, { headers })\r\n }\r\n\r\n getAllTimeSpent() {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get(api.jubloApi + 'api/Activity/GetActivityTimeSpent', { headers })\r\n }\r\n\r\n getTimeSpent(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get(api.jubloApi + `api/Activity/GetActivityTimeSpent/${id}`, { headers })\r\n }\r\n\r\n getTimeSpentOnActivity(activityId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get(api.jubloApi + `api/Activity/GetActivitySpentOnActivity/${activityId}`, { headers })\r\n }\r\n\r\n addTimeSpent(timeSpent: TaskTimeSpent) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.post(api.jubloApi + `api/Activity/AddActivityTimeSpent`, timeSpent, { headers })\r\n }\r\n\r\n updateTimeSpent(timeSpent: TaskTimeSpentFull) {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.put(api.jubloApi + `api/Activity/UpdateActivityTimeSpent`, timeSpent, { headers })\r\n }\r\n\r\n deleteTimeSpent(id: string): Observable<void> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.delete<void>(api.jubloApi + `api/Activity/DeleteActivityTimeSpent/${id}`, { headers })\r\n }\r\n\r\n getTemplates(): Observable<RuleList[]> {\r\n const headers = new HttpHeaders({ 'Authorization': this.user });\r\n return this.http.get<RuleList[]>(api.jubloApi + 'api/Activity/GetRuleLists', { headers })\r\n }\r\n}\r\n\r\nexport class ActionUtils {\r\n static activityToNewActivity(\r\n activity: TaskData,\r\n dueDateTime: string,\r\n recurrance: string\r\n ) {\r\n const addActivity: PostActivity = {\r\n subject: activity.subject,\r\n activityType: activity.activityType.id,\r\n status: '7cb83847-96ee-4567-8555-b9d770ff16c0',\r\n customerId: activity.customer.customerId,\r\n caseId: activity.caseId,\r\n offerId: activity.offerId,\r\n propertyId: activity.propertyId,\r\n propertyLeaseId: activity.propertyLeaseId,\r\n dueDate: null,\r\n dueTime: null,\r\n description: activity.description,\r\n durationInMinutes: activity.durationInMinutes,\r\n assignedToStakeholder: activity.assignedToStakeholder.id,\r\n dueDateTime: dueDateTime,\r\n recurring: null,\r\n recurrance: recurrance,\r\n templateId: activity.templateId as string,\r\n note: activity.note,\r\n dvCategoryId: activity.dvCategoryId,\r\n dvAccountPlanId: activity.dvAccountPlanId,\r\n mandatory: activity.mandatory,\r\n partnerCompanyId: activity.partnerCompanyId,\r\n priorityId: activity.priority.id,\r\n };\r\n\r\n return addActivity;\r\n }\r\n\r\n static convertToTaskTimeSpent(full: TaskTimeSpentFull): any {\r\n return {\r\n activityTimeSpentId: full.id,\r\n stakeholderId: full.stakeholder.id,\r\n startTime: full.startTime,\r\n endTime: full.endTime,\r\n description: full.description,\r\n priceGroupId: full.priceGroup.id\r\n };\r\n }\r\n}\r\n\r\nexport interface TaskTimeSpent {\r\n activityId: string;\r\n stakeholderId: string;\r\n startTime: string;\r\n endTime: string;\r\n description: string;\r\n priceGroupId: string;\r\n}\r\n\r\nexport interface TaskTimeSpentFull {\r\n id: string;\r\n activityId: string;\r\n stakeholder: IdName;\r\n startTime: string;\r\n endTime: string;\r\n description: string;\r\n priceGroup: IdName;\r\n createdAt: string;\r\n createdBy: IdName;\r\n updatedAt: string;\r\n updatedBy: IdName;\r\n}\r\n\r\nexport class TimeSpentTime {\r\n date: Date | null = null;\r\n time: string | null = null;\r\n\r\n set dateTime(date: string) {\r\n if (!!date) {\r\n this.date = new Date(date);\r\n this.time = this.roundOffMinutesToNearestQuarter(date);\r\n }\r\n }\r\n\r\n changeTime(time: string) {\r\n this.time = time;\r\n }\r\n\r\n get dateTime(): string | null {\r\n if (!!this.date && !!this.time) {\r\n let d = this.date.toISOString().split('T')[0];\r\n return `${d}T${this.time}:00Z`;\r\n }\r\n else if (!!this.date && !this.time) {\r\n let d = this.date.toISOString().split('T')[0];\r\n return `${d}T00:00:00Z`;\r\n }\r\n return null;\r\n }\r\n\r\n get jsDate() { return new Date(this.date!) }\r\n\r\n set jsDate(date: Date) {\r\n this.date = date;\r\n }\r\n myDate(): Date { return this.date }\r\n\r\n setMyDate(date: Date) {\r\n this.date = date;\r\n }\r\n\r\n roundOffMinutesToNearestQuarter(asString: string) {\r\n const date = new Date(asString);\r\n let hours = date.getHours();\r\n let minutes = date.getUTCMinutes();\r\n\r\n if (minutes > 52) {\r\n hours = (hours + 1) % 24; // Increment hours and wrap around if necessary\r\n minutes = 0;\r\n } else {\r\n minutes = Math.round(minutes / 15) * 15; // Round the minutes to the nearest quarter\r\n }\r\n\r\n const roundedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`; // Format the rounded time\r\n\r\n return roundedTime;\r\n }\r\n\r\n dueTimes = [\r\n '00:00', '00:15', '00:30', '00:45', '01:00', '01:15', '01:30', '01:45', '02:00', '02:15', '02:30', '02:45', '03:00', '03:15', '03:30', '03:45',\r\n '04:00', '04:15', '04:30', '04:45', '05:00', '05:15', '05:30', '05:45', '06:00', '06:15', '06:30', '06:45', '07:00', '07:15', '07:30', '07:45',\r\n '08:00', '08:15', '08:30', '08:45', '09:00', '09:15', '09:30', '09:45', '10:00', '10:15', '10:30', '10:45', '11:00', '11:15', '11:30', '11:45',\r\n '12:00', '12:15', '12:30', '12:45', '13:00', '13:15', '13:30', '13:45', '14:00', '14:15', '14:30', '14:45', '15:00', '15:15', '15:30', '15:45',\r\n '16:00', '16:15', '16:30', '16:45', '17:00', '17:15', '17:30', '17:45', '18:00', '18:15', '18:30', '18:45', '19:00', '19:15', '19:30', '19:45',\r\n '20:00', '20:15', '20:30', '20:45', '21:00', '21:15', '21:30', '21:45', '22:00', '22:15', '22:30', '22:45', '23:00', '23:15', '23:30', '23:45'\r\n ];\r\n durationTimes = [\r\n '00:15', '00:30', '00:45', '01:00', '01:15', '01:30', '01:45', '02:00', '02:15', '02:30', '02:45', '03:00', '03:15', '03:30', '03:45', '04:00',\r\n '04:15', '04:30', '04:45', '05:00', '05:15', '05:30', '05:45', '06:00', '06:15', '06:30', '06:45', '07:00', '07:15', '07:30', '07:45', '08:00'\r\n ];\r\n}","\r\n// LIVE\r\nlet api = 'https://jubloapi.azure-api.net/'\r\nexport const goog = 'key=AIzaSyAzWoQOwrMgVrDnCCne4XwQsrHDspEHu1k';\r\n// TEST\r\n// let api = 'https://jubloapi-dev.azurewebsites.net/'\r\n\r\nexport let jubloApi = api;\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { CaseTransfer, CreateCompanyCase, KanbanCard, KanbanCase, PartnerInvoiceOptions } from '../models/case.models';\r\nimport * as api from './apihandler';\r\nimport { PartnerCompany } from '../models/partner.models';\r\n\r\nexport class CaseApi {\r\n constructor(private http: HttpClient) { }\r\n\r\n getCase(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/Case/CaseDetails/${ caseId }`, { headers });\r\n }\r\n\r\n getCaseStages() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseStages', { headers });\r\n }\r\n\r\n setCaseStage(caseId: string, stageId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n if (!!stageId) {\r\n this.http.patch(api.jubloApi + `api/Website/Case/SetCaseStage/${ caseId }?StageId=${ stageId }`, {}, { headers }).subscribe({\r\n next:()=>{}\r\n });\r\n } else {\r\n this.http.patch(api.jubloApi + `api/Website/Case/SetCaseStage/${ caseId }?StageId=null`, {}, { headers }).subscribe({\r\n next:()=>{}\r\n });\r\n }\r\n }\r\n\r\n getKanbanCases(): Observable<KanbanCase[]> {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get<KanbanCase[]>(api.jubloApi + 'api/Kanban/GetCards', { headers });\r\n // return this.http.get<KanbanCase[]>(api.jubloApi + 'api/Website/Case/CaseStageOverview', { headers })\r\n }\r\n\r\n removeContactFromCase(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.http.patch(api.jubloApi + `api/Website/Case/RemoveContact/${ caseId }`, {}, { headers });\r\n }\r\n\r\n getPartnerCaseInfo(partnerCaseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/Case/GetPartnerCaseInfo/${ partnerCaseId }`, { headers });\r\n }\r\n\r\n getOSCaseStatus(partnerCaseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/Case/GetOSCaseStatus/${ partnerCaseId }`, { headers });\r\n }\r\n\r\n getCaseFromPartner(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Partner/ReceivedPartnerCaseInfo/${ caseId }`, { headers });\r\n }\r\n\r\n getCaseDistributedPartners(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Partner/PartnerCaseInfo/${ caseId }`, { headers });\r\n }\r\n\r\n getWaitingPartners(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/CaseTransfer/CheckIfExist/${ caseId }`, { headers });\r\n }\r\n\r\n cancelCaseTransfer(transferId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.delete(api.jubloApi + `api/Website/CaseTransfer/CancelCaseTransfer/${ transferId }`, { headers });\r\n }\r\n\r\n checkIfExists(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/CaseTransfer/CheckIfExistOffer/${ caseId }`, { headers });\r\n }\r\n\r\n getPartnerCaseBadges(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Partner/GetUnreadPartnerMessagesById/${ caseId }`, { headers });\r\n }\r\n\r\n getPartners(propertyId: string | null): Observable<PartnerCompany[]> {\r\n let param = !!propertyId ? \"?propertyId=\" + propertyId : '';\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get<PartnerCompany[]>(api.jubloApi + `api/Partner/GetPartnersToCompany${ param }`, { headers });\r\n }\r\n\r\n getPartnerResponsibles(partnerCompanyId: string) {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + `api/Website/CaseTransfer/GetResponsible/${ partnerCompanyId }`, { headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param caseId \r\n * @returns object {from: partner, to: partner[], waiting: partner[] }\r\n * A frunction that combines the result of getCaseFromPartner, getCaseDistributedPartners and getWaitingPartners in one subscription\r\n */\r\n getCasePartnerData(caseId: string): Observable<any> {\r\n return forkJoin({\r\n fromPartner: this.getCaseFromPartner(caseId),\r\n toPartners: this.getCaseDistributedPartners(caseId),\r\n waiting: this.getWaitingPartners(caseId),\r\n offers: this.checkIfExists(caseId)\r\n });\r\n }\r\n\r\n getPropertyOwner(propertyId: string) {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + `api/PropertyLease/GetPropertyCustomer/${ propertyId }`, { headers });\r\n }\r\n\r\n getPropertyById(propertyId: string) {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + `api/PropertyLease/PropertyByIdExtended/${ propertyId }`, { headers });\r\n }\r\n\r\n /**\r\n * Partner Invoice Options - When sending a case to a partner.\r\n */\r\n getPartnerInvoiceOptions(): Observable<string> {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get<string>(api.jubloApi + 'api/CompanySettings/GetCompanySetting/2c39057b-d7c5-4bec-b06d-69039ca54eca', { headers });\r\n }\r\n\r\n setPartnerInvoiceOptions(options: PartnerInvoiceOptions) {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n this.http.post(api.jubloApi + 'api/CompanySettings/AddCompanySetting/2c39057b-d7c5-4bec-b06d-69039ca54eca', options, { headers }).subscribe({\r\n next: () => { },\r\n error: () => console.error('Could not save partner invoice options')\r\n });\r\n }\r\n\r\n postCaseTransfer(caseTransfer: CaseTransfer): Observable<CaseTransfer> {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.post<CaseTransfer>(api.jubloApi + 'api/Website/CaseTransfer', caseTransfer, { headers });\r\n }\r\n\r\n removePartnerFromProperty(partnerId: string, propertyId: string) {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.delete(api.jubloApi + `/api/Partner/RemovePartnerFromProperty/${ partnerId }/${ propertyId }`, { headers });\r\n }\r\n\r\n getFilesOnCase(caseId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.get(api.jubloApi + `api/Website/Case/GetCaseFiles/${ caseId }`, { headers });\r\n }\r\n\r\n acceptOffer(offerId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n let statusKey = 'A1A453B8-6AE7-453D-BFDB-867ACE78654E';\r\n return this.http.patch(api.jubloApi + `api/Website/Offer/ChangeStatus/${ offerId }`, { \"caseOfferStatusId\": statusKey }, { headers });\r\n }\r\n\r\n rejectOffer(offerId: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n let statusKey = 'E65F9D9E-34B2-4423-8AD4-7228DB8814B4';\r\n return this.http.patch(api.jubloApi + `api/Website/Offer/ChangeStatus/${ offerId }`, { \"caseOfferStatusId\": statusKey }, { headers });\r\n }\r\n\r\n createCompanyCase(newCasedata: CreateCompanyCase) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.http.post(api.jubloApi + 'api/Website/Case/CreateCompanyCase', newCasedata, { headers });\r\n }\r\n\r\n // Overview\r\n getCaseActivities() {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseActivities', { headers });\r\n }\r\n\r\n getUnreadMessages() {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseUnreadMessages', { headers });\r\n }\r\n\r\n getUnreadPartnerMessages() {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseUnreadPartnerMessages', { headers });\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AddProfit, CompanyInformation, CompanyProfit, PriceGroup, Section } from '../models/standard.models';\r\nimport * as api from './apihandler';\r\nimport { CompanyUser, CompanyPriority } from '../models/company.models';\r\n\r\n\r\nexport class CompanyApi {\r\n bearer = localStorage.getItem('bearer') as string;\r\n\r\n constructor(private http:HttpClient){}\r\n\r\n getCompanyInformation():Observable<CompanyInformation>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<CompanyInformation>(api.jubloApi + 'api/Website/Settings/CompanyInformation', { headers })\r\n }\r\n \r\n getSettings():Observable<Section[]>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<Section[]>(api.jubloApi + 'api/Website/Settings', { headers })\r\n }\r\n \r\n getSettingsById(id:string):Observable<any>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<any>(api.jubloApi + `api/Website/Settings/${ id }`, { headers })\r\n }\r\n\r\n getCompanySettingById(id:string):Observable<Section>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<Section>(api.jubloApi + `api/CompanySettings/GetCompanySetting/${ id }`, { headers })\r\n }\r\n\r\n updateSetting(id:string, value:string):Observable<any>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.put(api.jubloApi + `api/Website/Settings/Update/${ id }`, { value: value }, { headers })\r\n }\r\n\r\n getShopSetting(settingId:string){\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get(api.jubloApi + `api/Website/Shop/GetShopSetting/${ settingId }`, { headers})\r\n }\r\n\r\n addCompanySetting(id:string, value:any):Observable<any>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.post(api.jubloApi + `api/CompanySettings/AddCompanySetting/${ id }`, value, { headers })\r\n }\r\n\r\n addShopSetting(settingId:string, val:any){\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.post(api.jubloApi + `api/Website/Shop/AddShopSetting/${ settingId }`, {value:JSON.stringify(val)}, { headers })\r\n }\r\n\r\n editShopSetting(settingId:string, val:any){\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.patch(api.jubloApi + `api/Website/Shop/EditShopSetting/${ settingId }`, {value:JSON.stringify(val)}, { headers })\r\n }\r\n\r\n // ---------------- PRICE GROUPS\r\n getPriceGroups():Observable<PriceGroup[]>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<PriceGroup[]>(api.jubloApi + 'api/Website/PriceGroup', { headers })\r\n }\r\n \r\n getPriceGroup(id:string):Observable<PriceGroup>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<PriceGroup>(api.jubloApi + `api/Website/PriceGroup/Get/${ id }`, { headers })\r\n }\r\n \r\n // --------------- COMPANY PROFITS\r\n\r\n getCompanyProfits(): Observable<CompanyProfit[]>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<CompanyProfit[]>(api.jubloApi + 'api/Website/Settings/GetCompanyProfit', { headers })\r\n }\r\n\r\n addCompanyProfit(profit: AddProfit):Observable<void>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.post<void>(api.jubloApi + 'api/Website/Settings/AddCompanyProfit', profit , { headers })\r\n }\r\n \r\n editCompanyProfit(id:string, profit: AddProfit):Observable<void> {\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.put<void>(api.jubloApi + `api/Website/Settings/AddCompanyProfit/${ id }`, profit, { headers })\r\n }\r\n\r\n deleteCompanyProfit(id:string):Observable<void>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.delete<void>(api.jubloApi + `api/Website/Settings/DeleteCompanyProfit/${ id }`, { headers })\r\n }\r\n\r\n // ---------------- COMPANY LISTS\r\n\r\n getCompanyUsers():Observable<CompanyUser[]>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<CompanyUser[]>(api.jubloApi + 'api/Website/Company/User', { headers })\r\n }\r\n\r\n getResponsibles(){\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n this.http.get(api.jubloApi + 'api/WebSite/Company/User/Responsible', { headers })\r\n }\r\n\r\n getCompanyPriorities():Observable<CompanyPriority[]>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get<CompanyPriority[]>(api.jubloApi + 'api/Website/Case/GetCasePriorities',{ headers })\r\n }\r\n\r\n // ---------------- PARTNERS\r\n\r\n getPartnerCompanies():Observable<any>{\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get(api.jubloApi + 'api/Partner/GetPartnerCompanies',{ headers })\r\n }\r\n\r\n getPartnersToCompanies():Observable<any> {\r\n const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n return this.http.get(api.jubloApi + 'api/Partner/GetPartnersToCompany',{ headers })\r\n }\r\n}\r\n\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as api from './apihandler';\r\nimport { Companies, GetUser, OriginalCaseSearchResult, OriginalCustomerSearchResult, OriginalDocumentsSearchResult, SuperSearchCaseResults, SuperSearchCombinedResults, SuperSearchCustomerResults, SuperSearchDocumentResults, SuperSearchOutput, User, UserFilters } from \"../models/user.models\";\r\n\r\nexport class UserFunctions {\r\n constructor(private http: HttpClient) { }\r\n\r\n getUserInformation(): Observable<GetUser> {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get<GetUser>(api.jubloApi + 'api/WebSite/Company/User/UserInfo', { headers });\r\n }\r\n\r\n getUser(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get(api.jubloApi + `api/WebSite/Company/User/${localStorage.getItem('bearer')}`, { headers });\r\n }\r\n\r\n getUserAgGridFilters(): Observable<UserFilters> {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get<UserFilters>(api.jubloApi + 'api/WebSite/Company/User/GetCompanyUserFilter', { headers });\r\n }\r\n\r\n getUserCompanies(): Observable<Companies[]> {\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get<Companies[]>(api.jubloApi + 'api/WebSite/Company/User/GetUserCompanies/', { headers });\r\n }\r\n\r\n superSearch(searchValue: string): Observable<SuperSearchCombinedResults> {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.post<SuperSearchCombinedResults>(api.jubloApi + 'api/Search', { 'searchValue': searchValue }, { headers });\r\n }\r\n\r\n static transformUserInfo(user: GetUser): User {\r\n return {\r\n companyNumber: user.CompanyNumber,\r\n email: user.Email,\r\n name: user.Name\r\n }\r\n }\r\n\r\n static transformDocumentSearchResults(result: OriginalDocumentsSearchResult[]): SuperSearchDocumentResults[] {\r\n return result.map(obj => {\r\n return {\r\n searchScore: obj['@search.score'],\r\n caseId: obj.CaseId,\r\n title: obj.Title,\r\n description: obj.Description,\r\n companyId: obj.CompanyId,\r\n offerId: obj.OfferId,\r\n offerTitle: obj.OfferTitle,\r\n offerDescription: obj.OfferDescription,\r\n technicalDescription: obj.TechnicalDescription,\r\n disclaimer: obj.Disclaimer,\r\n offerNumber: obj.OfferNumber,\r\n caseNumber: obj.CaseNumber,\r\n customerId: obj.CustomerId,\r\n name: obj.Name,\r\n address: obj.Address,\r\n city: obj.City,\r\n zipCode: obj.ZipCode,\r\n customerName: obj.customerName,\r\n customerAddress: obj.customerAddress,\r\n customerZipCode: obj.customerZipCode,\r\n customerCity: obj.customerCity\r\n };\r\n })\r\n };\r\n\r\n static transformCustomerSearchResults(result: OriginalCustomerSearchResult[]): SuperSearchCustomerResults[] {\r\n return result.map(obj => {\r\n return {\r\n searchScore: obj[\"@search.score\"],\r\n id: obj.id,\r\n companyId: obj.companyId,\r\n name: obj.customerName,\r\n number: obj.customerNumber,\r\n customer: {\r\n address: obj.customerAddress,\r\n zip: obj.customerZipCode,\r\n city: obj.customerCity,\r\n mobile: obj.customerMobile,\r\n phone: obj.customerTelephone,\r\n email: obj.customerEmail\r\n },\r\n invoice: {\r\n address: obj.invoiceAddress,\r\n zip: obj.invoice_ZipCode,\r\n city: obj.invoiceCity,\r\n mobile: obj.invoiceMobile,\r\n phone: obj.invoiceTelephone,\r\n email: obj.invoiceEmail\r\n }\r\n }\r\n })\r\n }\r\n\r\n static transformCaseSearchResults(result: OriginalCaseSearchResult[]): SuperSearchCaseResults[] {\r\n return result.map(obj => {\r\n return {\r\n searchScore: obj[\"@search.score\"],\r\n id: obj.CaseId,\r\n companyId: obj.CompanyId,\r\n description: obj.Description,\r\n status: obj.StatusName,\r\n responsible: obj.ResponsibleName,\r\n customer: {\r\n name: obj.customerName,\r\n address: obj.customerAddress,\r\n zip: obj.customerZipCode,\r\n city: obj.customerCity\r\n },\r\n invoice: {\r\n name: obj.invoiceName,\r\n address: obj.invoiceAddress,\r\n zip: obj.invoice_ZipCode,\r\n city: obj.invoiceCity\r\n },\r\n delivery: {\r\n name: obj.Name,\r\n address: obj.Address,\r\n zip: obj.ZipCode,\r\n city: obj.City\r\n }\r\n }\r\n })\r\n }\r\n\r\n static parseResults(result: SuperSearchCombinedResults): SuperSearchOutput {\r\n return {\r\n case: this.transformCaseSearchResults(JSON.parse(result.case).value as OriginalCaseSearchResult[]),\r\n customer: this.transformCustomerSearchResults(JSON.parse(result.customer).value as OriginalCustomerSearchResult[]),\r\n document: this.transformDocumentSearchResults(JSON.parse(result.documents).value as OriginalDocumentsSearchResult[])\r\n }\r\n }\r\n\r\n}","import { Component, Input, EventEmitter, Output, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-timeslots',\r\n templateUrl: './timeslots.component.html',\r\n styleUrls: ['./timeslots.component.css']\r\n})\r\n\r\nexport class TimeslotsComponent implements OnInit {\r\n\r\n @Input('times') timeslots: Array<TimeSlot>;\r\n @Output() chosenTime = new EventEmitter<any>();\r\n timeManagement = new TimeslotManagement();\r\n\r\n constructor() {\r\n\r\n }\r\n ngOnInit() {\r\n if (window.screen.width > 576) {\r\n this.timeManagement.maxTimeSlices = 6;\r\n this.timeManagement.timeSliceMax = 6;\r\n }\r\n }\r\n\r\n back() {\r\n this.timeManagement.timeSliceMin = this.timeManagement.timeSliceMin - this.timeManagement.maxTimeSlices;\r\n this.timeManagement.timeSliceMax = this.timeManagement.timeSliceMax - this.timeManagement.maxTimeSlices;\r\n }\r\n\r\n forward() {\r\n this.timeManagement.timeSliceMin = this.timeManagement.timeSliceMin + this.timeManagement.maxTimeSlices;\r\n this.timeManagement.timeSliceMax = this.timeManagement.timeSliceMax + this.timeManagement.maxTimeSlices;\r\n }\r\n\r\n chooseTime(startTime, fitterId) {\r\n this.chosenTime.emit({ 'start': startTime, 'fitter': fitterId });\r\n }\r\n\r\n}\r\n\r\nexport class TimeSlot {\r\n dayContract: DayContract;\r\n item: Array<Slot>;\r\n}\r\n\r\nexport class DayContract {\r\n public date: Date;\r\n public dayName: string;\r\n public dayOfYear: number;\r\n}\r\n\r\nexport class Slot {\r\n public dayOfWeek: number;\r\n public fitterId: string;\r\n public id: string;\r\n public price;\r\n public startTime: Date;\r\n}\r\n\r\nexport class TimeslotManagement {\r\n public timeSliceMin = 0;\r\n public timeSliceMax = 4;\r\n public maxTimeSlices = 4;\r\n}\r\n","<div class=\"timeslotsHolder\" *ngIf=\"timeslots != null\">\r\n <div class=\"slotsLoading\">\r\n <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"back()\" [disabled]=\"timeManagement.timeSliceMin <= 0\">{{ 'Shop.TimeChoices.EarlierTimes' | translate }}</button>\r\n <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"forward()\" [disabled]=\"timeManagement.timeSliceMax >= timeslots.length\">{{ 'Shop.TimeChoices.LaterTimes' | translate }}</button>\r\n </div>\r\n <div class=\"slots\">\r\n <div class=\"slots-column\" *ngFor=\"let x of timeslots | slice:timeManagement.timeSliceMin:timeManagement.timeSliceMax\">\r\n <div class=\"time-header\">\r\n <b>{{ ('Date.' + ( x.dayContract.dayName | titlecase)) | translate }}</b><br /><i class=\"help__text\">{{x.dayContract.date + 'Z' | date: 'dd-MM'}}</i>\r\n </div>\r\n <div class=\"slots-rows btn btn-info btn-block mb-1\" *ngFor=\"let y of x.item\" (click)=\"chooseTime(y.startTime, y.fitterId)\">{{ y.startTime + 'Z' | date: 'HH:mm'}}</div>\r\n </div>\r\n </div>\r\n</div>\r\n","export class CreateCompanyCase {\r\n title: string = '';\r\n description: string = '';\r\n caseStatusId: string = '8850aee1-48a3-48a6-aa98-2e1597b7b1d7';\r\n responsibleId: string | null = null;\r\n customerId: string | null = null;\r\n deliveryAddressId: string | null = null;\r\n contactAddressId: string | null = null;\r\n requisitionNumber: string | null = null;;\r\n disableNotification: boolean = true;\r\n caseNumber: string | null = null;\r\n vorRef: string | null = null;;\r\n assetId:string | null = null;\r\n propertyLeaseId: string | null = null;\r\n propertyId: string | null = null;\r\n}\r\n\r\nexport class KanbanCase {\r\n caseChannel: string | null = null;\r\n caseId!: string;\r\n caseNumber: string | null = null;\r\n casePriority: string | null = null;\r\n createdAt!: string;\r\n customerName: string | null = null;;\r\n description: string | null = null;;\r\n files: number | null = null;\r\n laseModified!: string;\r\n orderType!: string;\r\n priority: IdName = new IdName();\r\n reference: string | null = null;;\r\n requisitionNumber: string | null = null;;\r\n responsible: IdName = new IdName();\r\n stage: IdName = new IdName();\r\n stageId!: string;\r\n stageName!: string;\r\n status!: string;\r\n title: string | null = null;;\r\n }\r\n\r\n export class PartnerInvoiceOptions {\r\n standard: 'case' | 'company' | 'property' | 'propertyOwner' | 'auto' = 'auto';\r\n visible: PartnerInvoiceRecipients = new PartnerInvoiceRecipients();\r\n }\r\n\r\n class PartnerInvoiceRecipients {\r\n case:boolean = true;\r\n company:boolean = true;\r\n property:boolean = true;\r\n }\r\n\r\n export class KanbanCard {\r\n caseId!: string;\r\n title!: string;\r\n status!: IdName;\r\n tags: Tag[] = [];\r\n tasks: Task[] = [];\r\n responsible: IdName = new IdName();\r\n files: number | null = null;;\r\n stage: IdName = new IdName();\r\n priority: IdName = new IdName();\r\n }\r\n \r\n class IdName {\r\n id: string | null = null;\r\n name: string | null = null;\r\n }\r\n \r\n export class Tag extends IdName {\r\n color: string | null = null;\r\n }\r\n \r\n class Task {\r\n id!: string;\r\n dueDate!: string;\r\n status!: IdName;\r\n }\r\n\r\n export class CaseDetails {\r\n companyId!: string;\r\n caseId!: string;\r\n customerNumber: string | null = null;\r\n customer: Customer = new Customer();\r\n invoice: Address = new Address();\r\n deliveryAddress: Address = new Address();\r\n contactAddress: Address = new Address();\r\n status!: CaseStatus;\r\n requisitionNumber: string | null = null;\r\n responsible: Responsible | null = null;\r\n fitter: IdName | null = null;\r\n origin!: Origin;\r\n disableNotifications: string | null = null;\r\n messages: Message[] = [];\r\n files: File[] = [];\r\n filesNew: FilesNew = new FilesNew();\r\n offerStatusId: string | null = null;\r\n title: string | null = null;\r\n description: string | null = null;\r\n externalId: string | null = null;\r\n hours: number | null = null;\r\n offerId: string | null = null;\r\n caseNumber: string | null = null;\r\n vorRef: string | null = null;\r\n caseType!: IdName;\r\n companyName: string | null = null;\r\n caseChannel: CaseChannel | null = null;\r\n casePriority: IdName | null = null;\r\n propertyOwner: string | null = null;\r\n propertyLease: PropertyLease | null = null;\r\n link: string | null = null;\r\n offerList: Offer[] = [];\r\n mobilePay: boolean | null = null;\r\n departmentId: string | null = null;\r\n internalNote: string | null = null;\r\n createdAt!: string;\r\n caseStage: CaseStage | null = null;\r\n caseStade: number | null = null;\r\n notificationSetId: string | null = null;\r\n assets: string[] = [];\r\n viewToken: string | null = null;\r\n caseCreatedBy!: CaseCreatedBy;\r\n }\r\n\r\n class Address {\r\n id: string | null = null;\r\n name: string | null = null;\r\n address: string | null = null;\r\n email: string | null = null;\r\n phone: string | null = null;\r\n mobile: string | null = null;\r\n zipCode: string | null = null;\r\n city: string | null = null;\r\n }\r\n \r\n class Customer extends Address {\r\n customerId: string | null = null;\r\n att: string | null = null;\r\n cvr: string | null = null;\r\n ean: string | null = null;\r\n languageId: string | null = null;\r\n }\r\n \r\n class CaseStatus {\r\n caseStatusId!: string;\r\n name!: string;\r\n }\r\n \r\n class Origin {\r\n originId!: string;\r\n url: string | null = null;\r\n name!: string;\r\n }\r\n \r\n class Message {\r\n // properties omitted for brevity\r\n }\r\n \r\n class File {\r\n // properties omitted for brevity\r\n }\r\n \r\n class FilesNew {\r\n filesWithoutFolder: File[] = [];\r\n files: Folder[] = [];\r\n }\r\n \r\n class Folder {\r\n folderId!: string;\r\n parentFolderId: string | null = null;\r\n folderName: string | null = null;\r\n files: File[] = [];\r\n }\r\n \r\n class CaseChannel {\r\n id!: string;\r\n name!: string;\r\n icon!: string;\r\n }\r\n \r\n class PropertyLease {\r\n propertyId: string | null = null;\r\n propertyLeaseId: string | null = null;\r\n }\r\n \r\n class Offer {\r\n // properties omitted for brevity\r\n }\r\n \r\n class CaseStage {\r\n stageId!: string;\r\n name!: string;\r\n color!: string;\r\n probability!: number;\r\n }\r\n \r\n class CaseCreatedBy {\r\n id!: string;\r\n isStakeholder!: boolean;\r\n }\r\n\r\n interface Responsible {\r\n responsibleId:string;\r\n name: string;\r\n }\r\n\r\n export class CaseTransfer {\r\n connectionId!: string;\r\n caseId!: string;\r\n companyId!: string;\r\n customer: ContactDetails = new ContactDetails();\r\n invoice: ContactDetails = new ContactDetails();\r\n delivery: ContactDetails = new ContactDetails();\r\n contact: ContactDetails = new ContactDetails();\r\n cvr: string = '';\r\n ean: string = '';\r\n propertyName: string = '';\r\n title: string = '';\r\n requisitionNumber: string = '';\r\n reference: string = '';\r\n description: string = '';\r\n companyMessage: string = '';\r\n responsibleId: string = '';\r\n files: string[] = [];\r\n isOfferRequest: boolean = false;\r\n orderNumber: string = '';\r\n}\r\n\r\nexport class ContactDetails {\r\n name: string = '';\r\n address: string = '';\r\n zipCode: string = '';\r\n city: string = '';\r\n email: string = '';\r\n phone: string = '';\r\n mobile: string = '';\r\n ean: string = '';\r\n cvr: string = '';\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderbydate'\r\n})\r\nexport class OrderbydatePipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (typeof args[0] === \"undefined\") {\r\n return value;\r\n }\r\n let direction = args[0][0];\r\n let column = args.replace('-', '');\r\n value.sort((a: any, b: any) => {\r\n let left = Number(new Date(a[column]));\r\n let right = Number(new Date(b[column]));\r\n return (direction === \"-\") ? right - left : left - right;\r\n });\r\n return value;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject } from 'rxjs';\r\nimport { ActionApi } from '../api/actionApi'\r\nimport { Activity, PostActivity } from '../models/action.models';\r\nimport { TaskData } from 'app/task-items/tasksData';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActionService {\r\n api = new ActionApi(this.http);\r\n \r\n public taskSubject = new Subject<any>();\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n convertActivityToPostActivity(a: TaskData): PostActivity {\r\n return {\r\n subject: a.subject,\r\n activityType: a.activityType.id,\r\n status: a.status.id,\r\n customerId: a.customer.customerId,\r\n caseId: a.caseId,\r\n offerId: a.offerId,\r\n propertyId: a.propertyId,\r\n propertyLeaseId: a.propertyLeaseId,\r\n dueDate: a.dueDate,\r\n dueTime: a.dueTime,\r\n description: a.description,\r\n durationInMinutes: a.durationInMinutes,\r\n assignedToStakeholder: a.assignedToStakeholder.id,\r\n dueDateTime: a.dueDateTime,\r\n recurring: a.recurring,\r\n recurrance: a.recurrance,\r\n templateId: a.templateId,\r\n note: a.note,\r\n dvCategoryId: a.dvCategoryId,\r\n dvAccountPlanId: a.dvAccountPlanId,\r\n mandatory: a.mandatory,\r\n partnerCompanyId: a.partnerCompanyId,\r\n priorityId: a.priority.id\r\n }\r\n }\r\n\r\n copyPartialToPostActivity(a:TaskData):PostActivity {\r\n return {\r\n subject: '',\r\n activityType: null,\r\n status: '7cb83847-96ee-4567-8555-b9d770ff16c0',\r\n customerId: a.customer.customerId,\r\n caseId: a.caseId,\r\n offerId: a.offerId,\r\n propertyId: a.propertyId,\r\n propertyLeaseId: a.propertyLeaseId,\r\n dueDate: a.dueDate,\r\n dueTime: a.dueTime,\r\n description: '',\r\n durationInMinutes: 60,\r\n assignedToStakeholder: a.assignedToStakeholder.id,\r\n dueDateTime: null,\r\n recurring: null,\r\n recurrance: a.recurrance,\r\n templateId: a.templateId,\r\n note: '',\r\n dvCategoryId: null,\r\n dvAccountPlanId: null,\r\n mandatory: false,\r\n partnerCompanyId: null,\r\n priorityId: null\r\n }\r\n }\r\n\r\n public copyTask(a: TaskData) {\r\n this.taskSubject.next(this.copyPartialToPostActivity(a));\r\n }\r\n\r\n belongsTo(a: Activity): string {\r\n return !!a.offerId ? 'offer' : !!a.caseId ? 'case' : !!a.propertyId ? 'property' : !!a.propertyLeaseId ? 'lease' : null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { CaseApi } from '../api/case.api';\r\nimport { NewCase } from 'app/cases/cases.component';\r\nimport { CreateCompanyCase } from '../models/case.models';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CaseService {\r\n _cases: any = {};\r\n _casePartners: any = {};\r\n\r\n currentCase = new ReplaySubject<any>(1);\r\n currentCasePartner = new ReplaySubject<any>(1);\r\n currentPartnerMessages = new ReplaySubject<any>(1);\r\n currentPartnerBadges = new ReplaySubject<any>(1);\r\n newCaseSubject = new Subject<CreateCompanyCase>();\r\n api = new CaseApi(this.http);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n case(caseId: string) {\r\n if (!!caseId && (!this._cases[caseId])) {\r\n this.getCase(caseId);\r\n }\r\n else if (!!caseId && !!this._cases[caseId]) {\r\n this.currentCase.next(this._cases[caseId]);\r\n }\r\n return this.currentCase;\r\n }\r\n\r\n casePartners(caseId: string) {\r\n if (!!caseId && !this._casePartners[caseId]) {\r\n this.getPartnerData(caseId)\r\n }\r\n else if (!!caseId && !!this._casePartners[caseId]) {\r\n this.currentCasePartner.next(this._casePartners[caseId]);\r\n }\r\n return this.currentCasePartner;\r\n }\r\n\r\n private getCase(caseId: string) {\r\n this.api.getCase(caseId).subscribe({\r\n next: (data) => {\r\n this._cases[caseId] = data;\r\n this.currentCase.next(data)\r\n }\r\n });\r\n }\r\n\r\n public refreshCase(caseId: string) {\r\n this.getCase(caseId);\r\n }\r\n\r\n private getPartnerData(caseId: string, options: any = {}) {\r\n let o = { messages: false, badges: false };\r\n o = { ...o, ...options };\r\n this.api.getCasePartnerData(caseId).subscribe({\r\n next: (data: any) => {\r\n this.currentCasePartner.next(data);\r\n if (!!o.badges) {\r\n this.getPartnerBadges(this.partnerCaseIdsFromPartnerData(data))\r\n }\r\n }\r\n });\r\n }\r\n\r\n public refreshCasePartners(caseId: string, options: any = {}) {\r\n this.getPartnerData(caseId, options);\r\n }\r\n\r\n private getPartnerBadges(partnerCaseIds: string[]) {\r\n let output: any = {};\r\n for (let caseId of partnerCaseIds) {\r\n this.api.getPartnerCaseBadges(caseId).subscribe({\r\n next: (data) => { output[caseId] = data != null ? data : null },\r\n error: (err) => { output[caseId] = null; console.error('Problems loading a partners message badge', err) },\r\n complete: () => {\r\n if (Object.keys(output).length == partnerCaseIds.length) this.currentPartnerBadges.next(output);\r\n }\r\n })\r\n }\r\n }\r\n\r\n public partnerBadges(caseId: string) {\r\n if (!!caseId && !this._cases[caseId]) this.getPartnerData(caseId, { badges: true });\r\n return this.currentPartnerBadges\r\n }\r\n\r\n partnerCaseIdsFromPartnerData(partnerData: any) {\r\n let output = [];\r\n if (!!partnerData.fromPartner) output.push(partnerData.fromPartner.caseId);\r\n for (let x of partnerData.toPartners) {\r\n output.push(x.caseId)\r\n }\r\n for (let x of partnerData.offers) {\r\n output.push(x.caseId)\r\n }\r\n return Array.from(new Set(output))\r\n }\r\n\r\n newCase() {\r\n return this.newCaseSubject\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport * as api from '../api/apihandler';\r\nimport { CompanyApi } from '../api/companyApi';\r\nimport { CompanyInformation, Section } from '../models/standard.models';\r\nimport { da_DK, fo_FO, sv_SE, en_US, es_ES, de_DE,nn_NO } from 'app/shared/utilities/gridTranslates';\r\nimport { CompanyUser, CompanyPriority } from '../models/company.models';\r\nimport { PartnerCompany } from '../models/partner.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService {\r\n private compInfo?:{info:CompanyInformation, settings:Section[], grid:any};\r\n private compInfoReplay = new ReplaySubject<{info:CompanyInformation, settings:Section[], grid:any} | null>(1);\r\n private users!:CompanyUser[];\r\n private usersReplay = new ReplaySubject<CompanyUser[] | null>(1);\r\n private companyPriorities?: CompanyPriority[];\r\n private prioritiesReplay = new ReplaySubject<CompanyPriority[] | null>(1);\r\n private _partners?:PartnerCompany[];\r\n private partnersReplay = new ReplaySubject<PartnerCompany[]>(1);\r\n private _partnersTo?:PartnerCompany[];\r\n private partnersToReplay = new ReplaySubject<PartnerCompany[]>(1);\r\n\r\n api = new CompanyApi(this.http);\r\n\r\n constructor(private http:HttpClient) {}\r\n\r\n // REPLAY SUBJECTS\r\n\r\n public companySettings(){\r\n if(!this.compInfo) this.getAllCompanyInfo();\r\n return this.compInfoReplay\r\n }\r\n\r\n public companyUsers(){\r\n if(!this.users) this.getUsers()\r\n return this.usersReplay\r\n }\r\n\r\n public priorities(){\r\n if(!this.companyPriorities) this.getPriorities();\r\n return this.prioritiesReplay\r\n }\r\n\r\n public partners(){\r\n if(!this._partners) this.getPartners();\r\n return this.partnersReplay\r\n }\r\n\r\n public partnersTo(){\r\n if(!this._partnersTo) this.getPartnersTo();\r\n return this.partnersToReplay\r\n }\r\n\r\n public reloadCompany(){ this.getAllCompanyInfo() }\r\n\r\n private async updateCompInfo(compInfo:CompanyInformation,settings:Section[]) {\r\n this.compInfo = {\r\n info: compInfo,\r\n settings:settings,\r\n grid: this.getGridTranslatesByLanguage(compInfo.companyLanguage)\r\n }\r\n this.compInfoReplay.next( this.compInfo )\r\n };\r\n\r\n resetCompany(){\r\n this.compInfoReplay.next(null);\r\n }\r\n\r\n // GETS\r\n private async getAllCompanyInfo(){\r\n let compInfo:CompanyInformation;\r\n let settings: Section[];\r\n this.api.getCompanyInformation().subscribe(\r\n {\r\n next:(data)=> compInfo = data,\r\n error:(err)=> console.error(err),\r\n complete:()=> {if(!!compInfo && !!settings) this.updateCompInfo(compInfo,settings);}\r\n }\r\n )\r\n this.api.getSettings().subscribe(\r\n {\r\n next:(data)=> settings = data,\r\n error:(err)=> console.error(err),\r\n complete:()=>{ if(!!compInfo && !!settings) this.updateCompInfo(compInfo,settings);}\r\n }\r\n )\r\n }\r\n\r\n private getUsers(){\r\n this.api.getCompanyUsers().subscribe(\r\n {\r\n next:(data:CompanyUser[])=> {this.users = data; this.usersReplay.next(data)},\r\n error:(err) => console.error(err)\r\n }\r\n )\r\n }\r\n\r\n private getPriorities(){\r\n this.api.getCompanyPriorities().subscribe(\r\n {\r\n next:(data:CompanyPriority[]) => { this.companyPriorities = data; this.prioritiesReplay.next(data) },\r\n error:(err) => console.error(err)\r\n }\r\n )\r\n }\r\n\r\n getGridTranslatesByLanguage(lang:string){\r\n switch(lang){\r\n case 'da-DK' : return da_DK;\r\n case 'fo-FO' : return fo_FO;\r\n case 'sv-SE' : return sv_SE;\r\n case 'es_ES' : return es_ES;\r\n case 'de-DE' : return de_DE;\r\n case 'nn-NO' : return nn_NO;\r\n case 'en-US' : \r\n default : return en_US;\r\n }\r\n }\r\n\r\n public getPartners(){\r\n this.api.getPartnerCompanies().subscribe({\r\n next:(data)=> this.partnersReplay.next(data),\r\n error:(err) => console.error('Could not get partners', err)\r\n })\r\n }\r\n\r\n public getPartnersTo(){\r\n this.api.getPartnersToCompanies().subscribe({\r\n next:(data:PartnerCompany[]) => this.partnersReplay.next(data)\r\n })\r\n }\r\n\r\n public formatVat(vat:string, companyLanguage:string){\r\n if(!vat || !companyLanguage) return vat;\r\n const digitsOnly = vat.replace(/\\D/g, '');\r\n switch(companyLanguage){\r\n case 'sv-SE' : {\r\n if(digitsOnly.length == 8) return `${digitsOnly.slice(0, 6)}-${digitsOnly.slice(6)}`;\r\n else if(digitsOnly.length == 10) return `${digitsOnly.slice(0, 8)}-${digitsOnly.slice(8)}`;\r\n return vat\r\n }\r\n default : {\r\n if(digitsOnly.length == 8) return digitsOnly.replace(/(\\d{2})(?=\\d)/g, '$1 ');\r\n return vat\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport interface CompanySettings {\r\n info: CompanyInformation;\r\n settings: Section[];\r\n grid:any;\r\n}\r\n\r\nexport class CompanyInformationHandler{\r\n address:string | undefined | null;\r\n language: string | undefined | null;\r\n number: number | undefined | null;\r\n type: string | undefined | null;\r\n email:string | undefined | null;\r\n googleAnalyticsId:string | undefined | null;\r\n id: string | undefined | null;\r\n logo: string | undefined | null;\r\n name: string | undefined | null;\r\n originId: string | undefined | null;\r\n phone: string | undefined | null;\r\n\r\n constructor(compInfo:CompanyInformation, public sections: Section[]){\r\n this.address = compInfo.address;\r\n this.language = compInfo.companyLanguage;\r\n this.number = compInfo.companyNumber;\r\n this.type = compInfo.companyType;\r\n this.email = compInfo.email;\r\n this.googleAnalyticsId = compInfo.googleAnalyticsId;\r\n this.id = compInfo.id;\r\n this.logo = compInfo.logo;\r\n this.name = compInfo.name;\r\n this.originId = compInfo.originId;\r\n }\r\n\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CaseDetails } from 'app/details-new/details-new.data';\r\nimport { Subject, ReplaySubject, Observable } from 'rxjs';\r\nimport { CaseObject } from '../../shared-html-components/details/details.component'\r\nimport { GetOffer, JoinedProduct } from '../../shared-html-components/document-creator/productGrid';\r\nimport { CompanyApi } from '../api/companyApi';\r\nimport { CompanyProfit, KeyValue, PriceGroup, Section } from '../models/standard.models';\r\nimport * as api from '../api/apihandler';\r\n\r\n \r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentService {\r\n private offer = new ReplaySubject<any>(1);\r\n private activeCase = new ReplaySubject<any>(1);\r\n private products = new ReplaySubject<any>(1);\r\n private priceGroups = new ReplaySubject<any>(1);\r\n private statusTranslates = new ReplaySubject<KeyValue[]>(1);\r\n private profits = new ReplaySubject<any>(1);\r\n private companyPrices;\r\n private replayCompanyPrices = new ReplaySubject<CompanyPrices>(1);\r\n private statusesLoaded:boolean;\r\n private api = new CompanyApi(this.http);\r\n\r\n constructor(private http:HttpClient) { }\r\n\r\n currentCase() {\r\n return this.activeCase;\r\n }\r\n\r\n currentOffer() {\r\n return this.offer;\r\n }\r\n\r\n currentProducts() {\r\n return this.products;\r\n }\r\n\r\n currentPriceGroups() {\r\n return this.priceGroups;\r\n }\r\n\r\n private getPriceSettings(){\r\n let companyProfits:CompanyProfit[], priceGroups:PriceGroup[], standardProfit:number;\r\n this.api.getCompanyProfits().subscribe(\r\n (data:CompanyProfit[])=>{ companyProfits = data },\r\n (err)=>{ console.error(err); companyProfits = [] },\r\n ()=>{ \r\n if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n }\r\n )\r\n this.api.getPriceGroups().subscribe(\r\n (data:PriceGroup[])=>{ priceGroups = data },\r\n (err)=>{ priceGroups = [] },\r\n ()=>{ \r\n if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n }\r\n )\r\n // Get standard profit on materials\r\n this.api.getSettingsById('17983dbc-a098-4c45-b2cf-01fe642bfb01').subscribe(\r\n (data:Section)=>{ standardProfit = !!data ? +data.value : 40 },\r\n (err) => { console.error(err); standardProfit = 40 },\r\n ()=>{ \r\n if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n }\r\n )\r\n }\r\n\r\n getCompanyPrices(){\r\n if(!this.companyPrices) this.getPriceSettings();\r\n return this.replayCompanyPrices;\r\n }\r\n\r\n getOfferStatuses():void {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n this.http.get<KeyValue[]>(api.jubloApi + 'api/Website/Offer/OfferStatusList', { headers }).subscribe(\r\n {\r\n next:(statuses: KeyValue[]) => { this.statusesLoaded = true; this.statusTranslates.next(statuses); },\r\n error:(err) => console.error(\"An error occurred while getting offer statuses\", err)\r\n }\r\n )\r\n }\r\n\r\n offerStatuses(){\r\n if(!this.statusesLoaded) this.getOfferStatuses();\r\n return this.statusTranslates;\r\n }\r\n\r\n statusName(id){\r\n\r\n }\r\n\r\n private updateCompanyPrices(companyProfits:CompanyProfit[], priceGroups:PriceGroup[], standardProfit:number){\r\n let update = {\r\n companyProfits:companyProfits, \r\n priceGroups:priceGroups, \r\n standardProfit:standardProfit\r\n }\r\n this.companyPrices = update;\r\n this.replayCompanyPrices.next(update);\r\n }\r\n\r\n set case(c:CaseDetails){\r\n this.activeCase.next(c);\r\n }\r\n \r\n /**\r\n * TO-DO wishlist\r\n * getOfferListByCaseId\r\n * getProductsByCaseId\r\n * \r\n * companyProfitMargin\r\n * specialProfits\r\n * is there a specialProfits editor?\r\n * HourTypes for updating\r\n * \r\n */\r\n\r\n}\r\n\r\nexport interface CompanyPrices {\r\n companyProfits: CompanyProfit[];\r\n priceGroups: PriceGroup[],\r\n standardProfit: number;\r\n}\r\n\r\nexport class CompanyPricesHandler {\r\n constructor(private companyProfits:CompanyProfit[], public priceGroups: PriceGroup[], public standardProfit){}\r\n public priceGroupById(id:string){ return this.priceGroups.find(x => x.priceGroupId) }\r\n public findMaterialProfit(productNumber:number, costPrice:number){\r\n let result = this.companyProfits.find(x => x.startNumber <= productNumber && x.endNumber >= productNumber && x.priceStart <= costPrice && x.priceEnd >= costPrice);\r\n return !!result ? +(result.profit).toFixed(2) : this.standardProfit\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport * as api from '../api/apihandler';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpsAndMaintainService {\r\n private categories;\r\n private accounts;\r\n private replayCatsandAccs = new ReplaySubject<OperationsAndMaintainenceCategoriesAndAccounts>(1);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n private getDVCategory() {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") });\r\n this.http.get(api.jubloApi + 'api/Activity/GetDVCategory', { headers }).subscribe(\r\n (data: Array<DVCategory>) => {\r\n this.categories = data;\r\n //this.ops.list = data.map((x) => {\r\n // return {\r\n // id: x.id,\r\n // parentId: x.parentId,\r\n // name: x.name,\r\n // items: [],\r\n // children: [],\r\n // showChildren: false,\r\n // showItems: false,\r\n // editing: false,\r\n // hidden: false,\r\n // hover: false,\r\n // originalData: x,\r\n // };\r\n //}).sort((a, b) => { return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1; });\r\n },\r\n (error) => { console.log(error); },\r\n () => { this.getAccountPlans(); }\r\n );\r\n }\r\n\r\n private getAccountPlans() {\r\n const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") });\r\n this.http.get(api.jubloApi + 'api/Activity/GetAccountPlans', { headers }).subscribe(\r\n (data) => {\r\n this.accounts = data;\r\n },\r\n (error) => { console.log(error)},\r\n () => {\r\n this.replayCatsandAccs.next({\r\n categories: this.categories,\r\n accounts: this.accounts\r\n })\r\n }\r\n )\r\n }\r\n\r\n public getCategoriesAndAccounts() {\r\n if (!this.categories || !this.accounts) { this.getDVCategory() }\r\n return this.replayCatsandAccs\r\n }\r\n\r\n public findAccountFromSubAccount(id){\r\n return this.accounts.find(x => x.id == id)\r\n }\r\n\r\n}\r\n\r\ninterface OperationsAndMaintainenceCategoriesAndAccounts {\r\n categories: Array<DVCategory>;\r\n accounts: Array<AccountPlan>;\r\n}\r\n\r\nexport class DVCategory {\r\n id: string;\r\n name: string;\r\n parentId: string;\r\n}\r\n\r\nexport class AccountPlan {\r\n id: string;\r\n categoryId: string;\r\n propertyCost: string;\r\n parentId: string;\r\n subscription: string;\r\n commonCost: string;\r\n text: string;\r\n subAccounts: Array<AccountPlan>;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, ReplaySubject, forkJoin, of } from 'rxjs';\r\n\r\nimport * as api from '../api/apihandler';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PackageService {\r\n private allPackages: PackageOverviewPackage[];\r\n private packages = new ReplaySubject<PackageOverviewPackage[]>(1);\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n private getAllCompanyPackages() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get(api.jubloApi + 'api/Website/CompanyPackages', { headers }).subscribe(\r\n (data: PackageOverviewPackage[]) => { \r\n this.packages.next(data);\r\n }\r\n )\r\n }\r\n\r\n getPackageById(id: string) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n return this.http.get(api.jubloApi + 'api/Website/Package/' + id, { headers })\r\n }\r\n\r\n getPackageCollection(idArray:string[]):Observable<PackageCollection[]>{\r\n let amount = 0;\r\n let output:PackageCollection[] = [];\r\n return new Observable(observer => {\r\n for(let x of idArray) {\r\n this.getPackageById(x).subscribe(\r\n (data:PackageDetails)=>{ \r\n output.push({ id:x, data:{...data, totalPrice : (data.salesPrice + data.salesVat).toString()} }),\r\n amount += 1\r\n },\r\n (error:any) => { console.log('Failed to get packageId', error); amount += 1 },\r\n ()=> { \r\n if(amount == idArray.length) {\r\n observer.next(output);\r\n observer.complete()\r\n } \r\n }\r\n )\r\n }\r\n }\r\n )\r\n }\r\n\r\n getPackageName(id: string): Observable<string>{\r\n return new Observable((obs => {\r\n this.getPackageById(id).subscribe({\r\n next:(data: any) => obs.next(`#${data.packageNumber} ${data.name}`),\r\n error:(err) => obs.error(err),\r\n complete:()=> obs.complete()\r\n })\r\n }))\r\n }\r\n\r\n getPackageNames(unitIds: string[]): Observable<{id: string, name: string}[]>{\r\n const observables = unitIds.map(id => \r\n this.getPackageName(id).pipe(\r\n map(name => ({ id, name })),\r\n catchError(err => of({ id, name: 'Error loading package' })) // Handle error and provide a fallback name\r\n )\r\n );\r\n \r\n return forkJoin(observables);\r\n }\r\n\r\n public getPackages(){\r\n if(!this.allPackages) this.getAllCompanyPackages();\r\n return this.packages\r\n }\r\n}\r\n\r\nexport interface PackageOverviewPackage {\r\n packageId: string;\r\n name: string;\r\n installationTimeInHours: number;\r\n category: string;\r\n skill: string;\r\n isActive: boolean;\r\n packageNumber: string;\r\n image: string;\r\n lastModified: string,\r\n showInShop: boolean,\r\n costPrice: number;\r\n salesPrice: number;\r\n salesVat: number;\r\n discount: number;\r\n packageUpdateType: string;\r\n}\r\n\r\nexport interface PackageDetails {\r\n packageId: string;\r\n name: string;\r\n description: string;\r\n disclaimer: string;\r\n installationTimeInHours: number;\r\n categoryId: string;\r\n skillId: string;\r\n isActive: boolean;\r\n packageNumber: string;\r\n imageUrl: string;\r\n customLines: PackageDetailsCustomLine[];\r\n priceCostMaterials: number;\r\n priceMaterialsHour: number;\r\n priceMaterialHourStartFee: number;\r\n productLines: PackageDetailsProductLine[];\r\n productImages: string[];\r\n selectedMarginType: string;\r\n hoursCostPrice: number;\r\n hoursSalesPrice: number;\r\n profitMargin: number;\r\n totalPrice: string;\r\n startingPrice: number;\r\n showInShop: boolean;\r\n costPrice: number;\r\n salesPrice: number;\r\n salesVat: number;\r\n discount: number;\r\n priceGroupId: string;\r\n packageUpdateType: KeyValue;\r\n startDate: string;\r\n endDate: string;\r\n labelOne: string;\r\n labelTwo: string;\r\n}\r\n\r\nexport interface PackageDetailsCustomLine {\r\n id: string;\r\n name: string;\r\n costPrice: number;\r\n salesPrice: number;\r\n quantity: number;\r\n priceGroupId: string;\r\n totalCostPrice: number;\r\n totalSalesPrice: number;\r\n profit: number;\r\n discount: number;\r\n sortOrder: number;\r\n}\r\n\r\nexport interface PackageDetailsProductLine {\r\n productId: string;\r\n productNumber: string;\r\n description: string;\r\n wholeSaler: number;\r\n manufacturer: string;\r\n quantity: number;\r\n costPrice: number;\r\n listPrice: number;\r\n image: string;\r\n totalCostPrice: number;\r\n profit: number;\r\n discount: number;\r\n sortOrder: number;\r\n companyProduct: boolean;\r\n}\r\n\r\nexport interface KeyValue {\r\n key:string;\r\n value: string;\r\n}\r\n\r\nexport interface PackageCollection {\r\n id: string;\r\n data: PackageDetails\r\n}","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Activity } from '../../activities/activities';\r\nimport { UserInfo } from '../../settings/users/userdetails/userDetails-model';\r\nimport { Responsible, Fitter, CompanyInformation } from '../../shared-html-components/details/models';\r\nimport { CaseType } from '../../cases/cases.component';\r\nimport { GridTranslateVariables } from '../utilities/variables';\r\nimport { CasePriority } from 'app/settings/category-setup/category-setup.component';\r\nimport { IdName, IdNamePriority } from '../models/standard.models';\r\nimport * as api from '../api/apihandler';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedDataService {\r\n public compInfo: CompanyInformation | null = null;\r\n private activityData = new ActivityDataHolder();\r\n private assetCats: IdName[] | null = null;\r\n private responsiblesData: Array<KeyValue> | null = null;\r\n private onCaseData;\r\n private messagesToStakeholderData;\r\n private notifySets;\r\n private departmentsData: Array<Department> | null = null;\r\n private categoriesData: Array<any> | null = null\r\n private companyUsersData;\r\n private companySkills;\r\n private priceGroupsData;\r\n private fitterData;\r\n private userInfo;\r\n private filters: UserFilters | null = null;\r\n private priorityList;\r\n private allTradeGroups;\r\n private establishedByList;\r\n private eKSettings;\r\n private MinubaSettings;\r\n public fullscreen: boolean = false;\r\n private relayFullscreen = new ReplaySubject<boolean>(1);\r\n private relayFilters = new ReplaySubject<UserFilters | null>(1);\r\n private relayCompanyInformation = new ReplaySubject<CompanyInformation>(1);\r\n private relayDepartments = new ReplaySubject<Array<Department>>(1);\r\n private relayActivities = new ReplaySubject<Array<Activity>>(1);\r\n private relayResponsibles = new ReplaySubject<any>(1);\r\n private relayFitters = new ReplaySubject<Array<Activity>>(1);\r\n private relayUserInfo = new ReplaySubject<any>(1);\r\n private relayCompanyUsers = new ReplaySubject<any>(1);\r\n private relayPriceGroups = new ReplaySubject<any>(1);\r\n private relaySkills = new ReplaySubject<any>(1);\r\n private relayCategories = new ReplaySubject<any>(1);\r\n private relayOnCases = new ReplaySubject<OnCases>(1);\r\n private relayMessagesToStakeholder = new ReplaySubject<StakeholderMessages>(1);\r\n public gridTranslates = new GridTranslateVariables();\r\n public relayPriorities = new ReplaySubject<any>(1);\r\n public relayTradeGroups = new ReplaySubject<any>(1);\r\n public relayEstablishedBy = new ReplaySubject<any>(1);\r\n public relayNotificationSets = new ReplaySubject<any>(1);\r\n public relayAssetCategories = new ReplaySubject<IdName[]>(1);\r\n public relayEKompletSettings = new ReplaySubject<any>(1);\r\n public relayMinubaSettings = new ReplaySubject<any>(1);\r\n gettingCompanyInformation = false;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n originName(id: string) {\r\n switch (id) {\r\n case ('58ecfda6-79a6-4507-80ac-29b6d025360b'): { return 'Ordrestyring'; }\r\n case ('9f9776f1-7be5-40d6-813e-ef795aba3e73'): { return 'Jublo'; }\r\n case ('f84e1968-4cc4-4824-936e-441d4984284f'): { return 'Jublo'; }\r\n case ('4669a7be-4bfe-4046-aee1-3675f545dc9b'): { return 'Rekvisitioner'; }\r\n case ('2fdf7795-d8dc-4dcc-863b-9654ef98b1a0'): { return 'Minuba'; }\r\n case ('61ae61e5-8e71-44da-9c0c-72b6a752a697'): { return 'AO'; }\r\n case ('5a735683-e237-4084-885e-32f8cec5f9cf'): { return 'KlarPris'; }\r\n case ('cd80e0f1-f6c9-42a1-b2e8-3df714620304'): { return 'EGOne'; }\r\n case ('b81c660a-bc82-4c6b-a820-4f8804bdf68e'): { return 'EKomplet'; }\r\n case ('7e82cc3e-163e-4cb2-ba25-939fc339f021'): { return 'EKomplet'; }\r\n case ('5B3942BA-7118-4B25-80AF-53F5D13EF779'): { return 'Navision'; }\r\n case ('DD26BA61-4B4B-4827-AE16-D14C46EE5338'): { return 'BilligVVS.dk'; }\r\n default: { return 'Jublo'; }\r\n }\r\n }\r\n\r\n clearAll() {\r\n this.compInfo = null;\r\n this.activityData = new ActivityDataHolder();\r\n this.responsiblesData = null;\r\n this.onCaseData = null;\r\n this.messagesToStakeholderData = null;\r\n this.departmentsData = null;\r\n this.categoriesData = null;\r\n this.companyUsersData = null;\r\n this.companySkills = null;\r\n this.priceGroupsData = null;\r\n this.fitterData = null;\r\n this.userInfo = null;\r\n this.filters = null;\r\n }\r\n\r\n //API GET CALLS\r\n getUserInformation() {\r\n if (localStorage.getItem('bearer') != null) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<UserInfo>(api.jubloApi + 'api/WebSite/Company/User/UserInfo', { headers }).subscribe((data: UserInfo) => {\r\n this.userInfo = data;\r\n this.relayUserInfo.next(data);\r\n })\r\n }\r\n }\r\n\r\n getCompanyInformation() {\r\n if (localStorage.getItem('bearer') != null) {\r\n this.gettingCompanyInformation = true;\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<CompanyInformation>(api.jubloApi + 'api/Website/Settings/CompanyInformation', { headers }).subscribe((data: CompanyInformation) => {\r\n if (data.companyNumber == 30125 || data.companyNumber == 32049) {\r\n let g = JSON.parse(localStorage.getItem('guards') as string);\r\n if (!g.find((x:{name:string}) => x.name == 'ServiceContract')) {\r\n g.push({ 'name': 'ServiceContract' });\r\n localStorage.setItem('guards', JSON.stringify(g));\r\n } \r\n }\r\n this.compInfo = data;\r\n this.relayCompanyInformation.next(data)\r\n this.gettingCompanyInformation = false;\r\n });\r\n }\r\n }\r\n\r\n getResponsibles() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<ResponsibleListItem[]>(api.jubloApi + 'api/WebSite/Company/User/Responsible', { headers }).subscribe((data: Array<ResponsibleListItem>) => {\r\n let temp = [];\r\n for (let r of data) {\r\n temp.push(r.responsible)\r\n }\r\n this.responsiblesData = temp.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1);\r\n this.relayResponsibles.next( temp.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1) );\r\n })\r\n }\r\n\r\n getOnCases() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<OnCases[]>(api.jubloApi + 'api/WebSite/Case/GetOnCases', { headers }).subscribe((data: Array<OnCases>) => {\r\n this.onCaseData = data;\r\n this.relayOnCases.next(this.onCaseData);\r\n });\r\n }\r\n\r\n getMessagesToStakeholder() {\r\n if (localStorage.getItem('bearer') != null) {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<StakeholderMessages[]>(api.jubloApi + 'api/WebSite/Company/User/GetUserMessages', { headers }).subscribe((data: Array<StakeholderMessages>) => {\r\n this.messagesToStakeholderData = data;\r\n //console.log(data);\r\n },(response) => { console.log('error', response) },\r\n () => {\r\n this.relayMessagesToStakeholder.next(this.messagesToStakeholderData);\r\n });\r\n }\r\n }\r\n\r\n getDepartments() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<Department[]>(api.jubloApi + 'api/Website/Department', { headers }).subscribe((data: Array<Department>) => {\r\n this.departmentsData = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n this.relayDepartments.next( data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1) );\r\n });\r\n \r\n }\r\n\r\n getNotificationSets(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<IdNamePriority[]>(api.jubloApi + 'api/Website/Case/GetNotificationSets',{headers}).subscribe(\r\n (data:IdNamePriority[])=>{\r\n if(data){\r\n this.notifySets = data;\r\n if(data.length > 1)\r\n this.relayNotificationSets.next(data.sort((a,b)=> a.priority < b.priority ? -1 : 1));\r\n else { this.relayNotificationSets.next(null); }\r\n }\r\n }\r\n )\r\n }\r\n\r\n getSkills() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/PackageDistributorSkill', { headers }).subscribe((data: any) => {\r\n this.companySkills = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n this.relaySkills.next(this.companySkills);\r\n }); \r\n }\r\n\r\n getCaseCustomer() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/Website/Case/CaseCustomer', { headers }).subscribe((data: any) => {\r\n return data;\r\n });\r\n }\r\n\r\n getPriceGroups() {\r\n if (!!this.priceGroupsData) { return this.priceGroupsData }\r\n else {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<any[]>(api.jubloApi + 'api/Website/PriceGroup', { headers }).subscribe(\r\n (data: Array<any>) => {\r\n this.priceGroupsData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ;\r\n this.relayPriceGroups.next(data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) );\r\n }\r\n )\r\n\r\n }\r\n }\r\n\r\n getFitters() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/Website/CompanyUserCanBe/Fitter', { headers }).subscribe((data: any) => {\r\n this.fitterData = data.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1);\r\n this.relayFitters.next(this.fitterData)\r\n })\r\n }\r\n\r\n getActivities() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<Activity[]>(api.jubloApi + 'api/Activity',\r\n { headers }).subscribe(\r\n (val: Array<Activity>) => {\r\n this.activityData.data = val;\r\n this.activityData.lastLoaded = new Date();\r\n this.relayActivities.next(val);\r\n },\r\n response => { },\r\n () => { }\r\n );\r\n }\r\n\r\n getAssetCategories(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<IdName[]>(api.jubloApi + 'api/Assets/AssetsCategory',{headers}).subscribe(\r\n (data: IdName[])=>{ \r\n this.assetCats = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n this.relayAssetCategories.next(data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1))\r\n }\r\n )\r\n }\r\n\r\n getCompanyUsers() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/Website/Company/User',\r\n { headers }).subscribe(\r\n (data:any[]) => { \r\n this.companyUsersData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1);\r\n this.relayCompanyUsers.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n },\r\n (response) => { },\r\n () => { }\r\n )\r\n }\r\n\r\n getCompanyUserFilter() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.httpClient.get<UserFilters>(api.jubloApi + 'api/WebSite/Company/User/GetCompanyUserFilter', { headers }).subscribe((data: UserFilters) => {\r\n this.filters = new UserFilters();\r\n if (!!data) {\r\n this.filters.activities = this.loopFilters(new ActivitiesFilterOptions(), data.activities);\r\n this.filters.caseOverView = this.loopFilters(new CaseOverViewFilterOptions(),data.caseOverView);\r\n this.filters.customerOverView = this.loopFilters(new StandardFilterOptions(), data.customerOverView);\r\n this.filters.offerOverView = this.loopFilters(new StandardFilterOptions(),data.offerOverView);\r\n this.filters.unitOverview = this.loopFilters(new UnitOverviewFilterOptions(), data.unitOverview);\r\n this.filters.propertiesOverview = this.loopFilters(new StandardFilterOptions(), data.propertiesOverview);\r\n this.filters.ratingOverview = this.loopFilters(new StandardFilterOptions(), data.ratingOverview);\r\n this.filters.outboxOverview = this.loopFilters(new StandardFilterOptions(), data.outboxOverview);\r\n this.filters.vendors = this.loopFilters(new StandardFilterOptions(), data.vendors)\r\n this.filters.vendorAgreements = this.loopFilters(new StandardFilterOptions(), data.vendorAgreements);\r\n this.filters.reportOffer = this.loopFilters(new ReportOfferFilter(), data.reportOffer);\r\n this.filters.kanbanFilters = data.kanbanFilters;\r\n this.filters.campaigns = data.campaigns;\r\n this.filters.assets = data.assets;\r\n this.filters.service = data.service;\r\n }\r\n this.relayFilters.next(this.filters);\r\n });\r\n }\r\n\r\n getEKompletIntegrationSettings(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.httpClient.get(api.jubloApi + 'api/Website/IntegrationSettings', { headers }).subscribe(\r\n (data)=> {\r\n this.eKSettings = data;\r\n console.log(data)\r\n this.relayEKompletSettings.next(data);\r\n }\r\n )\r\n }\r\n\r\n getMinubaIntegrationSettings(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.httpClient.get(api.jubloApi + 'api/Minuba/OrderTypes', { headers }).subscribe({\r\n next: (data) => {\r\n this.MinubaSettings = data;\r\n this.relayMinubaSettings.next(data);\r\n }\r\n });\r\n }\r\n\r\n loopFilters(newObject:any, object:any): any {\r\n if (object != null) {\r\n for (let x of Object.keys(object)) {\r\n newObject[x] = object[x];\r\n }\r\n }\r\n return newObject\r\n }\r\n\r\n getCategories() {\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/PackageDistributor', { headers }).subscribe(\r\n (data: any[]) => {\r\n this.categoriesData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ;\r\n this.relayCategories.next(this.categoriesData)\r\n }\r\n )\r\n }\r\n \r\n getPriorities(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get<Array<CasePriority>>(api.jubloApi + 'api/Website/Case/GetCasePriorities',{headers}).subscribe({\r\n next: (data) => {\r\n this.priorityList = data.sort((a,b)=>{ return a.sortOrder > b.sortOrder ? 1 : -1});\r\n this.relayPriorities.next(this.priorityList);\r\n }\r\n });\r\n }\r\n\r\n updateCategories() {\r\n this.getCategories();\r\n }\r\n\r\n getTradeGroups(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/Website/Offer/GetTradeGroups',{headers}).subscribe(\r\n (data: any[])=>{ \r\n this.allTradeGroups = data; \r\n this.relayTradeGroups.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n }\r\n )\r\n }\r\n\r\n getEstablishedBy(){\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.get(api.jubloApi + 'api/Website/Offer/GetEstablishedBy',{headers}).subscribe(\r\n (data: any[])=>{ \r\n this.establishedByList = data; \r\n this.relayEstablishedBy.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n }\r\n )\r\n }\r\n\r\n //API PUT CALLS\r\n\r\n putCompanyUserFilter() {\r\n this.relayFilters.next(this.filters);\r\n //console.log('saving filters', this.filters)\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n this.httpClient.put(api.jubloApi + 'api/WebSite/Company/User/SetCompanyUserFilter', this.filters , { headers }).subscribe(\r\n () => { },\r\n (response) => { console.log('error',response) },\r\n () => { }\r\n )\r\n }\r\n\r\n get caseOverViewFilters():CaseOverViewFilterOptions | null {\r\n return !!this.filters ? this.filters.caseOverView : null;\r\n }\r\n\r\n set caseOverViewFilters(filter: CaseOverViewFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.caseOverView = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n else if (this.filters != null) { this.filters.caseOverView = new CaseOverViewFilterOptions() }\r\n }\r\n\r\n get offerOverViewFilters(): StandardFilterOptions | null {\r\n return !!this.filters ? this.filters.offerOverView : null;\r\n }\r\n\r\n set offerOverViewFilters(filter: StandardFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.offerOverView = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set unitOverviewFilters(filter: UnitOverviewFilterOptions) {\r\n if (!!filter && this.filters) {\r\n this.filters.unitOverview = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set customerOverviewFilters(filter: StandardFilterOptions) {\r\n if (!!filter && !!this.filters) {\r\n this.filters.customerOverView = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set propertiesOverviewFilters(filter: StandardFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.propertiesOverview = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set ratingsOverviewFilters(filter: StandardFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.ratingOverview = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set reportOfferFilters(filter: ReportOfferFilter) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.reportOffer = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set activitiesFilter(filter: ActivitiesFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.activities = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set outboxFilters(filter: StandardFilterOptions) {\r\n if (!!filter && this.filters != null) {\r\n this.filters.outboxOverview = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set campaginFilters(filter:any){\r\n if(!!filter && !!this.filters) {\r\n this.filters.campaigns = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set assetFilters(filter:any){\r\n if(!!filter && !!this.filters) {\r\n this.filters.assets = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set serviceFilters(filter:any){\r\n if(!!filter && !!this.filters) {\r\n this.filters.service = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set allFilters(data: string) {\r\n if (data != null) { this.filters = JSON.parse(data) }\r\n else { this.filters = new UserFilters()}\r\n \r\n }\r\n\r\n set kanbanFilters(filter:any){\r\n if(!!filter && !!this.filters){\r\n this.filters.kanbanFilters = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set vendors(filter:any){\r\n if(!!filter && !!this.filters){\r\n this.filters.vendors = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n set vendorAgreements(filter:any){\r\n if(!!filter && !!this.filters){\r\n this.filters.vendorAgreements = filter;\r\n this.putCompanyUserFilter();\r\n }\r\n }\r\n\r\n filterUpdate() {\r\n //console.log(this.filters);\r\n if (this.filters == null || this.filters == undefined) {\r\n this.getCompanyUserFilter();\r\n }\r\n //console.log(this.relayFilters);\r\n return this.relayFilters;\r\n }\r\n\r\n enableFullscreen() {\r\n this.relayFullscreen.next(true);\r\n this.fullscreen = true;\r\n }\r\n\r\n disableFullscreen() {\r\n this.relayFullscreen.next(false);\r\n this.fullscreen = false;\r\n }\r\n\r\n //SERVICE CALLS\r\n // Subscribe to these from components to get service data\r\n\r\n userInformation() {\r\n if (this.userInfo == null || this.userInfo == undefined) { this.getUserInformation() }\r\n return this.relayUserInfo\r\n }\r\n\r\n categories() {\r\n if (this.categoriesData == null || this.categoriesData == undefined) { this.getCategories() }\r\n return this.relayCategories\r\n }\r\n\r\n companyInformation() {\r\n if (this.compInfo == null || this.compInfo == undefined) { this.getCompanyInformation() }\r\n return this.relayCompanyInformation\r\n }\r\n\r\n activities() {\r\n if (this.activityData.lastLoaded == null || new Date().getTime() - this.activityData.lastLoaded.getTime() > 6000) {\r\n this.getActivities()\r\n }\r\n return this.relayActivities\r\n }\r\n\r\n assetCategories() {\r\n if (!this.assetCats) this.getAssetCategories();\r\n return this.relayAssetCategories\r\n }\r\n\r\n departments() {\r\n if (this.departmentsData == null) { this.getDepartments() }\r\n return this.relayDepartments\r\n }\r\n\r\n notificationSets() {\r\n if(!this.notifySets) {this.getNotificationSets()}\r\n return this.relayNotificationSets\r\n }\r\n\r\n fitter() {\r\n if (this.fitterData == null) { this.getFitters() }\r\n return this.relayFitters\r\n }\r\n\r\n priceGroups() {\r\n if (this.priceGroupsData == null) { this.getPriceGroups() }\r\n return this.relayPriceGroups\r\n }\r\n\r\n priorities() {\r\n if(!this.priorityList) {this.getPriorities()}\r\n return this.relayPriorities\r\n }\r\n\r\n responsibles() {\r\n if (this.responsiblesData == null) { this.getResponsibles() }\r\n return this.relayResponsibles\r\n }\r\n\r\n needUpdate() {\r\n this.getCompanyUserFilter()\r\n }\r\n\r\n starterKit() {\r\n this.companyInformation();\r\n this.userInformation();\r\n }\r\n\r\n companyUsers() {\r\n if (this.companyUsersData == null || this.companyUsersData == undefined) { this.getCompanyUsers() }\r\n return this.relayCompanyUsers;\r\n }\r\n\r\n skills() {\r\n if (this.companySkills == null || this.companySkills == undefined) { this.getSkills() }\r\n return this.relaySkills;\r\n }\r\n\r\n OnCases() {\r\n if (this.onCaseData == null || this.onCaseData == undefined) { this.getOnCases() }\r\n return this.relayOnCases;\r\n }\r\n\r\n StakeholderMessages() {\r\n if (this.messagesToStakeholderData == null || this.messagesToStakeholderData == undefined) { this.getMessagesToStakeholder() }\r\n return this.relayMessagesToStakeholder;\r\n }\r\n\r\n eKompletSettings() {\r\n if (!this.eKSettings) this.getEKompletIntegrationSettings();\r\n return this.relayEKompletSettings;\r\n }\r\n\r\n minubaSettings() {\r\n if (!this.MinubaSettings) this.getMinubaIntegrationSettings();\r\n return this.relayMinubaSettings;\r\n }\r\n\r\n fullscreenEnabled() {\r\n return this.relayFullscreen\r\n }\r\n\r\n tradeGroups(){\r\n if(!this.allTradeGroups) { this.getTradeGroups(); }\r\n return this.relayTradeGroups\r\n }\r\n\r\n establishedBy(){\r\n if(!this.establishedByList) { this.getEstablishedBy(); }\r\n return this.relayEstablishedBy\r\n }\r\n\r\n /**\r\n * \r\n * @param historyType id from CaseHistoryType\r\n * @param text \r\n * @param subText \r\n * @param reporterType id from ReporterTypes ( i.e. stakeholder '89a41c6c-6a83-4978-90bb-ca7ec2d19a26' )\r\n * @param caseId Case to set the activity to.\r\n * @returns Observable\r\n */\r\n setCaseActivity(historyType: string, text: string, subText: string, reporterType: string, caseId: string) {\r\n let bearer = localStorage.getItem('bearer');\r\n let inputData = {\r\n caseId: caseId,\r\n reporterId: bearer,\r\n reporterTypeId: reporterType,\r\n subText: subText,\r\n text: text,\r\n historyTypeId: historyType\r\n }\r\n const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n return this.httpClient.post(api.jubloApi + 'api/CaseHistory/AddCaseHistory', inputData, { headers });\r\n }\r\n}\r\n\r\nexport class ResponsibleListItem {\r\n responsible: KeyValue = new KeyValue();\r\n}\r\n\r\nexport class KeyValue {\r\n public key!: string;\r\n public value!: string;\r\n}\r\n\r\nexport class Department {\r\n companyId: string;\r\n createdAt: string;\r\n departmentBelongToId: string;\r\n departmentBelongToName: string;\r\n departmentId: string;\r\n description: string;\r\n lastModified: Date;\r\n name: string;\r\n}\r\n\r\nexport class UserFilters {\r\n caseOverView: CaseOverViewFilterOptions = new CaseOverViewFilterOptions();\r\n customerOverView : StandardFilterOptions = new StandardFilterOptions();\r\n offerOverView: StandardFilterOptions = new StandardFilterOptions();\r\n activities: ActivitiesFilterOptions = new ActivitiesFilterOptions();\r\n unitOverview: UnitOverviewFilterOptions = new UnitOverviewFilterOptions();\r\n propertiesOverview: StandardFilterOptions = new StandardFilterOptions();\r\n ratingOverview: StandardFilterOptions = new StandardFilterOptions();\r\n outboxOverview: StandardFilterOptions = new StandardFilterOptions();\r\n vendors: StandardFilterOptions = new StandardFilterOptions();\r\n vendorAgreements: StandardFilterOptions = new StandardFilterOptions();\r\n reportOffer: ReportOfferFilter = new ReportOfferFilter();\r\n kanbanFilters: any;\r\n campaigns:any;\r\n assets:any;\r\n service:any;\r\n}\r\n\r\nexport class StandardFilterOptions {\r\n public gridState: any;\r\n public gridFilters: any;\r\n public savedFilters: Array<CustomFilters> = [];\r\n}\r\n\r\nexport class CustomFilters {\r\n name: string;\r\n filter: any;\r\n state?: Array<any>;\r\n sort?: Array<any> = []\r\n}\r\n\r\nexport class CaseOverViewFilterOptions extends StandardFilterOptions {\r\n public onlyNotifications = true;\r\n}\r\n\r\nexport class ReportOfferFilter extends StandardFilterOptions {\r\n gridDateFilter: string;\r\n}\r\n\r\nexport class ColumnSettings {\r\n visible: boolean = true;\r\n width: string = '1px';\r\n}\r\n\r\nexport class ActivitiesFilterOptions extends StandardFilterOptions {\r\n public user: string = 'all';\r\n public type: string = 'all';\r\n public status: 'todo' | 'overdue' | 'done' | 'current' | 'all' = 'current';\r\n public period: 'today' | 'tomorrow' | 'thisWeek' | 'nextWeek' | 'custom' | 'all' = 'all';\r\n public defaultClear: string = 'standard';\r\n public custom = new StartEnd();\r\n public newActivityStandardType: string;\r\n}\r\n\r\nexport class CustomerFilterOptions {\r\n public sortBy: 'customerNumber' | 'name' | 'customerAddress' | 'customerZipCode' | 'customerCity' | 'customerPhone' | 'customerEmail' | 'invoiceName' | 'invoiceAddress' | 'invoiceCity' | 'invoiceZipCode' | 'invoiceCity' | 'invoicePhone' | 'invoiceEmail' = 'customerNumber';\r\n public sortReversed = false;\r\n public tableSettings = new CustomerOverViewTableSettings();\r\n public gridFilters: any;\r\n public gridState: any;\r\n public savedFilters: Array<any> = [];\r\n}\r\n\r\nexport class CustomerOverViewTableSettings {\r\n CustomerNumber = new ColumnSettings();\r\n Name = new ColumnSettings();\r\n Address = new ColumnSettings();\r\n Zipcode = new ColumnSettings();\r\n City = new ColumnSettings();\r\n Phone = new ColumnSettings();\r\n Email = new ColumnSettings();\r\n InvoiceName = new ColumnSettings();\r\n InvoiceAddress = new ColumnSettings();\r\n InvoiceZipcode = new ColumnSettings();\r\n InvoiceCity = new ColumnSettings();\r\n InvoicePhone = new ColumnSettings();\r\n InvoiceEmail = new ColumnSettings();\r\n}\r\n\r\nexport class UnitOverviewFilterOptions {\r\n price: minMaxExact = new minMaxExact();\r\n hours: minMaxExact = new minMaxExact();\r\n use : AdvancedUnitFilters = new AdvancedUnitFilters();\r\n categories = [];\r\n categoriesUnused = [];\r\n skills = [];\r\n skillsUnused = [];\r\n number: string | null = null;\r\n active = true;\r\n name: string = '';\r\n}\r\n\r\nexport class AdvancedUnitFilters {\r\n price = false;\r\n hours = false;\r\n categories = false;\r\n skills = false;\r\n number = false;\r\n name = false;\r\n active = false;\r\n}\r\n\r\nexport class minMaxExact {\r\n min: number;\r\n max: number;\r\n exact: number;\r\n variance: number;\r\n use_ranged = true;\r\n}\r\n\r\nexport class StartEnd {\r\n public startString: string = '';\r\n public endString: string = '';\r\n public startDate: Date;\r\n public endDate: Date;\r\n}\r\n\r\nexport class ActivityDataHolder {\r\n data: Array<Activity>;\r\n lastLoaded: Date;\r\n}\r\n\r\nexport class OnCases {\r\n responsibles: Array<Responsible>;\r\n fitters: Array<Fitter>;\r\n caseTypes: Array<CaseType>;\r\n caseChannels: Array<CaseChannel>;\r\n caseCompany: Array<CaseCompany>;\r\n doneBy: Array<CaseDoneBy>;\r\n}\r\n\r\nexport class CaseChannel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class CaseCompany {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class CaseDoneBy {\r\n companyId: string;\r\n name: string;\r\n}\r\n\r\nexport class StakeholderMessages {\r\n caseId: string;\r\n createdAt: Date;\r\n icon: string;\r\n message: any;\r\n cleanMessage: any;\r\n messageId: string;\r\n messageType: MessageType;\r\n offerId: string;\r\n origin: Array<Origin>;\r\n seenAt: Date;\r\n since: string;\r\n title: string;\r\n}\r\n\r\nexport class MessageType {\r\n messageTypeId: string;\r\n name: string;\r\n}\r\n\r\nexport class Origin {\r\n name: string;\r\n originId: string;\r\n originLogo: string;\r\n}\r\n\r\nexport class GridColumnSettings {\r\n width: number = 0;\r\n visible: boolean = true;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport { UserFunctions } from '../api/userApi';\r\nimport { Companies, GetUser, User } from '../models/user.models';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n api = new UserFunctions(this.http);\r\n\r\n private _user: User | null = null;\r\n private userData = new ReplaySubject<User>(1);\r\n private crumber = new Subject<any>();\r\n\r\n constructor(private http: HttpClient, private router: Router) { }\r\n\r\n user() {\r\n if (!this._user) this.getUser();\r\n return this.userData\r\n }\r\n\r\n private getUser() {\r\n this.api.getUserInformation().subscribe({\r\n next: (data: GetUser) => {\r\n this._user = UserFunctions.transformUserInfo(data);\r\n },\r\n error: (err) => console.error('Had problems loading the user data', err),\r\n complete: () => { this.getCompanies(); }\r\n });\r\n }\r\n\r\n private getCompanies() {\r\n this.api.getUserCompanies().subscribe({\r\n next: (data: Companies[]) => {\r\n if (this._user != null) {\r\n this._user.companies = data;\r\n this.userData.next(this._user);\r\n }\r\n },\r\n error: (err) => console.error(\"Something went wrong loading the user's other companies\", err)\r\n });\r\n }\r\n\r\n setCrumb(data: any) {\r\n this.crumber.next(data)\r\n }\r\n\r\n crumbUpdate() {\r\n return this.crumber\r\n }\r\n\r\n fetchUser() {\r\n return new Promise((resolve, reject) => {\r\n this.api.getUser().subscribe({\r\n next: (data) => resolve(data),\r\n error: (err) => reject(err)\r\n })\r\n })\r\n }\r\n\r\n getInitials(name: string) {\r\n if (!name) return '';\r\n const filteredName = name.replace(/[^a-zA-Z\\s\\t]/g, '').split(/[\\s\\t]+/);\r\n const validEntries = filteredName.filter(entry => /^[a-zA-Z]+$/.test(entry));\r\n if (validEntries.length === 0) return '';\r\n if (validEntries.length === 1) return validEntries[0][0].toUpperCase();\r\n\r\n // Otherwise, return the initial of the first and last valid entries\r\n const firstInitial = validEntries[0][0].toUpperCase();\r\n const lastInitial = validEntries[validEntries.length - 1][0].toUpperCase();\r\n return `${firstInitial}${lastInitial}`;\r\n }\r\n\r\n // Storage Checks\r\n get id() { return localStorage.getItem('bearer') }\r\n get isAdmin() { return !!JSON.parse(localStorage.getItem('guards') as string)?.find((x: { name: string }) => x.name == 'SettingsAccess') }\r\n\r\n}\r\n\r\n\r\n","export const da_DK = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Søg...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\nexport const fo_FO = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Søg...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const sv_SE = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Søg...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const en_US = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const de_DE = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const nn_NO = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const es_ES = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\n","import { GridOptions, Module} from \"@ag-grid-enterprise/all-modules\";\r\nimport { RowGroupingModule } from \"@ag-grid-enterprise/row-grouping\";\r\nimport { ServerSideRowModelModule } from \"@ag-grid-enterprise/server-side-row-model\";\r\nimport { SetFilterModule } from \"@ag-grid-enterprise/set-filter\";\r\nimport { SideBarModule } from \"@ag-grid-enterprise/side-bar\";\r\nimport { format } from \"date-fns\";\r\nconst components = {\r\n loadingRenderer: function (params) {\r\n if (params.value !== undefined) {\r\n return params.value;\r\n } else {\r\n return '<img src=\"https://www.ag-grid.com/example-assets/loading.gif\">';\r\n }\r\n },\r\n };\r\n\r\nconst excelStyles = [{\r\n field: 'createdAt',\r\n dataType: 'String',\r\n numberFormat: {\r\n format: 'yy-mm-dd;;;',\r\n }\r\n}];\r\n\r\nexport class AgFilters {\r\n static text = 'agTextColumnFilter';\r\n static set = 'agSetColumnFilter';\r\n static date = 'agDateColumnFilter';\r\n}\r\n\r\nexport const modules: Module[] = [\r\n ServerSideRowModelModule,\r\n SetFilterModule,\r\n RowGroupingModule,\r\n SideBarModule\r\n];\r\n\r\nconst sidebar = {\r\n toolPanels: [\r\n {\r\n id: \"columns\",\r\n toolPanel: \"agColumnsToolPanel\",\r\n labelKey: \"columns\",\r\n labelDefault: \"Columns\",\r\n toolPanelParams: {\r\n suppressRowGroups: true,\r\n suppressValues: true,\r\n suppressPivots: true,\r\n suppressPivotMode: true,\r\n suppressSideButtons: true,\r\n suppressColumnFilter: true,\r\n suppressColumnSelectAll: true,\r\n suppressColumnExpandAll: true,\r\n allowDragFromColumnsToolPanel: true\r\n },\r\n },\r\n {\r\n id: \"filters\",\r\n toolPanel: \"agFiltersToolPanel\",\r\n labelKey: \"filters\",\r\n iconKey: \"filter\",\r\n labelDefault: \"Filters\"\r\n },\r\n ],\r\n defaultToolPanel: \"\"\r\n};\r\n\r\nconst defaultColDef = {\r\n editable: true,\r\n sortable: true,\r\n resizable: true,\r\n enableValue: true,\r\n enableRowGroup: true,\r\n enablePivot: true,\r\n suppressMenu: false,\r\n lockPosition: true,\r\n floatingFilter: true,\r\n filter: AgFilters.text,\r\n width: 150\r\n};\r\n\r\nexport const gridStandards = {\r\n components : components,\r\n sideBar : sidebar,\r\n // modules: modules,\r\n defaultColDef: defaultColDef,\r\n headerHeight: 32,\r\n rowHeight: 32,\r\n floatingFiltersHeight: 36,\r\n pagination: true,\r\n cacheQuickFilter: true,\r\n paginationPageSize: 100,\r\n rowGroup: false\r\n} as GridOptions;\r\n\r\nexport var dateFilterParams = {\r\n //inRangeInclusive: true,\r\n comparator: function (filterLocalDateAtMidnight, cellValue) {\r\n var dateAsString = format(cellValue,\"DD/MM/YYYY\");\r\n var dateParts = dateAsString.split(\"/\");\r\n var cellDate = new Date(Number(dateParts[2]), Number(dateParts[1]) - 1, Number(dateParts[0]));\r\n\r\n if (filterLocalDateAtMidnight.getTime() == cellDate.getTime()) {\r\n return 0;\r\n }\r\n\r\n if (cellDate < filterLocalDateAtMidnight) {\r\n return -1;\r\n }\r\n\r\n if (cellDate > filterLocalDateAtMidnight) {\r\n return 1;\r\n }\r\n },\r\n buttons: [\"reset\"]\r\n};\r\n\r\nexport const gridKey = \"CompanyName=Jublo ApS,LicensedApplication=Jublo,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=1,LicensedProductionInstancesCount=1,AssetReference=AG-021014,ExpiryDate=16_November_2022_[v2]_MTY2ODU1NjgwMDAwMA==faba358e68ee5c3e653801cd1a39baf4\";\r\n\r\n ","export class GridTranslateVariables {\r\n 'da-DK' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Søg...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'fo-FO' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Søg...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'sv-SE' = {\r\n // Set Filter\r\n selectAll: '(Välj alla)',\r\n selectAllSearchResults: '(Välj alla)',\r\n searchOoo: 'Sök...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Är like med',\r\n notEqual: 'Inte lika med',\r\n empty: 'Välj en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre än',\r\n greaterThan: 'Större än',\r\n lessThanOrEqual: 'Mindre eller lika med',\r\n greaterThanOrEqual: 'Större eller lika med',\r\n inRange: 'I range',\r\n inRangeStart: 'till',\r\n inRangeEnd: 'från',\r\n\r\n // Text Filter\r\n contains: 'Innehåller',\r\n notContains: 'Innehåller inte',\r\n startsWith: 'Startar med',\r\n endsWith: 'Slutar med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OCH',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Lägg till',\r\n resetFilter: 'Nollställ',\r\n clearFilter: 'Rensa',\r\n cancelFilter: 'Ångra',\r\n\r\n // Filter Titles\r\n textFilter: 'Text Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Datum Filter',\r\n setFilter: 'Set Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Hämtar, vänligen vänta ett ögonblick...',\r\n noRowsToShow: 'Inga rader att visa',\r\n enabled: 'Aktiverad',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppera efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nollställ kolumner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Stäng alla',\r\n copy: 'Kopiera',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopiera med överskrift',\r\n paste: 'Klista in',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Export (.xlsx)',\r\n excelXmlExport: 'Excel Export (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtrerat',\r\n selectedRows: 'Vald',\r\n totalRows: 'Totala Rader',\r\n totalAndFilteredRows: 'Rader',\r\n more: 'Mer',\r\n to: 'till',\r\n of: 'av',\r\n page: 'Sida',\r\n nextPage: 'Näste sida',\r\n lastPage: 'Sista sidan',\r\n firstPage: 'Första sidan',\r\n previousPage: 'Föregående sida',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'en-US' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'de-DE' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'nn-NO' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n 'es-ES' = {\r\n // Set Filter\r\n selectAll: '(Vælg alle)',\r\n selectAllSearchResults: '(Vælg alle)',\r\n searchOoo: 'Search...',\r\n blanks: '(Tom)',\r\n noMatches: 'No matches',\r\n\r\n // Number Filter & Text Filter\r\n filterOoo: 'Filter...',\r\n equals: 'Er ligemed',\r\n notEqual: 'Ikke ligemed',\r\n empty: 'ælg en',\r\n\r\n // Number Filter\r\n lessThan: 'Mindre end',\r\n greaterThan: 'Større end',\r\n lessThanOrEqual: 'Mindre eller ligemed',\r\n greaterThanOrEqual: 'Større eller ligemed',\r\n inRange: 'I range',\r\n inRangeStart: 'til',\r\n inRangeEnd: 'fra',\r\n\r\n // Text Filter\r\n contains: 'Indeholder',\r\n notContains: 'Indeholder ikke',\r\n startsWith: 'Starter med',\r\n endsWith: 'Slutter med',\r\n\r\n // Date Filter\r\n dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n // Filter Conditions\r\n andCondition: 'OG',\r\n orCondition: 'ELLER',\r\n\r\n // Filter Buttons\r\n applyFilter: 'Tilføj',\r\n resetFilter: 'Nulstil',\r\n clearFilter: 'Ryd',\r\n cancelFilter: 'Fortryd',\r\n\r\n // Filter Titles\r\n textFilter: 'Tekst Filter',\r\n numberFilter: 'Nummer Filter',\r\n dateFilter: 'Dato Filter',\r\n setFilter: 'Sæt Filter',\r\n\r\n // Side Bar\r\n columns: 'Kolonner',\r\n filters: 'Filtre',\r\n\r\n // columns tool panel\r\n pivotMode: 'Pivot tilstand',\r\n groups: 'Rækkegrupper',\r\n rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n values: 'Værdier',\r\n valueColumnsEmptyMessage: 'Træk her for at samle',\r\n pivots: 'Kolonne labels',\r\n pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n // Header of the Default Group Column\r\n group: 'Gruppe',\r\n\r\n // Other\r\n loadingOoo: 'Henter, vent venligst...',\r\n noRowsToShow: 'Ingen rækker at vise',\r\n enabled: 'Aktiveret',\r\n\r\n // Menu\r\n pinColumn: 'Fastgør kolonne',\r\n pinLeft: 'Fastgør til venstre',\r\n pinRight: 'Fastgør til højre',\r\n noPin: 'Fastgør ikke',\r\n valueAggregation: 'Værdiaggregering',\r\n autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n autosizeAllColumns: 'Autotilpas alle kolonner',\r\n groupBy: 'Gruppér efter',\r\n ungroupBy: 'Afgruppér efter',\r\n resetColumns: 'Nulstil kolonner',\r\n expandAll: 'Udvid alle',\r\n collapseAll: 'Luk alle',\r\n copy: 'Kopier',\r\n ctrlC: 'Ctrl+C',\r\n copyWithHeaders: 'Kopier med overskrift',\r\n paste: 'Sæt ind',\r\n ctrlV: 'Ctrl+V',\r\n export: 'Eksporter',\r\n csvExport: 'CSV Eksport',\r\n excelExport: 'Excel Eksport (.xlsx)',\r\n excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n // Enterprise Menu Aggregation and Status Bar\r\n sum: 'Sum',\r\n min: 'Min',\r\n max: 'Max',\r\n none: 'Ingen',\r\n count: 'Tæl',\r\n avg: 'Gennemsnit',\r\n filteredRows: 'Filtreret',\r\n selectedRows: 'Valgt',\r\n totalRows: 'Total Rækker',\r\n totalAndFilteredRows: 'Rækker',\r\n more: 'Mere',\r\n to: 'til',\r\n of: 'af',\r\n page: 'Side',\r\n nextPage: 'Næste side',\r\n lastPage: 'Sidste side',\r\n firstPage: 'Første side',\r\n previousPage: 'Foregående side',\r\n\r\n // Enterprise Menu (Charts)\r\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n pivotChart: 'Pivot Chart',\r\n chartRange: 'Chart Range',\r\n\r\n columnChart: 'Kolonne',\r\n groupedColumn: 'Grupperet',\r\n stackedColumn: 'Samlet',\r\n normalizedColumn: '100% Samlet',\r\n\r\n barChart: 'Bar',\r\n groupedBar: 'Grupperet',\r\n stackedBar: 'Samlet',\r\n normalizedBar: '100% Samlet',\r\n\r\n pieChart: 'Pie',\r\n pie: 'Pie',\r\n doughnut: 'Doughnut',\r\n\r\n line: 'Line',\r\n\r\n xyChart: 'X Y (Scatter)',\r\n scatter: 'Scatter',\r\n bubble: 'Bubble',\r\n\r\n areaChart: 'Area',\r\n area: 'Area',\r\n stackedArea: 'Stacked',\r\n normalizedArea: '100% Stacked',\r\n\r\n histogramChart: 'Histogram',\r\n\r\n // Charts\r\n pivotChartTitle: 'Pivot-diagram',\r\n rangeChartTitle: 'Rækkevidde',\r\n settings: 'Indstillinger',\r\n data: 'Data',\r\n format: 'Format',\r\n categories: 'Kategorier',\r\n defaultCategory: '(Ingen)',\r\n series: 'Serier',\r\n xyValues: 'X Y Værdier',\r\n paired: 'Samlet Mode',\r\n axis: 'Akse',\r\n navigator: 'Navigator',\r\n color: 'Farve',\r\n thickness: 'Tykkelse',\r\n xType: 'X Type',\r\n automatic: 'Automatisk',\r\n category: 'Kategori',\r\n number: 'Nummer',\r\n time: 'Tid',\r\n xRotation: 'X Rotation',\r\n yRotation: 'Y Rotation',\r\n ticks: 'Ticks',\r\n width: 'Bredde',\r\n height: 'Højde',\r\n length: 'Længde',\r\n padding: 'Padding',\r\n spacing: 'Mellemrum',\r\n chart: 'Diagram',\r\n title: 'Titel',\r\n titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n background: 'Baggrund',\r\n font: 'Font',\r\n top: 'Top',\r\n right: 'Højre',\r\n bottom: 'Bund',\r\n left: 'Venstre',\r\n labels: 'Labels',\r\n size: 'Størrelse',\r\n minSize: 'Minimum Størrelse',\r\n maxSize: 'Maximum Størrelse',\r\n legend: 'Legend',\r\n position: 'Position',\r\n markerSize: 'Marker Størrelse',\r\n markerStroke: 'Marker Stroke',\r\n markerPadding: 'Marker Padding',\r\n itemSpacing: 'Item Spacing',\r\n itemPaddingX: 'Item Padding X',\r\n itemPaddingY: 'Item Padding Y',\r\n layoutHorizontalSpacing: 'Horizontal Spacing',\r\n layoutVerticalSpacing: 'Vertical Spacing',\r\n strokeWidth: 'Stroke Width',\r\n offset: 'Offset',\r\n offsets: 'Offsets',\r\n tooltips: 'Tooltips',\r\n callout: 'Callout',\r\n markers: 'Markers',\r\n shadow: 'Shadow',\r\n blur: 'Blur',\r\n xOffset: 'X Offset',\r\n yOffset: 'Y Offset',\r\n lineWidth: 'Line Width',\r\n normal: 'Normal',\r\n bold: 'Bold',\r\n italic: 'Italic',\r\n boldItalic: 'Bold Italic',\r\n predefined: 'Predefined',\r\n fillOpacity: 'Fill Opacity',\r\n strokeOpacity: 'Line Opacity',\r\n histogramBinCount: 'Bin count',\r\n columnGroup: 'Column',\r\n barGroup: 'Bar',\r\n pieGroup: 'Pie',\r\n lineGroup: 'Line',\r\n scatterGroup: 'X Y (Scatter)',\r\n areaGroup: 'Area',\r\n histogramGroup: 'Histogram',\r\n groupedColumnTooltip: 'Grouped',\r\n stackedColumnTooltip: 'Stacked',\r\n normalizedColumnTooltip: '100% Stacked',\r\n groupedBarTooltip: 'Grouped',\r\n stackedBarTooltip: 'Stacked',\r\n normalizedBarTooltip: '100% Stacked',\r\n pieTooltip: 'Pie',\r\n doughnutTooltip: 'Doughnut',\r\n lineTooltip: 'Line',\r\n groupedAreaTooltip: 'Area',\r\n stackedAreaTooltip: 'Stacked',\r\n normalizedAreaTooltip: '100% Stacked',\r\n scatterTooltip: 'Scatter',\r\n bubbleTooltip: 'Bubble',\r\n histogramTooltip: 'Histogram',\r\n noDataToChart: 'No data available to be charted.',\r\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n }\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport 'ag-grid-enterprise';\r\nimport { LicenseManager } from '@ag-grid-enterprise/core';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { gridKey } from 'app/shared/utilities/grids/gridStandard';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nLicenseManager.setLicenseKey(gridKey);\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nenableProdMode();\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":[],"sourceRoot":"webpack:///"}