{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","__webpack_exports__","routes","path","component","_modules_index_index_component__WEBPACK_IMPORTED_MODULE_0__","_modules_administrator_taskView_taskView_component__WEBPACK_IMPORTED_MODULE_1__","canActivate","_azure_msal_angular__WEBPACK_IMPORTED_MODULE_2__","AppRoutingModule","_angular_router__WEBPACK_IMPORTED_MODULE_4__","relativeLinkResolution","imports","exports","AppComponent","selectors","decls","vars","consts","template","_angular_core__WEBPACK_IMPORTED_MODULE_1__","isIE","window","navigator","userAgent","indexOf","MSALInstanceFactory","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_15__","auth","clientId","_auth_config_js__WEBPACK_IMPORTED_MODULE_11__","authority","redirectUri","cache","cacheLocation","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_16__","storeAuthStateInCookie","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","interactionType","MSALGuardConfigFactory","AppModule","bootstrap","_app_component__WEBPACK_IMPORTED_MODULE_0__","provide","_angular_common_http__WEBPACK_IMPORTED_MODULE_18__","useClass","_azure_msal_angular__WEBPACK_IMPORTED_MODULE_19__","multi","useFactory","_shared_services_custom_validators__WEBPACK_IMPORTED_MODULE_6__","_shared_services_globalFunctions_service__WEBPACK_IMPORTED_MODULE_5__","_angular_common__WEBPACK_IMPORTED_MODULE_20__","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_21__","useValue","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_22__","appId","_angular_forms__WEBPACK_IMPORTED_MODULE_23__","_app_routing_module__WEBPACK_IMPORTED_MODULE_2__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_24__","_shared_material_material_module__WEBPACK_IMPORTED_MODULE_3__","_ng_bootstrap_ng_bootstrap__WEBPACK_IMPORTED_MODULE_25__","ngx_toastr__WEBPACK_IMPORTED_MODULE_26__","ngx_spinner__WEBPACK_IMPORTED_MODULE_27__","declarations","_core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_1__","_modules_index_index_component__WEBPACK_IMPORTED_MODULE_4__","_shared_pipe_danishDate__WEBPACK_IMPORTED_MODULE_8__","_shared_pipe_danishCurrency__WEBPACK_IMPORTED_MODULE_9__","_shared_dialogs_matConfirmDialog_matConfirmDialog_component__WEBPACK_IMPORTED_MODULE_7__","_modules_administrator_taskView_taskView_component__WEBPACK_IMPORTED_MODULE_12__","_modules_administrator_task_task_component__WEBPACK_IMPORTED_MODULE_13__","_core_date_picker__WEBPACK_IMPORTED_MODULE_14__","AuthenticationService","http","rxjs__WEBPACK_IMPORTED_MODULE_0__","localStorage","getItem","username","password","Ipv4","post","pipe","setItem","user","token","clear","value","tokenValue","next","logout","get","subscribe","res","_angular_core__WEBPACK_IMPORTED_MODULE_2__","factory","providedIn","DatePicker","el","onlyDatePicker","jQuery","nativeElement","datepicker","timeFormat","dateFormat","dayNamesMin","monthNamesShort","weekHeader","firstDay","showAnim","showWeek","currentText","closeText","timeText","hourText","minuteText","on","dispatchEvent","Event","focus","datetimepicker","_angular_core__WEBPACK_IMPORTED_MODULE_0__","inputs","features","_angular_common__WEBPACK_IMPORTED_MODULE_1__","NavbarComponent","globalFunctionsService","dialogSrv","router","authenticationService","dialog","msalBroadcastService","authService","rxjs__WEBPACK_IMPORTED_MODULE_3__","msalSubject$","msg","eventType","_azure_msal_browser__WEBPACK_IMPORTED_MODULE_5__","_destroying$","loading","loggedIn","instance","getAllAccounts","length","events","event","_angular_router__WEBPACK_IMPORTED_MODULE_7__","url","split","currentRoute","substr","isExpanded","modalOpen","openConfirmDialog","afterClosed","navigateByUrl","_angular_core__WEBPACK_IMPORTED_MODULE_8__","ctx","customerBoxType_r10","TaskComponent","taskService","fb","spinner","toastrService","taskStatusService","notificationService","datePipe","customerService","dialogRef","data","customVal","_shared_services_globalFunctions_service__WEBPACK_IMPORTED_MODULE_0__","group","title","_angular_forms__WEBPACK_IMPORTED_MODULE_9__","description","error","solved","taskStatusId","subjectNotification","descriptionNotification","listData","_angular_material_table__WEBPACK_IMPORTED_MODULE_10__","getCustomerBoxType","customerBoxTypes","success","taskCustomerBoxTypes","forEach","found","find","a","customerBoxTypeId","customerBoxType","active","checked","customerBoxTypeChange","taskStatuses","err","message","console","log","taskForm","setValue","transform","getCustomersWithBoxType","filter","submitClicked","logValidationErrors","formErrors","valid","taskCustomerBoxType","push","task","createdBy","createdOn","Date","modifiedBy","modifiedOn","insert","onClose","update","row","reset","close","mailrecipients","email","undefined","mail","subject","mailRecipients","sendEmail","lock","successToast","errorToast","smsRecipients","msisdn","phone","sms","label","recipients","sender","show","sendSms","smsResponses","hide","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_14__","_angular_core__WEBPACK_IMPORTED_MODULE_6__","TaskViewComponent","employeeService","getCurrentEmployee","_angular_material_table__WEBPACK_IMPORTED_MODULE_7__","paginator","load","sort","searchKey","applyFilter","trim","toLocaleLowerCase","open","_task_task_component__WEBPACK_IMPORTED_MODULE_1__","taskId","viewQuery","_angular_material_sort__WEBPACK_IMPORTED_MODULE_11__","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_12__","_angular_core__WEBPACK_IMPORTED_MODULE_3__","IndexComponent","taskPublicService","tasks","loader","_googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_0__","apiKey","version","then","initMap","map","google","maps","document","getElementById","zoom","center","lat","lng","gestureHandling","locations","image","markers","location","i","Marker","position","icon","DialogService","header","yesButton","noButton","_matConfirmDialog_matConfirmDialog_component__WEBPACK_IMPORTED_MODULE_0__","width","panelClass","disableClose","hasBackdrop","top","autoFocus","MatConfirmDialogComponent","globalfunctionsService","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_2__","dutchRangeLabel","page","pageSize","Math","max","startIndex","endIndex","min","getDanishPaginatorIntl","paginatorIntl","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_0__","itemsPerPageLabel","nextPageLabel","previousPageLabel","getRangeLabel","MaterialModule","_angular_material_toolbar__WEBPACK_IMPORTED_MODULE_1__","_angular_material_icon__WEBPACK_IMPORTED_MODULE_3__","_angular_material_button__WEBPACK_IMPORTED_MODULE_4__","_angular_material_input__WEBPACK_IMPORTED_MODULE_5__","_angular_material_core__WEBPACK_IMPORTED_MODULE_6__","_angular_material_checkbox__WEBPACK_IMPORTED_MODULE_7__","_angular_material_table__WEBPACK_IMPORTED_MODULE_8__","_angular_material_paginator__WEBPACK_IMPORTED_MODULE_9__","_angular_material_sort__WEBPACK_IMPORTED_MODULE_10__","_angular_material_select__WEBPACK_IMPORTED_MODULE_11__","_angular_material_divider__WEBPACK_IMPORTED_MODULE_12__","_angular_material_datepicker__WEBPACK_IMPORTED_MODULE_13__","_angular_material_form_field__WEBPACK_IMPORTED_MODULE_14__","_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_15__","_angular_material_radio__WEBPACK_IMPORTED_MODULE_16__","NotificationService","notification","DanishCurrencyPipe","currencyCode","display","digitsInfo","locale","pure","DanishDatePipe","datetime","splitted","String","splittedTime","CustomValidators","Object","keys","controls","key","abstractControl","_angular_forms__WEBPACK_IMPORTED_MODULE_0__","touched","dirty","messages","validationMessages","errorKey","errors","control","pass","confirmPass","setErrors","toString","match","CustomerService","EmployeeService","GlobalFunctionsService","JSON","parse","atob","Number","EmployeeId","Username","EmployeeGroupId","employeeId","employees","id","timeOut","warning","dialogConfig","_angular_material_dialog__WEBPACK_IMPORTED_MODULE_0__","maxHeight","confirm","form","backdropClick","dialogBackDropClick","keydownEvents","string","replace","danishDate","reverse","join","random","substring","TaskService","put","TaskPublicService","TaskStatusService","environment","production","getBaseUrl","getElementsByTagName","href","providers","deps","_environments_environment__WEBPACK_IMPORTED_MODULE_2__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_4__","bootstrapModule","_app_app_module__WEBPACK_IMPORTED_MODULE_1__"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/auth-config.js","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/core/auth/authenticationService.ts","webpack:///src/app/core/date.picker.ts","webpack:///src/app/core/navbar/navbar.component.ts","webpack:///src/app/core/navbar/navbar.component.html","webpack:///src/app/modules/administrator/task/task.component.html","webpack:///src/app/modules/administrator/task/task.component.ts","webpack:///src/app/modules/administrator/taskView/taskView.component.html","webpack:///src/app/modules/administrator/taskView/taskView.component.ts","webpack:///src/app/modules/index/index.component.html","webpack:///src/app/modules/index/index.component.ts","webpack:///src/app/shared/dialogs/dialog.service.ts","webpack:///src/app/shared/dialogs/matConfirmDialog/matConfirmDialog.component.ts","webpack:///src/app/shared/dialogs/matConfirmDialog/matConfirmDialog.component.html","webpack:///src/app/shared/material/matPaginatorTranslate.ts","webpack:///src/app/shared/material/material.module.ts","webpack:///src/app/shared/models/notification.service.ts","webpack:///src/app/shared/pipe/danishCurrency.ts","webpack:///src/app/shared/pipe/danishDate.ts","webpack:///src/app/shared/services/custom.validators.ts","webpack:///src/app/shared/services/customer.service.ts","webpack:///src/app/shared/services/employee.service.ts","webpack:///src/app/shared/services/globalFunctions.service.ts","webpack:///src/app/shared/services/task.service.ts","webpack:///src/app/shared/services/taskPublic.service.ts","webpack:///src/app/shared/services/taskStatus.service.ts","webpack:///src/environments/environment.ts","webpack:///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;","export default {\n 'credentials': {\n 'clientId': '6119f12d-4776-4493-9ded-11ad2eb30404',\n 'tenantId': 'c799d5c2-b1c6-4680-9c77-a887f7d9a79d'\n },\n 'configuration': {\n 'redirectUri': 'https://localhost:5002/administartion',\n 'postLogoutRedirectUri': 'https://localhost:5002'\n },\n 'resources': {\n 'todoListApi': {\n 'resourceUri': '*api/*',\n 'resourceScopes': [\n 'api://9764d719-36bc-458e-8864-fab9920d9608/access_as_user'\n ]\n }\n }\n};\n","import {NgModule} from '@angular/core';\nimport {Routes, RouterModule} from '@angular/router';\nimport {IndexComponent} from './modules/index/index.component';\nimport {TaskViewComponent} from './modules/administrator/taskView/taskView.component';\nimport {MsalGuard} from '@azure/msal-angular';\n\nconst routes: Routes = [\n {path: '', component: IndexComponent},\n {path: 'wp-admin', component: TaskViewComponent, canActivate: [MsalGuard]},\n {path: 'administration', component: TaskViewComponent, canActivate: [MsalGuard]},\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {relativeLinkResolution: 'legacy'})],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'appRoot',\n templateUrl: './app.component.html'\n})\nexport class AppComponent {\n title = 'app';\n}\n","\n
\n \n
\n","import {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\n\nimport {AppComponent} from './app.component';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {NavbarComponent} from './core/navbar/navbar.component';\nimport {AppRoutingModule} from './app-routing.module';\nimport {MaterialModule} from './shared/material/material.module';\nimport {CommonModule, DatePipe} from '@angular/common';\nimport {IndexComponent} from './modules/index/index.component';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {GlobalFunctionsService} from './shared/services/globalFunctions.service';\nimport {CustomValidators} from './shared/services/custom.validators';\nimport {MatConfirmDialogComponent} from './shared/dialogs/matConfirmDialog/matConfirmDialog.component';\nimport {ToastrModule} from 'ngx-toastr';\nimport {DanishDatePipe} from './shared/pipe/danishDate';\nimport {DanishCurrencyPipe} from './shared/pipe/danishCurrency';\nimport {MatPaginatorIntl} from '@angular/material/paginator';\nimport {getDanishPaginatorIntl} from './shared/material/matPaginatorTranslate';\nimport {default as auth} from './auth-config.js';\nimport {\n IPublicClientApplication,\n PublicClientApplication,\n InteractionType,\n BrowserCacheLocation\n} from '@azure/msal-browser';\nimport {\n MsalGuard,\n MsalInterceptor,\n MsalBroadcastService,\n MsalInterceptorConfiguration,\n MsalModule,\n MsalService,\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalGuardConfiguration\n} from '@azure/msal-angular';\nimport {TaskViewComponent} from './modules/administrator/taskView/taskView.component';\nimport {TaskComponent} from './modules/administrator/task/task.component';\nimport {DatePicker} from './core/date.picker';\nimport {NgxSpinnerModule} from 'ngx-spinner';\n\n\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n\nexport function MSALInstanceFactory(): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: auth.credentials.clientId,\n authority: 'https://login.microsoftonline.com/' + auth.credentials.tenantId,\n redirectUri: auth.configuration.redirectUri\n },\n cache: {\n cacheLocation: BrowserCacheLocation.SessionStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n });\n}\n\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map>();\n protectedResourceMap.set(auth.resources.todoListApi.resourceUri, auth.resources.todoListApi.resourceScopes);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap\n };\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {interactionType: InteractionType.Redirect};\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n NavbarComponent,\n IndexComponent,\n DanishDatePipe,\n DanishCurrencyPipe,\n MatConfirmDialogComponent,\n TaskViewComponent,\n TaskComponent,\n DatePicker,\n ],\n imports: [\n BrowserModule.withServerTransition({appId: 'ng-cli-universal'}),\n HttpClientModule,\n FormsModule,\n AppRoutingModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n MaterialModule,\n CommonModule,\n NgbModule,\n ToastrModule.forRoot(),\n MsalModule,\n NgxSpinnerModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n CustomValidators, GlobalFunctionsService,\n DatePipe,\n {provide: MatPaginatorIntl, useValue: getDanishPaginatorIntl()}],\n bootstrap: [AppComponent],\n exports: [DatePicker],\n})\nexport class AppModule {\n}\n","import {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class AuthenticationService {\n tokenValue = new Subject();\n public Ipv4;\n\n\n constructor(private http: HttpClient) {\n }\n\n loggedIn() {\n return localStorage.getItem('token') != null;\n }\n\n login(username: string, password: string, Ipv4: string) {\n return this.http.post('api/employee/login', {username, password, Ipv4})\n .pipe(map(user => {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('token', user.token);\n this.token = user.token;\n }));\n }\n\n // Renew token\n renew() {\n return this.http.post('api/employee/RenewLoginSession', null)\n .pipe(map(user => {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('token', user.token);\n this.token = user.token;\n }));\n }\n\n logout() {\n // Clear localstorage\n localStorage.clear();\n }\n\n// Saving token in a subject so it possible to subscribe to change\n set token(value) {\n this.tokenValue.next(value);\n if (value === '') {\n this.logout();\n } else {\n localStorage.setItem('token', value);\n }\n }\n\n get token() {\n return localStorage.getItem('token');\n }\n\n // This is used for getting local ip\n getLocalIp() {\n this.http.get('https://backup.itoperators.dk/ip').subscribe((res: any) => {\n this.Ipv4 = res;\n });\n }\n}\n","import {Input, ElementRef, Directive, } from '@angular/core';\nimport {DatePipe} from '@angular/common';\n\ndeclare var jQuery: any;\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[myDatepicker]',\n providers: [DatePipe]\n})\n\n// tslint:disable-next-line:directive-class-suffix\nexport class DatePicker {\n @Input() onlyDatePicker = false;\n\n constructor(public el: ElementRef) {\n }\n\n // Jquery datetime picker\n // TODO VERY-LOW Remove jquery and find a angular timepicker there get's update and is nice\n ngOnInit() {\n if (this.onlyDatePicker === true) {\n jQuery(this.el.nativeElement).datepicker({\n timeFormat: 'HH:mm',\n dateFormat: 'dd-mm-yy',\n dayNamesMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n weekHeader: 'U',\n firstDay: 1,\n showAnim: 'slideDown',\n showWeek: true,\n currentText: 'Nu',\n closeText: 'Ok',\n timeText: 'Klokken',\n hourText: 'Timer',\n minuteText: 'Minutter',\n }).on('change', function (e) {\n this.dispatchEvent(new Event('input'));\n this.focus();\n });\n } else {\n jQuery(this.el.nativeElement).datetimepicker({\n timeFormat: 'HH:mm',\n dateFormat: 'dd-mm-yy',\n dayNamesMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n weekHeader: 'U',\n firstDay: 1,\n showAnim: 'slideDown',\n showWeek: true,\n currentText: 'Nu',\n closeText: 'Ok',\n timeText: 'Klokken',\n hourText: 'Timer',\n minuteText: 'Minutter',\n }).on('change', function (e) {\n this.dispatchEvent(new Event('input'));\n });\n }\n }\n}\n","import {Component} from '@angular/core';\nimport {GlobalFunctionsService} from '../../shared/services/globalFunctions.service';\nimport {DialogService} from '../../shared/dialogs/dialog.service';\nimport {NavigationStart, Router} from '@angular/router';\nimport {AuthenticationService} from '../auth/authenticationService';\nimport {MatDialog} from '@angular/material/dialog';\nimport {MsalBroadcastService, MsalService} from '@azure/msal-angular';\nimport {EventMessage, EventType} from '@azure/msal-browser';\nimport {filter, takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\n@Component({\n selector: 'navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss']\n})\nexport class NavbarComponent {\n constructor(public globalFunctionsService: GlobalFunctionsService, private dialogSrv: DialogService,\n private router: Router, private authenticationService: AuthenticationService, private dialog: MatDialog,\n private msalBroadcastService: MsalBroadcastService, private authService: MsalService\n ) {\n\n this.msalBroadcastService.msalSubject$\n .pipe(\n filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n if (this.loading === false) {\n this.loading = true;\n this.loggedIn = true;\n }\n });\n\n if (this.authService.instance.getAllAccounts().length > 0) {\n if (this.loading === false) {\n this.loading = true;\n this.loggedIn = true;\n }\n }\n\n\n /*this.loggedIn = !!localStorage.getItem('token');\n this.getEmployees();\n authenticationService.tokenValue.subscribe((nextValue) => {\n this.loggedIn = nextValue !== '';\n });*/\n router.events.subscribe((event) => {\n if (event instanceof NavigationStart) {\n event.url = event.url.split('?')[0];\n this.currentRoute = event.url.substr(1);\n }\n });\n }\n\n isExpanded = false;\n loggedIn = false;\n currentRoute = '';\n private readonly _destroying$ = new Subject();\n private loading = false;\n\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n\n onLogout() {\n if (this.dialogSrv.modalOpen === false) {\n this.dialogSrv.modalOpen = true;\n this.dialogSrv.openConfirmDialog('Er du sikker på du vil logge af?', 'Log ud', 'Log ud ', 'Annullere')\n .afterClosed().subscribe(res => {\n if (res) {\n this.authenticationService.token = '';\n this.router.navigateByUrl('/login');\n }\n this.dialogSrv.modalOpen = false;\n });\n }\n }\n}\n","
\n \n
\n \n \"\"\n \n\n \n
\n \n
\n
\n \n
\n\n\n","
\n
\n
\n
\n
\n
\n \n \n
\n {{this.formErrors.title}}\n
\n
\n
\n \n \n
\n
\n \n \n
\n {{this.formErrors.error}}\n
\n
\n
\n \n \n
\n {{this.formErrors.solved}}\n
\n
\n
\n\n
\n
\n \n \n
\n {{this.formErrors.description}}\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n {{customerBoxType.name}}\n
\n\n \n \n\n \n \n\n
\n
\n Husk\n at vælg minimum en service kategori og\n udfyld emne samt besked\n
\n
\n \n
\n
\n \n
\n
\n\n \n

Sender sms'er...

\n \n\n \n {{smsResponse.msisdn}} - {{smsResponse.dsnstatus}}
\n
\n
\n\n
\n \n
0\">\n \n \n Navn\n {{element.name}}\n \n \n Email\n {{element.email}}\n \n \n Telefon\n {{element.phone}}\n \n \n \n \n \n \n \n \n \n \n \n Ingen data... [*matFooterRowDef]\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {ToastrService} from 'ngx-toastr';\nimport {FormBuilder, Validators} from '@angular/forms';\nimport {TaskService} from '../../../shared/services/task.service';\nimport {GlobalFunctionsService} from '../../../shared/services/globalFunctions.service';\nimport {CustomValidators} from '../../../shared/services/custom.validators';\nimport {TaskStatusService} from '../../../shared/services/taskStatus.service';\nimport {TaskStatus} from '../../../shared/models/taskStatus';\nimport {DatePipe} from '@angular/common';\nimport {Customer} from '../../../shared/models/customer';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {CustomerBoxType} from '../../../shared/models/customerBoxType';\nimport {CustomerService} from '../../../shared/services/customer.service';\nimport {DialogService} from '../../../shared/dialogs/dialog.service';\nimport {Sms} from '../../../shared/models/notification/sms';\nimport {SmsRecipients} from '../../../shared/models/notification/smsRecipients';\nimport {MailRecipients} from '../../../shared/models/mail/mailNotification/mailRecipients';\nimport {Mail} from '../../../shared/models/mail/mailNotification/mail';\nimport {NgxSpinnerService} from 'ngx-spinner';\nimport {NotificationService} from '../../../shared/models/notification.service';\nimport {TaskCustomerBoxType} from '../../../shared/models/taskCustomerBoxType';\nimport {Task} from 'src/app/shared/models/task';\n\n@Component({\n selector: 'task',\n templateUrl: 'task.component.html',\n styleUrls: ['./task.component.scss']\n})\n\nexport class TaskComponent implements OnInit {\n constructor(public taskService: TaskService, private fb: FormBuilder, private spinner: NgxSpinnerService,\n private toastrService: ToastrService, private taskStatusService: TaskStatusService, public notificationService: NotificationService,\n public globalFunctionsService: GlobalFunctionsService, private datePipe: DatePipe, public customerService: CustomerService,\n public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data, public customVal: CustomValidators, private dialogSrv: DialogService) {\n }\n\n listData: MatTableDataSource;\n displayedColumns: string[] = ['name', 'email', 'phone'];\n public taskStatuses: TaskStatus[] = [];\n public randomName = GlobalFunctionsService.randomName;\n public customerBoxTypes: CustomerBoxType[] = [];\n public isLoading = true;\n public smsResponses;\n public lock = false;\n\n taskForm = this.fb.group({\n title: ['', [Validators.required]],\n description: ['', [Validators.required]],\n error: [''],\n solved: [''],\n taskStatusId: [''],\n subjectNotification: [''],\n descriptionNotification: [''],\n });\n\n formErrors = {\n 'title': '',\n 'description': '',\n 'error': '',\n 'solved': '',\n 'subjectNotification': '',\n 'descriptionNotification': '',\n };\n\n ngOnInit() {\n this.listData = new MatTableDataSource();\n this.customerService.getCustomerBoxType().subscribe(\n success => {\n this.customerBoxTypes = success;\n if (this.data) {\n this.data.taskCustomerBoxTypes.forEach((value) => {\n const found = this.customerBoxTypes.find(a => a.customerBoxTypeId === value.customerBoxType.customerBoxTypeId && a.active == true);\n if (found) {\n found.checked = true;\n this.customerBoxTypeChange();\n }\n });\n }\n });\n\n this.taskStatusService.get().subscribe(\n (success) => {\n this.taskStatuses = success;\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n\n if (this.data) {\n this.taskForm.setValue({\n title: this.data.title,\n description: this.data.description,\n error: this.datePipe.transform(this.data.error, 'dd-MM-yyyy'),\n solved: this.datePipe.transform(this.data.solved, 'dd-MM-yyyy'),\n taskStatusId: this.data.taskStatusId,\n subjectNotification: '',\n descriptionNotification: ''\n });\n } else {\n this.taskForm.get('taskStatusId').setValue(1);\n }\n\n GlobalFunctionsService.dialogCloseConfirm(this.dialogRef, this.taskForm);\n }\n\n customerBoxTypeChange() {\n this.customerService.getCustomersWithBoxType(this.customerBoxTypes.filter(a => a.checked)).subscribe(\n success => {\n this.listData.data = success;\n });\n }\n\n onSubmit() {\n this.customVal.submitClicked = true;\n this.customVal.logValidationErrors(this.taskForm, this.formErrors);\n if (this.taskForm.valid) {\n if (this.data == null) {\n const taskCustomerBoxTypes = [];\n this.customerBoxTypes.forEach((value) => {\n if (value.checked) {\n const taskCustomerBoxType: TaskCustomerBoxType = {\n active: true,\n customerBoxTypeId: value.customerBoxTypeId,\n };\n taskCustomerBoxTypes.push(taskCustomerBoxType);\n }\n });\n\n const task: Task = {\n active: true,\n createdBy: GlobalFunctionsService.employee.employeeId,\n createdOn: new Date(),\n modifiedBy: GlobalFunctionsService.employee.employeeId,\n modifiedOn: new Date(),\n title: this.taskForm.value.title,\n description: this.taskForm.value.description,\n error: GlobalFunctionsService.danishDateToEnglish(this.taskForm.value.error),\n solved: GlobalFunctionsService.danishDateToEnglish(this.taskForm.value.solved),\n taskStatusId: this.taskForm.value.taskStatusId,\n taskCustomerBoxTypes: taskCustomerBoxTypes,\n };\n\n this.taskService.insert(task).subscribe(\n success => {\n this.toastrService.success('Oprettede status', 'Administration');\n this.onClose(success);\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n } else {\n this.data.title = this.taskForm.value.title;\n this.data.description = this.taskForm.value.description;\n this.data.error = GlobalFunctionsService.danishDateToEnglish(this.taskForm.value.error);\n this.data.solved = GlobalFunctionsService.danishDateToEnglish(this.taskForm.value.solved);\n this.data.taskStatusId = this.taskForm.value.taskStatusId;\n this.data.modifiedBy = GlobalFunctionsService.employee.employeeId;\n this.data.modifiedOn = new Date();\n\n this.data.taskCustomerBoxTypes.forEach((value) => {\n value.active = false;\n });\n\n this.customerBoxTypes.forEach((value) => {\n if (value.checked) {\n const found = this.data.taskCustomerBoxTypes.find(a => a.customerBoxTypeId === value.customerBoxTypeId);\n if (found) {\n found.active = true;\n } else {\n const taskCustomerBoxType: TaskCustomerBoxType = {\n active: true,\n customerBoxTypeId: value.customerBoxTypeId,\n };\n this.data.taskCustomerBoxTypes.push(taskCustomerBoxType);\n }\n }\n });\n\n this.taskService.update(this.data).subscribe(\n success => {\n this.toastrService.success('Opdateret status', 'Administration');\n this.onClose(success);\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n }\n }\n }\n\n onClose(row) {\n this.customVal.submitClicked = false;\n this.taskForm.reset();\n this.dialogRef.close(row);\n }\n\n sendMail() {\n if (this.dialogSrv.modalOpen === false) {\n this.dialogSrv.modalOpen = true;\n this.dialogSrv.openConfirmDialog('Er du sikker på du vil sende mail', 'Mail notifikation', 'Ja', 'Nej')\n .afterClosed().subscribe(res => {\n if (res) {\n const mailrecipients: MailRecipients[] = [];\n mailrecipients.push({email: 'cp@itoperators.dk'});\n\n this.listData.data.forEach((value) => {\n if (value.email !== undefined && value.email !== '') {\n // mailrecipients.push({email: value.email});\n }\n });\n\n const mail: Mail = {\n subject: this.taskForm.value.subjectNotification,\n description: this.taskForm.value.descriptionNotification,\n mailRecipients: mailrecipients,\n };\n\n this.notificationService.sendEmail(mail).subscribe(\n success => {\n this.lock = false;\n this.globalFunctionsService.successToast('Sende email til ' + mail.mailRecipients.length);\n }, error => {\n this.lock = false;\n this.globalFunctionsService.errorToast('Kunne ikke sende emails!!');\n });\n }\n this.dialogSrv.modalOpen = false;\n });\n }\n }\n\n sendSms() {\n if (this.dialogSrv.modalOpen === false) {\n this.dialogSrv.modalOpen = true;\n this.dialogSrv.openConfirmDialog('Er du sikker på du vil sende sms', 'Sms notifikation', 'Ja', 'Nej')\n .afterClosed().subscribe(res => {\n if (res) {\n this.lock = true;\n const smsRecipients: SmsRecipients[] = [];\n smsRecipients.push({msisdn: '41412146'});\n\n this.listData.data.forEach((value) => {\n if (value.phone !== undefined && value.phone !== '') {\n // smsRecipients.push({msisdn: value.phone});\n }\n });\n\n const sms: Sms = {\n label: 'Itoperators-Drift',\n message: this.taskForm.value.descriptionNotification + '\\r\\n\\r\\nMed venlig hilsen IT Operators\\r\\nDenne sms kan ikke besvares',\n recipients: smsRecipients,\n sender: 'Itoperators'\n };\n this.spinner.show();\n this.notificationService.sendSms(sms).subscribe(\n success => {\n this.smsResponses = success;\n this.lock = false;\n this.globalFunctionsService.successToast('Se sms statusser i bunden');\n this.spinner.hide();\n }, error => {\n this.spinner.hide();\n this.lock = false;\n this.globalFunctionsService.errorToast('Kunne ikke sende sms!!');\n });\n }\n this.dialogSrv.modalOpen = false;\n });\n }\n }\n}\n","
\n \n \n \n \n \n
\n\n
\n \n \n Title\n {{element.title}}\n \n \n Status\n {{element.taskStatus.name}}\n \n \n Kategori\n {{element.type}}\n \n \n Dato fejlmeldt\n {{element.error | danishDate: false}}\n \n \n Dato løst\n {{element.solved | danishDate: false}}\n \n \n Oprettet/redigeret\n {{element.modifiedOn| danishDate: true}}\n \n \n Medarbejder\n {{globalFunctionsService.findEmployeeNameFromId(element.modifiedBy)}}\n \n \n \n \n \n \n \n \n \n \n \n Indlæser data...\n \n \n \n \n Ingen data...\n \n \n \n \n \n \n \n \n
\n","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {FormBuilder} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {MatSort} from '@angular/material/sort';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatDialog} from '@angular/material/dialog';\nimport {DialogService} from '../../../shared/dialogs/dialog.service';\nimport {Task} from 'src/app/shared/models/task';\nimport {GlobalFunctionsService} from '../../../shared/services/globalFunctions.service';\nimport {TaskService} from '../../../shared/services/task.service';\nimport {TaskComponent} from '../task/task.component';\nimport {EmployeeService} from \"../../../shared/services/employee.service\";\n\n@Component({\n selector: 'taskView',\n templateUrl: 'taskView.component.html',\n styleUrls: ['./taskView.component.scss']\n})\n\nexport class TaskViewComponent implements OnInit {\n constructor(public taskService: TaskService, private fb: FormBuilder, private toastrService: ToastrService,\n public globalFunctionsService: GlobalFunctionsService, private dialog: MatDialog,\n private dialogSrv: DialogService, public employeeService: EmployeeService) {\n }\n\n listData: MatTableDataSource;\n displayedColumns: string[] = ['title', 'status', 'category', 'error', 'solved', 'modifiedOn', 'modifiedBy', 'actions'];\n @ViewChild(MatSort, {static: false}) sort: MatSort;\n @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;\n searchKey = '';\n dialogRef;\n\n ngOnInit() {\n this.employeeService.get().subscribe(\n (success) => {\n GlobalFunctionsService.employees = success;\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n\n this.employeeService.getCurrentEmployee().subscribe(\n (success) => {\n GlobalFunctionsService.employee = success;\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n\n\n this.listData = new MatTableDataSource();\n this.listData.paginator = this.paginator;\n this.load();\n }\n\n load() {\n this.taskService.get().subscribe(\n success => {\n this.listData.data = success;\n this.listData.sort = this.sort;\n });\n }\n\n onSearchClear() {\n this.searchKey = '';\n this.applyFilter();\n }\n\n applyFilter() {\n this.listData.filter = this.searchKey.trim().toLocaleLowerCase();\n }\n\n onCreate() {\n this.dialogRef = this.dialog.open(TaskComponent, GlobalFunctionsService.matDialogConfigStandard());\n this.dialogRef.afterClosed().subscribe(() => {\n this.load();\n });\n }\n\n onEdit(row) {\n this.dialogRef = this.dialog.open(TaskComponent, GlobalFunctionsService.matDialogConfigStandard(row));\n this.dialogRef.afterClosed().subscribe(() => {\n this.load();\n });\n }\n\n onDelete(row: Task) {\n if (this.dialogSrv.modalOpen === false) {\n this.dialogSrv.modalOpen = true;\n this.dialogSrv.openConfirmDialog('', 'Er du sikker på du vil slette ' + row.title, 'Ja ', 'Annullere')\n .afterClosed().subscribe(res => {\n if (res) {\n this.taskService.delete(row.taskId).subscribe(\n () => {\n this.load();\n this.toastrService.success('Deaktiveret: ' + row.title, 'Administration');\n }, err => {\n this.toastrService.error(err.error.message, err.error);\n console.log(err);\n }\n );\n }\n this.dialogSrv.modalOpen = false;\n });\n }\n }\n}\n","
\n
\n

DRIFT STATUS

\n
\n
\n
\n
\n
\n
\n
\n
\n
STATUS
\n
Titel
\n
Kategori
\n
DATO FEJLMELDT
\n
DATO LØST
\n
OPRETTET/REDIGERET
\n
\n\n
\n \n
\n

{{task.taskStatus.name}}\n

\n
{{task.title}}
\n
\n \n {{taskCustomerBoxType.customerBoxType.name}}\n \n
\n

{{task.error | danishDate: false}}

\n

{{task.solved | danishDate: false}}

\n

{{task.modifiedOn | danishDate}}

\n
\n
\n

{{task.description}}

\n
\n
\n
\n
\n
\n
\n\n
\n
\n Er der ikke registeret nedbrud? Kontakt os på\n 70 221 228!\n
\n \n \n \n
\n\n
\n
\n
\n\n
\n
KONTAKT OS
\n
\n
\n

\n Ønsker du at høre mere om hvordan vi kan skabe værdi for dig og din virksomhed, har du spørgsmål til et\n specifikt produkt eller noget helt tredje?\n
\n Så hører vi meget gerne fra dig! Vi tager altid gerne en kop uforpligtende kaffe og hører nærmere om lige netop\n dine udfordringer.\n

\n
\n
\n Smid en mail på info@itoperators.dk eller ring til os på 70 221 228 – Vi glæder os til at høre fra dig!\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n
\n
\n IT Operators ApS\n Jættevej 50B\n 4100 Ringsted\n CVR: 33 25 55 35\n
\n
\n
\n
\n \n
\n
\n IT Operators ApS\n Axeltorv 5,\n 3. th,\n 4700 Næstved\n
\n
\n
\n
\n \n
\n
\n \n Mandag-Fredag: Døgnet rundt\n
\n
\n \n Lørdag-Søndag: Døgnet rundt\n
\n
\n
\n
\n \n Du er altid velkommen forbi, vi giver gerne en kop varm kaffe!\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"\"\n
\n \n Vi er specialister i værdiskabende IT løsninger der tager udgangspunkt i dine behov og udfordringer. Gennem tæt dialog finder vi frem til- og implementerer de rigtige løsninger der skaber grundlag for en effektiv arbejdsdag såvel som understøtter virksomhedens strategi og målsætninger på den lange bane.\n \n
\n
\n UDVALGTE YDELSER\n \n
\n
\n KONTAKT INFORMATIONER\n
\n
\n \n
\n
\n IT Operators ApS\n Jættevej 50B\n 4100 Ringsted\n CVR: 33 25 55 35\n
\n
\n
\n
\n \n
\n
\n IT Operators ApS\n Axeltorv 5,\n 3. th,\n 4700 Næstved\n
\n
\n \n \n
\n \n Mandag-Fredag: Døgnet rundt\n
\n
\n \n Lørdag-Søndag: Døgnet rundt\n
\n
\n
\n VUNDNE PRISER\n
\n
\n \"\"\n \"\"\n
\n
\n
\n
\n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {TaskPublicService} from '../../shared/services/taskPublic.service';\nimport { Loader } from '@googlemaps/js-api-loader';\n\n@Component({\n selector: 'index',\n templateUrl: 'index.component.html',\n styleUrls: ['./index.component.scss']\n})\n\nexport class IndexComponent implements OnInit {\n constructor(private taskPublicService: TaskPublicService) {\n }\n\n public tasks = [];\n public open;\n public map: google.maps.Map;\n\n ngOnInit(): void {\n this.taskPublicService.get().subscribe((res) => {\n this.tasks = res;\n });\n\n const loader = new Loader({\n apiKey: 'AIzaSyBidVHCAy2qvdaA3C2Al4GrNmku4Qunkew',\n version: 'weekly',\n });\n\n loader.load().then(() => {\n this.initMap();\n });\n }\n\n toggleTask(task: any) {\n if (this.open === task.taskId) {\n this.open = undefined;\n } else {\n this.open = task.taskId;\n }\n }\n\n\n\n initMap(): void {\n this.map = new google.maps.Map(\n document.getElementById('map') as HTMLElement,\n {\n zoom: 8,\n center: { lat: 55.432800, lng: 11.807050},\n gestureHandling: 'greedy',\n }\n );\n // The locations\n const locations = [\n { lat: 55.432800, lng: 11.807050 },\n { lat: 55.230360, lng: 11.758280 },\n ];\n\n const image = '../../../assets/img/Google-Maps-Pointer-skaleret-1.png';\n\n // Add some markers to the map.\n // Note: The code uses the JavaScript Array.prototype.map() method to\n // create an array of markers based on a given \"locations\" array.\n // The map() method here has nothing to do with the Google Maps API.\n const markers = locations.map((location, i) => {\n return new google.maps.Marker({\n position: location,\n map: this.map,\n icon: image\n\n // label: labels[i % labels.length],\n });\n });\n\n }\n}\n","import {Injectable} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {MatConfirmDialogComponent} from './matConfirmDialog/matConfirmDialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n constructor(private dialog: MatDialog) {\n }\n\n public modalOpen = false;\n\n openConfirmDialog(msg, header = '', yesButton = 'Yes', noButton = 'Cancel') {\n return this.dialog.open(MatConfirmDialogComponent, {\n width: '390px',\n panelClass: 'confirm-dialog-container',\n disableClose: false,\n hasBackdrop: true,\n position: {top: '130px'},\n autoFocus: false,\n data: {\n header: header,\n message: msg,\n yesButton: yesButton,\n noButton: noButton\n }\n });\n }\n}\n","import {GlobalFunctionsService} from '../../services/globalFunctions.service';\nimport {Component, OnInit, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\n\n\n@Component({\n selector: 'matConfirmDialog',\n templateUrl: './matConfirmDialog.component.html',\n styleUrls: ['./matConfirmDialog.component.css']\n})\nexport class MatConfirmDialogComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data, public dialogRef: MatDialogRef, public globalfunctionsService: GlobalFunctionsService) {\n }\n\n ngOnInit() {\n }\n\n closeDialog() {\n this.dialogRef.close(false);\n }\n}\n","
\n
\n {{data.header}}\n
\n
\n {{data.message}}\n
\n \n \n
\n","import {MatPaginatorIntl} from '@angular/material/paginator';\n\nconst dutchRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 af ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} af ${length}`;\n};\n\nexport function getDanishPaginatorIntl() {\n const paginatorIntl = new MatPaginatorIntl();\n paginatorIntl.itemsPerPageLabel = 'Enheder pr side:';\n paginatorIntl.nextPageLabel = 'Næste side';\n paginatorIntl.previousPageLabel = 'Forrige side';\n paginatorIntl.getRangeLabel = dutchRangeLabel;\n return paginatorIntl;\n}\n","import {MatToolbarModule} from '@angular/material/toolbar';\n\nimport {NgModule} from '@angular/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatTableModule} from '@angular/material/table';\nimport {MatPaginatorModule} from '@angular/material/paginator';\nimport {MatSortModule} from '@angular/material/sort';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\n\n\n@NgModule({\n declarations: [],\n imports: [\n MatToolbarModule,\n MatDialogModule,\n MatIconModule,\n MatButtonModule,\n MatInputModule,\n MatRippleModule,\n MatCheckboxModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatSelectModule,\n MatDividerModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatDatepickerModule,\n MatDividerModule,\n ],\n exports: [\n MatToolbarModule,\n MatDialogModule,\n MatIconModule,\n MatFormFieldModule,\n MatButtonModule,\n MatInputModule,\n MatRippleModule,\n MatCheckboxModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatTooltipModule,\n MatRadioModule,\n MatSelectModule,\n MatDividerModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatDatepickerModule,\n MatDividerModule,\n ],\n})\nexport class MaterialModule {\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\nimport {Sms} from './notification/sms';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class NotificationService {\n\n constructor(private http: HttpClient) {\n }\n\n sendSms(notification) {\n return this.http.post('/api/notification/sms', notification)\n .pipe(\n map((data: Sms) => {\n return data;\n }));\n }\n\n sendEmail(email) {\n return this.http.post('/api/notification/email', email)\n .pipe(\n map((data: any) => {\n return data;\n }));\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {formatCurrency} from '@angular/common';\n\n@Pipe({\n name: 'danishCurrency',\n})\nexport class DanishCurrencyPipe implements PipeTransform {\n transform(\n value: number,\n // This value changes the text after the number\n currencyCode: string = '',\n display:\n | 'code'\n | 'symbol'\n | 'symbol-narrow'\n | string\n | boolean = 'symbol',\n digitsInfo: string = '3.2-2',\n locale: string = 'da-DK',\n ): string | null {\n return formatCurrency(\n value,\n locale,\n currencyCode,\n digitsInfo,\n );\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'danishDate'})\nexport class DanishDatePipe implements PipeTransform {\n transform(value: any, datetime: boolean = true) {\n if (value && value !== 'Invalid Date') {\n const splitted = String(value).split('-');\n if (splitted.length > 1) {\n const splittedTime = splitted[2].split('T');\n if (datetime) {\n return splittedTime[0] + '-' + splitted [1] + '-' + splitted [0] + ' ' + value.split('T')[1].split('+')[0];\n } else {\n return splittedTime[0] + '-' + splitted [1] + '-' + splitted [0];\n }\n }\n }\n }\n}\n","import {AbstractControl, FormGroup} from '@angular/forms';\nimport {Injectable} from '@angular/core';\n\n// This class is used for validating form groups and displaying a error message\n\n@Injectable()\nexport class CustomValidators {\n\n // Error message\n static validationMessages = {\n 'username': {\n 'required': 'Skal være udfyldt',\n },\n 'password': {\n 'required': 'Skal være udfyldt',\n 'passwordNotMatch': 'Adgangskode skal være ens',\n 'passwordPolicy': 'Adgangskode skal minimum være 10 tegn, Stort, lille bogstav, 1 Specialtegn og 1 tal',\n },\n 'password2': {\n 'required': 'Skal være udfyldt',\n },\n 'employeeGroup': {\n 'required': 'Skal være udfyldt',\n }\n };\n\n // Is set to true when submit is clicked\n public submitClicked;\n\n static passwordMatch(control: AbstractControl) {\n const pass = control.get('password').value;\n const confirmPass = control.get('password2').value;\n if (pass === confirmPass) {\n control.get('password').setErrors(null);\n if (pass != null && pass !== '' && !pass.toString().match(/^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,}$/)) {\n control.get('password').setErrors({'passwordPolicy': true});\n }\n return null;\n } else {\n control.get('password').setErrors({'passwordNotMatch': true});\n }\n }\n\n static passwordMatch2(control: AbstractControl) {\n const pass = control.get('password').value;\n const confirmPass = control.get('password2').value;\n if (pass === confirmPass && pass != '') {\n control.get('password').setErrors(null);\n if (pass != null && pass !== '' && !pass.toString().match(/^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,}$/)) {\n control.get('password').setErrors({'passwordPolicy': true});\n }\n return null;\n } else {\n control.get('password').setErrors({'passwordNotMatch': true});\n }\n }\n\n // Validating all fields in form group and setting the correct error message\n public logValidationErrors(group: FormGroup, formErrors): void {\n Object.keys(group.controls).forEach((key: string) => {\n const abstractControl = group.get(key);\n if (abstractControl instanceof FormGroup) {\n this.logValidationErrors(abstractControl, formErrors);\n } else {\n formErrors[key] = '';\n if (abstractControl && !abstractControl.valid && (this.submitClicked === true) ||\n (abstractControl.touched || abstractControl.dirty)) {\n const messages = CustomValidators.validationMessages[key];\n for (const errorKey in abstractControl.errors) {\n if (errorKey) {\n if (typeof messages === 'undefined') {\n console.log(key + ' har ingen error handling!!!');\n } else {\n formErrors[key] += messages[errorKey] + ' ';\n }\n }\n }\n }\n }\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\nimport {CustomerBoxType} from '../models/customerBoxType';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CustomerService {\n constructor(private http: HttpClient) {\n }\n\n getCustomerBoxType() {\n return this.http.get('/api/customers/boxType')\n .pipe(\n map((data: CustomerBoxType[]) => {\n return data;\n }));\n }\n\n getCustomersWithBoxType(customerBoxTypes) {\n return this.http.post('api/customers/customersWithCustomerBoxTypes', customerBoxTypes).pipe(\n map((data: any) => {\n return data;\n }));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class EmployeeService {\n constructor(private http: HttpClient) {\n }\n\n get() {\n return this.http.get('/api/employee')\n .pipe(\n map((data: any[]) => {\n return data;\n }));\n }\n\n getCurrentEmployee() {\n return this.http.get('/api/employee/employeeInformation')\n .pipe(\n map((data: any) => {\n return data;\n }));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {MatDialogConfig} from '@angular/material/dialog';\nimport {Employee} from '../models/employee/employee';\nimport {ToastrService} from 'ngx-toastr';\n\n@Injectable()\nexport class GlobalFunctionsService {\n constructor(public toastrService: ToastrService) {\n }\n\n // Create a random name so google can't autofill\n static randomName = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n // All employees for easing getting name from id\n static employees: Employee[] = [];\n // Current employee\n static employee: Employee;\n\n // Font awesome icons\n public closeIcon = 'fas fa-times';\n public plusIcon = 'fas fa-plus';\n public editIcon = 'fas fa-pen';\n public deleteIcon = 'fas fa-trash-alt';\n\n // Table sort size and options\n public pageSizeOptions = [200, 500, 1000];\n public pageSize = 200;\n\n static getEmployeeId() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return Number(token.EmployeeId);\n }\n }\n\n static getEmployeeUsername() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return token.Username;\n }\n }\n\n static getEmployeeGroupId() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return Number(token.EmployeeGroupId);\n }\n }\n\n // Standard config of a dialog\n static matDialogConfigStandard(data = null): any {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = false;\n dialogConfig.width = '100%';\n dialogConfig.maxHeight = '91vh';\n dialogConfig.data = data;\n return dialogConfig;\n }\n\n // Message when dialogBackDrop is clicked\n static dialogBackDropClick() {\n return !confirm('Er du sikker på du vil lukke modal');\n }\n\n // Check if modal is dirty and support escape\n static dialogCloseConfirm(dialogRef, form) {\n dialogRef.backdropClick().subscribe(() => {\n if (form.dirty) {\n if (GlobalFunctionsService.dialogBackDropClick()) {\n return false;\n }\n }\n dialogRef.close();\n });\n\n dialogRef.keydownEvents().subscribe(event => {\n if (event.key === 'Escape') {\n dialogRef.close();\n }\n });\n }\n\n // Convert , to .\n static commaToDot(string) {\n if (string != null) {\n return string.toString().replace(',', '.');\n }\n }\n\n // Convert . to ,\n static dotToComma(string) {\n if (string != null) {\n return string.toString().replace('.', ',');\n }\n }\n\n static danishDateToEnglish(danishDate) {\n if (danishDate && danishDate !== '') {\n return new Date(danishDate.split('-').reverse().join('-'));\n }\n }\n\n public getEmployeeId() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return Number(token.EmployeeId);\n }\n }\n\n public getEmployeeUsername() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return token.Username;\n }\n }\n\n public getEmployeeGroupId() {\n if (localStorage.getItem('token')) {\n const token = JSON.parse(atob(localStorage.getItem('token').split('.')[1]));\n return Number(token.EmployeeGroupId);\n }\n }\n\n public getEmployeeById(employeeId): Employee {\n if (GlobalFunctionsService.employees) {\n return GlobalFunctionsService.employees.find(a => a.employeeId === employeeId);\n }\n }\n\n public findEmployeeNameFromId(id) {\n if (GlobalFunctionsService.employees && GlobalFunctionsService.employees.length > 0) {\n return GlobalFunctionsService.employees.find(a => a.employeeId === id).username;\n }\n }\n\n public successToast(message: string) {\n this.toastrService.success(message, 'Success', {\n timeOut: 1500\n });\n }\n\n public errorToast(message: string) {\n this.toastrService.error(message, 'Error', {\n timeOut: 1500\n });\n }\n\n public warningToast(message: string) {\n this.toastrService.warning(message, 'Error', {\n timeOut: 1500\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\nimport {Task} from '../models/task';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class TaskService {\n constructor(private http: HttpClient) {\n }\n\n get() {\n return this.http.get('/api/task')\n .pipe(\n map((data: any[]) => {\n return data;\n }));\n }\n\n insert(task: Task) {\n return this.http.post('api/task', task).pipe(\n map((data: any) => {\n return data;\n }));\n }\n\n update(task: Task) {\n return this.http.put('/api/task', task)\n .pipe(\n map((data: Task) => {\n return data;\n }));\n }\n\n delete(taskId) {\n return this.http.delete('/api/task/' + taskId)\n .pipe(\n map((data: Task) => {\n return data;\n }));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class TaskPublicService {\n constructor(private http: HttpClient) {\n }\n\n get() {\n return this.http.get('/public/task')\n .pipe(\n map((data: any[]) => {\n return data;\n }));\n }\n}\n","import {Injectable} from '@angular/core';\nimport {map} from 'rxjs/operators';\nimport {HttpClient} from '@angular/common/http';\nimport {Task} from '../models/task';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class TaskStatusService {\n constructor(private http: HttpClient) {\n }\n\n get() {\n return this.http.get('/api/taskStatus')\n .pipe(\n map((data: any[]) => {\n return data;\n }));\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\nimport {enableProdMode} from '@angular/core';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\n\nimport {AppModule} from './app/app.module';\nimport {environment} from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n {provide: 'BASE_URL', useFactory: getBaseUrl, deps: []}\n];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"]}