{"version":3,"file":"main.js","mappings":"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O,EAAE,SAAS;CAClB;;YAdI,2DAAe;YACf,iEAAgB;YAEf,mDAAM;;AAKF,cAAc;IAH1B,yDAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,cAAc,CAmH1B;AAnH0B;;;;;;;;;;;;;;;;ACT3B,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,uBAAuB;CACnE,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;;;;;AChBpB;AAC4B;AAE9B;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,yFAAsB,EAAE,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/child-selection/child-selection.component.ts","./src/app/components/child/child.component.ts","./src/app/components/consent-component/consent-component.component.ts","./src/app/components/custom-template-category/custom-template-category.component.ts","./src/app/components/delete-profile-confirm/delete-profile-confirm.component.ts","./src/app/components/group/group.component.ts","./src/app/components/mobile-design-select/mobile-design-select.component.ts","./src/app/components/page-download-selection/page-download-selection.component.ts","./src/app/components/page-name-input/page-name-input.component.ts","./src/app/components/shared.module.ts","./src/app/components/tablet-editor-menu/tablet-editor-menu.component.ts","./src/app/components/template-category-selection/template-category-selection.component.ts","./src/app/guards/authGuard.service.ts","./src/app/interceptors/error.interceptor.ts","./src/app/models/Child.ts","./src/app/services/Routes.ts","./src/app/services/auth.service.ts","./src/app/services/basic.service.ts","./src/app/services/child.service.ts","./src/app/services/data.service.ts","./src/app/services/daycare.service.ts","./src/app/services/file.service.ts","./src/app/services/group.service.ts","./src/app/services/institution.service.ts","./src/app/services/project.service.ts","./src/app/services/settings.service.ts","./src/app/services/spinner.service.ts","./src/app/services/template.service.ts","./src/app/services/user.service.ts","./src/app/services/utility.service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm|lazy|/^\\.\\/.*\\.entry\\.js$/|include: /\\.entry\\.js$/|exclude: /\\.system\\.entry\\.js$/|groupOptions: {}|namespace object"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\r\nimport {AuthGuardService} from \"./guards/authGuard.service\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n loadChildren: () => import('./pages/login/login.module').then( m => m.LoginPageModule)\r\n },\r\n {\r\n path: 'login',\r\n loadChildren: () => import('./pages/login/login.module').then( m => m.LoginPageModule)\r\n },\r\n {\r\n path: 'register',\r\n loadChildren: () => import('./pages/register/register.module').then( m => m.RegisterPageModule)\r\n },\r\n {\r\n path: 'profile',\r\n loadChildren: () => import('./pages/profile/profile.module').then( m => m.ProfilePageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'home',\r\n loadChildren: () => import('./pages/home/home.module').then( m => m.HomePageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'group-child-list',\r\n loadChildren: () => import('./pages/group-child-list/group-child-list.module').then( m => m.GroupChildListPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'folder-design-select',\r\n loadChildren: () => import('./pages/folder-design-select/folder-design-select.module').then( m => m.FolderDesignSelectPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'page-design-select',\r\n loadChildren: () => import('./pages/page-design-select/page-design-select.module').then( m => m.PageDesignSelectPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'folder-editor',\r\n loadChildren: () => import('./pages/folder-editor/folder-editor.module').then( m => m.FolderEditorPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'page-editor',\r\n loadChildren: () => import('./pages/page-editor/page-editor.module').then( m => m.PageEditorPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'digital-folder',\r\n loadChildren: () => import('./pages/digital-folder/digital-folder.module').then( m => m.DigitalFolderPageModule),\r\n canActivate: [AuthGuardService],\r\n },\r\n {\r\n path: 'folder-list',\r\n loadChildren: () => import('./pages/folder-list/folder-list.module').then( m => m.FolderListPageModule)\r\n },\r\n {\r\n path: 'order-overview',\r\n loadChildren: () => import('./pages/order-overview/order-overview.module').then( m => m.OrderOverviewPageModule)\r\n },\r\n {\r\n path: 'register-activation/:registrationToken',\r\n loadChildren: () => import('./pages/register-activation/register-activation.module').then( m => m.RegisterActivationPageModule)\r\n },\r\n {\r\n path: 'forgot-password',\r\n loadChildren: () => import('./pages/forgot-password/forgot-password.module').then( m => m.ForgotPasswordPageModule)\r\n },\r\n {\r\n path: 'forgot-password-confirm/:passwordResetToken',\r\n loadChildren: () => import('./pages/forgot-password-confirm/forgot-password-confirm.module').then( m => m.ForgotPasswordConfirmPageModule)\r\n },\r {\n path: 'new-editor',\n loadChildren: () => import('./pages/new-editor/new-editor.module').then( m => m.NewEditorPageModule)\n },\n {\n path: 'custom-templates',\n loadChildren: () => import('./pages/custom-templates/custom-templates.module').then( m => m.CustomTemplatesPageModule)\n },\n\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import {AfterViewInit, Component} from '@angular/core';\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport {SettingsService} from './services/settings.service';\nimport {SpinnerService} from './services/spinner.service';\nimport {AlertController} from '@ionic/angular';\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss'],\n})\nexport class AppComponent implements AfterViewInit{\n\n public showProfile: boolean = false;\n private hideProfileUrls = [\n '/login',\n '/profile',\n '/register',\n '/folder-editor',\n '/page-editor',\n '/digital-folder',\n '/page-design-select',\n '/new-editor',\n '/register-activation'\n ];\n public maintenance: boolean = false;\n public spinnerActive: boolean = false;\n public spinnerText: string = '';\n public hasProgress: boolean = false;\n public animatedDots: string = '';\n public maxProgress: number = 1;\n public currentProgress: number = 0;\n public progressCalc: number = 0;\n\n private deviceCheckActive: boolean = false;\n private didDeviceSizeRemainSmall: boolean = false;\n\n constructor(\n private translate: TranslateService,\n private router: Router,\n private settingsService: SettingsService,\n private spinnerService: SpinnerService,\n private alertController: AlertController,\n ) {\n translate.addLangs(['de', 'en']);\n translate.setDefaultLang('de');\n\n const browserLang = translate.getBrowserLang();\n translate.use(browserLang.match(/de|en/) ? browserLang : 'en');\n this.checkRoute();\n this.maintenance = this.settingsService.maintenanceMode;\n this.settingsService.maintenanceEvent.subscribe(() => {\n this.maintenance = this.settingsService.maintenanceMode;\n });\n this.spinnerService.spinnerChangeEvent.subscribe((val: boolean) => {\n if (typeof val == 'boolean') {\n this.spinnerText = this.spinnerService.spinnerText;\n this.hasProgress = this.spinnerService.hasProgress;\n this.maxProgress = this.spinnerService.maxProgress;\n this.currentProgress = 0;\n this.spinnerActive = val;\n }\n });\n this.spinnerService.spinnerProgressUpdate.subscribe((increase: number) => {\n if(typeof increase == 'number'){\n this.currentProgress += 1;\n if(this.maxProgress != 0){\n this.progressCalc = (this.currentProgress / this.maxProgress) * 100;\n }\n }\n });\n\n window.onresize = (() => {\n setTimeout(async () => {\n this.deviceCheck();\n }, 100);\n });\n }\n\n\n private async deviceCheck(): Promise {\n if (window.innerWidth > 1000){\n this.didDeviceSizeRemainSmall = false;\n }\n\n if (window.innerWidth < 1000 && !this.deviceCheckActive && !this.didDeviceSizeRemainSmall) {\n this.didDeviceSizeRemainSmall = true;\n this.deviceCheckActive = true;\n let button = 'ok';\n let message = 'This application is optimized for devices with a viewport width of 1000px or more. You can use it at lower resolutions but not all features might work as intended.';\n await this.translate.get('TOASTS.DEVICE_RESOLUTION_TOO_SMALL').toPromise()\n .then((res: string) => {\n message = res;\n });\n const alert = await this.alertController.create({\n cssClass: 'my-custom-class',\n header: '',\n message: message,\n buttons: [\n {\n text: button,\n cssClass: 'yes',\n handler: () => {\n alert.dismiss();\n },\n },\n ],\n });\n alert.onWillDismiss().then(() => {\n this.deviceCheckActive = false;\n });\n\n await alert.present();\n\n }\n }\n\n public profile(): void{\n this.router.navigate(['/profile']);\n }\n\n public checkRoute(): void{\n this.router.events.subscribe((e) => {\n if(e instanceof NavigationEnd){\n if(this.router.url == '/'){\n this.showProfile = false;\n }else{\n this.showProfile = this.hideProfileUrls.find(x => this.router.url.startsWith(x)) == undefined;\n }\n }\n });\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.deviceCheck();\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouteReuseStrategy } from '@angular/router';\n\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\n\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport {TranslateLoader, TranslateModule} from \"@ngx-translate/core\";\nimport {SharedModule} from \"./components/shared.module\";\nimport {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from \"@angular/common/http\";\nimport {TranslateHttpLoader} from \"@ngx-translate/http-loader\";\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {HttpErrorInterceptor} from './interceptors/error.interceptor';\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, '../assets/i18n/', '.json');\n}\n\n@NgModule({\n declarations: [AppComponent],\n entryComponents: [],\n imports: [\n BrowserModule,\n IonicModule.forRoot(),\n AppRoutingModule,\n HttpClientModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n SharedModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpErrorInterceptor,\n multi: true,\n },\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from '@ionic/angular';\nimport {UtilityService} from '../../services/utility.service';\nimport {Child} from '../../models/Child';\nimport {Router} from '@angular/router';\nimport {ProjectService} from '../../services/project.service';\nimport {Group} from '../../models/Group';\nimport {SettingsService} from '../../services/settings.service';\nimport {GenericResponse} from '../../models/GenericResponse';\nimport {Setting} from '../../models/Setting';\nimport {TemplateService} from '../../services/template.service';\n\n@Component({\n selector: 'app-child-selection',\n templateUrl: './child-selection.component.html',\n styleUrls: ['./child-selection.component.scss'],\n})\nexport class ChildSelectionComponent implements OnInit {\n\n @Input()\n public children: Child[] = [];\n\n @Input()\n public byGroups: boolean = false;\n\n @Input()\n public groups: Group[] = [];\n @Input()\n public isCopy: boolean = false;\n\n public selectedChildren: Child[] = [];\n public groupChildModel: {group: Group, expanded: boolean, children: Child[]}[] = [];\n public defaultTemplate: string;\n\n constructor(\n public modalController: ModalController,\n public utilityService: UtilityService,\n private router: Router,\n private projectService: ProjectService,\n private settingService: SettingsService,\n private templateService: TemplateService\n ) { }\n\n ngOnInit() {\n this.loadSetting();\n if(this.byGroups){\n this.groupChildModel = [];\n for(let g of this.groups){\n let children = this.children.filter(x => x.groupId == g.id);\n this.groupChildModel.push({group: g, expanded: true, children });\n }\n }\n }\n\n\n private loadSetting(): void {\n this.settingService.get(SettingsService.EDITOR_CUSTOM_TEMPLATE_DEFAULT_TEMPLATE).toPromise()\n .then((res: GenericResponse) => {\n if(res?.status == 200 && res?.body != undefined && res?.body?.value?.length > 0){\n this.defaultTemplate = res.body.value;\n }\n });\n }\n public close(): void{\n this.modalController.dismiss();\n }\n\n public childSelection(child: Child): void{\n if(this.selectedChildren.indexOf(child) > -1){\n this.selectedChildren.splice(this.selectedChildren.indexOf(child), 1);\n }else{\n this.selectedChildren.push(child);\n }\n }\n\n public childIsSelected(child): boolean{\n return this.selectedChildren.indexOf(child) > -1;\n }\n\n public selectAll(): void{\n for(let c of this.children){\n if(!this.childIsSelected(c)){\n this.childSelection(c);\n }\n }\n }\n\n public deselectAll(): void{\n this.selectedChildren = [];\n }\n\n public async submit(): Promise{\n if(this.isCopy){\n this.copyToChildren();\n }else{\n this.createMultiple();\n }\n }\n\n public copyToChildren(): void{\n this.modalController.dismiss({selectedChildren: this.selectedChildren});\n }\n\n public async createMultiple(): Promise{\n let ids: { childId: string, pageNumber: number }[] = [];\n let selectedGroups: string[] = [];\n for(let c of this.selectedChildren){\n ids.push({childId: c.id, pageNumber: undefined});\n if(selectedGroups.find(x => x == c.groupId) == undefined){\n selectedGroups.push(c.groupId);\n }\n }\n\n\n for(let i = 0; i < selectedGroups.length; i++){\n await this.projectService.getPageCount(selectedGroups[i]).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n })\n .then((res) => {\n if(res != undefined && res.body != undefined && res.status == 200){\n let tmpIds = JSON.parse(res.body) as { childId: string, pageNumber: number }[];\n for(let i of tmpIds){\n for(let c of ids){\n if(i.childId == c.childId){\n c.pageNumber = i.pageNumber;\n }\n }\n }\n }\n });\n }\n\n for(let id of ids){\n id.pageNumber += 1;\n }\n\n\n localStorage.setItem('multipleChildren', 'true')\n localStorage.setItem('nextPageNumbers', JSON.stringify(ids));\n\n if(this.defaultTemplate != undefined && this.defaultTemplate.length > 0){\n let colors = await this.templateService.getAllTemplateColorsByTemplateId(this.defaultTemplate);\n if(colors?.length > 0){\n let color = colors[0];\n if(color != undefined){\n localStorage.setItem('imageId',color.showingFileId);\n localStorage.setItem('mobileImageId',color.mobileShowingFileId);\n localStorage.setItem('templateId',color.templateId);\n this.router.navigate(['new-editor']);\n }else{\n this.router.navigate(['/page-design-select']);\n }\n }else{\n this.router.navigate(['/page-design-select']);\n }\n }else{\n this.router.navigate(['/page-design-select']);\n }\n\n this.close();\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Child} from '../../models/Child';\nimport {ModalController} from '@ionic/angular';\nimport {UtilityService} from '../../services/utility.service';\nimport {GroupService} from '../../services/group.service';\nimport {Group} from '../../models/Group';\nimport {GenericResponse} from '../../models/GenericResponse';\n\n@Component({\n selector: 'app-child',\n templateUrl: './child.component.html',\n styleUrls: ['./child.component.scss'],\n})\nexport class ChildComponent implements OnInit {\n\n @Input()\n public isAdd: boolean = false;\n\n @Input()\n public child: Child;\n\n public groups: Group[];\n\n constructor(\n public modalController: ModalController,\n public utilityService: UtilityService,\n public groupService: GroupService,\n ) { }\n\n ngOnInit() {\n if(this.child == undefined){\n this.child = new Child();\n }\n if(this.child.daycareId != undefined){\n this.groupService.getAllByDaycareId(this.child.daycareId).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined && res.status == 200){\n this.groups = res.body;\n }\n });\n }\n }\n\n public save(): void{\n if(this.childIsValid()){\n this.modalController.dismiss({\n 'child': this.child,\n 'isAdd': this.isAdd\n });\n }else{\n this.utilityService.showToast('MODALS.ADD_CHILD.MANDATORY_MISSING', UtilityService.TOAST_STATUS.warning);\n }\n }\n\n private stringIsValid(s: string): boolean{\n return s != undefined && s.length > 0;\n }\n\n public childIsValid(): boolean{\n return this.stringIsValid(this.child.name);\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from '@ionic/angular';\n\n@Component({\n selector: 'app-consent-component',\n templateUrl: './consent-component.component.html',\n styleUrls: ['./consent-component.component.scss'],\n})\nexport class ConsentComponentComponent implements OnInit {\n @Input() public title: string = '';\n @Input() public bodyRows: string[] = [];\n @Input() public checkmarks: string[] = [];\n @Input() public inputs: {title: string, type: string, returnVal: string}[] = [];\n @Input() public overrideButtons: {title: string, type: string}[] = [];\n\n public checkmarkMap: {content: string, checked: boolean}[] = [];\n public inputMap: {title: string, type: string, property: string, val: any}[] = [];\n\n constructor(\n public modalController: ModalController\n ) {\n }\n\n ngOnInit() {\n this.checkmarkMap = [];\n this.inputMap = [];\n for(let mark of this.checkmarks){\n this.checkmarkMap.push({content: mark, checked: false});\n }\n for(let i of this.inputs){\n this.inputMap.push({title: i.title, type: i.type, property: i.returnVal, val: undefined});\n }\n console.log(this.inputs, this.inputMap);\n }\n\n public isValid(): boolean{\n for(let c of this.checkmarkMap){\n if(!c.checked) return false;\n }\n return true;\n }\n\n public submit(): void{\n if(!this.isValid()) return;\n let data = {submit: true};\n for(let i of this.inputMap){\n data[i.property] = i.val;\n }\n this.modalController.dismiss(data);\n }\n\n public buttonAction(button: {title: string, type: string}){\n if(button.type == 'submit'){\n if(!this.isValid()) return;\n let data = {submit: true};\n for(let i of this.inputMap){\n data[i.property] = i.val;\n }\n this.modalController.dismiss(data);\n\n }else{\n this.modalController.dismiss();\n }\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from '@ionic/angular';\n\n@Component({\n selector: 'app-custom-template-category',\n templateUrl: './custom-template-category.component.html',\n styleUrls: ['./custom-template-category.component.scss'],\n})\nexport class CustomTemplateCategoryComponent implements OnInit {\n\n @Input()\n public categories: string[] = [];\n\n public selectedTab: number = 1;\n public newCategory: string = '';\n public selectedCategory: string = '';\n constructor(\n private modalController: ModalController,\n ) { }\n\n ngOnInit() {}\n\n\n public close(): void{\n this.modalController.dismiss({close: true});\n }\n\n public save(): void {\n this.modalController.dismiss({category: this.selectedTab == 1 ? this.newCategory : this.selectedCategory});\n }\n\n public inputValid(): boolean {\n if(this.selectedTab == 1){\n if(this.newCategory == undefined || this.newCategory.length < 1 || this.categories.indexOf(this.newCategory) > -1){\n return false;\n }\n }else{\n if(this.selectedCategory == undefined || this.selectedCategory.length < 1){\n return false;\n }\n }\n return true;\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from '@ionic/angular';\n\n@Component({\n selector: 'app-delete-profile-confirm',\n templateUrl: './delete-profile-confirm.component.html',\n styleUrls: ['./delete-profile-confirm.component.scss'],\n})\nexport class DeleteProfileConfirmComponent implements OnInit {\n\n @Input() cancelSubscription: boolean = false;\n public confirmSequenceInput: string = '';\n public confirmSequence: string = '';\n private randomChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n constructor(\n public modalController: ModalController\n ) { }\n\n // tslint:disable-next-line:no-empty\n ngOnInit() {}\n\n ionViewWillEnter(): void{\n let result = '';\n for(let i = 0; i < 8; i++){\n result += this.randomChars.charAt(Math.floor(Math.random()*this.randomChars.length));\n }\n this.confirmSequence = result;\n }\n\n public delete(): void{\n this.modalController.dismiss({\n 'delete': true,\n });\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Child} from '../../models/Child';\nimport {ModalController} from '@ionic/angular';\nimport {UtilityService} from '../../services/utility.service';\nimport {Group} from '../../models/Group';\n\n@Component({\n selector: 'app-group',\n templateUrl: './group.component.html',\n styleUrls: ['./group.component.scss'],\n})\nexport class GroupComponent implements OnInit {\n\n @Input()\n public isAdd: boolean = false;\n\n @Input()\n public group: Group;\n\n constructor(\n public modalController: ModalController,\n public utilityService: UtilityService,\n ) { }\n\n ngOnInit() {\n if(this.group == undefined){\n this.group = new Child();\n }\n }\n\n public save(): void{\n if(this.childIsValid()){\n this.modalController.dismiss({\n 'child': this.group,\n 'isAdd': this.isAdd\n });\n }else{\n this.utilityService.showToast('MODALS.ADD_CHILD.MANDATORY_MISSING', UtilityService.TOAST_STATUS.warning);\n }\n }\n\n private stringIsValid(s: string): boolean{\n return s != undefined && s.length > 0;\n }\n\n public childIsValid(): boolean{\n return this.stringIsValid(this.group.name);\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from \"@ionic/angular\";\nimport {TemplateService} from \"../../services/template.service\";\nimport {Template} from '../../models/Template';\nimport {TemplateColor} from '../../models/TemplateColor';\n\n@Component({\n selector: 'app-mobile-design-select',\n templateUrl: './mobile-design-select.component.html',\n styleUrls: ['./mobile-design-select.component.scss'],\n})\nexport class MobileDesignSelectComponent implements OnInit {\n\n public templates: {template: Template, colors: {color: TemplateColor, image: any}[]}[] = [];\n @Input()\n public selectedTemplateId: string;\n @Input()\n public selectedColor: string = '';\n @Input()\n public mode: string = 'folder';\n\n constructor(\n private templateService: TemplateService,\n public modalController: ModalController\n ) {\n }\n\n ngOnInit() {\n if (this.mode == 'folder'){\n if(this.templateService.templatesFolder.length < 1){\n this.templateService.queryTemplate();\n }\n this.templates = this.templateService.templatesFolder;\n }else{\n if(this.templateService.templatesPages.length < 1){\n this.templateService.queryTemplate();\n }\n this.templates = this.templateService.templatesPages;\n }\n this.templateService.templateUpdateEvent.subscribe(() => {\n if (this.mode == 'folder') {\n this.templates = this.templateService.templatesFolder;\n }else{\n this.templates = this.templateService.templatesPages;\n }\n });\n }\n\n public selectedTemplateChange(event: any): void{\n this.selectedTemplateId = event.target.value;\n console.log(this.selectedTemplateId);\n }\n\n public close(colorId: string): void{\n this.modalController.dismiss({\n selectedColor: colorId,\n });\n }\n\n public abort(): void{\n this.modalController.dismiss(undefined);\n }\n\n public getSelectedTemplate(): {template: Template, colors: {color: TemplateColor, image: any}[]}{\n if(this.templates != undefined && this.templates.find(x => x.template.id == this.selectedTemplateId) != undefined){\n return this.templates.find(x => x.template.id == this.selectedTemplateId);\n }\n return {template: undefined, colors: []};\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit} from '@angular/core';\nimport {AlertController, ModalController} from '@ionic/angular';\nimport {Project} from '../../models/Project';\nimport {Child} from '../../models/Child';\nimport {ChildService} from '../../services/child.service';\nimport {ProjectService} from '../../services/project.service';\nimport {UtilityService} from '../../services/utility.service';\nimport {GenericResponse} from '../../models/GenericResponse';\nimport {TranslateService} from '@ngx-translate/core';\nimport {SpinnerService} from '../../services/spinner.service';\nimport {GroupService} from '../../services/group.service';\nimport {Group} from '../../models/Group';\n\n@Component({\n selector: 'app-page-download-selection',\n templateUrl: './page-download-selection.component.html',\n styleUrls: ['./page-download-selection.component.scss'],\n})\nexport class PageDownloadSelectionComponent implements OnInit {\n\n @Input()\n public children: Child[] = [];\n @Input()\n public isDelete: boolean = false;\n @Input()\n public isEdit: boolean = false;\n\n @Input()\n public preselectedIds: string[] = [];\n\n public selectedMonth: string;\n\n public pages: {child: Child, groupId: string, pages: Project[], expanded: boolean}[] = [];\n public displayPages: {child: Child, groupId: string, pages: Project[], expanded: boolean}[] = [];\n public selectedIds: string[] = [];\n public filterContent: string;\n private childLoadCounter = 0;\n public loading = false;\n public progressCalc: number = 0;\n\n private childLoadEvent: EventEmitter = new EventEmitter();\n\n constructor(\n private modalController: ModalController,\n private childService: ChildService,\n private projectService: ProjectService,\n private utilityService: UtilityService,\n private translate: TranslateService,\n private alertController: AlertController,\n private spinnerService: SpinnerService,\n private groupService: GroupService,\n ) { }\n\n ngOnInit() {\n }\n\n async ionViewWillEnter(): Promise{\n if(this.children == undefined || this.children.length < 1){\n this.utilityService.showToast('MODALS.DOWNLOAD_FOR_MULTIPLE.CHILDREN_EMPTY', UtilityService.TOAST_STATUS.danger);\n this.close();\n return;\n }\n\n this.selectedIds = [];\n this.pages = [];\n this.displayPages = [];\n this.selectedMonth = `${new Date().getFullYear()}-${new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1}`;\n\n this.childLoadCounter = 0;\n this.childLoadEvent.subscribe(() => {\n if(this.childLoadCounter >= this.children.length){\n this.childLoadCounter = 0;\n this.loading = false;\n this.pages = this.pages.sort((a,b) => a.child.name.localeCompare(b.child.name));\n this.displayPages = this.displayPages.sort((a,b) => a.child.name.localeCompare(b.child.name));\n }\n });\n this.loading = true;\n for(let c of this.children){\n this.loadPagesForChild(c);\n }\n if(this.preselectedIds != undefined && this.preselectedIds.length > 0){\n this.selectedIds = this.preselectedIds;\n }\n if(this.preselectedIds != undefined && this.preselectedIds.length > 0){\n this.selectedIds = this.preselectedIds;\n }\n }\n\n private async loadPagesForChild(child: Child): Promise {\n this.projectService.getAllPagesByChild(child.daycareId, child.id).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if (res != undefined && res.status != undefined && res.status == 200) {\n let pages = res.body;\n if(this.isEdit || this.isDelete){\n pages = pages.filter(x => x.currentState == 'project.state.in.progress');\n }\n this.pages.push({child: child, groupId: child.groupId, pages: pages, expanded: false});\n this.displayPages.push({child: child, groupId: child.groupId, pages: pages, expanded: false});\n }\n this.childLoadCounter++;\n this.progressCalc = (this.childLoadCounter / this.children.length) * 100;\n this.childLoadEvent.next();\n });\n\n }\n\n public getPagesForChild(childId: string): {page1: Project, page2: Project}[]{\n let pages = this.getUnmappedPagesForChild(childId);\n let toReturn: {page1: Project, page2: Project}[] = [];\n\n for(let p of pages.filter(x => x?.pagePosition != undefined && x?.pagePosition % 2 != 0)){\n toReturn.push({page1: p, page2: pages.find(x => x?.pagePosition == p?.pagePosition + 1)});\n }\n\n return toReturn;\n }\n\n private getUnmappedPagesForChild(childId: string): Project[]{\n if ((this.filterContent == undefined || this.filterContent.length < 1) && !this.isEdit){\n return this.displayPages.find(x => x.child.id == childId).pages.filter(x => new Date(x.tstamp).getFullYear() == new Date(this.selectedMonth).getFullYear() && new Date(x.tstamp).getMonth() == new Date(this.selectedMonth).getMonth());\n }else{\n return this.displayPages.find(x => x.child.id == childId).pages;\n }\n }\n\n public selectAll(): void{\n for(let c of this.displayPages){\n for(let p of this.getUnmappedPagesForChild(c.child.id)){\n if(this.selectedIds.indexOf(p.id) < 1){\n this.selectedIds.push(p.id);\n }\n }\n }\n }\n\n public deselectAll(): void{\n this.selectedIds = [];\n }\n\n public isSelected(pageObj: {page1: Project, page2: Project}): boolean{\n if(pageObj.page1 != undefined){\n return this.selectedIds.indexOf(pageObj.page1.id) > -1;\n }\n if(pageObj.page2 != undefined){\n return this.selectedIds.indexOf(pageObj.page2.id) > -1;\n }\n return false;\n }\n\n public pageSelection(pageObj: {page1: Project, page2: Project}): void{\n if(pageObj.page1 != undefined){\n if(this.selectedIds.indexOf(pageObj.page1.id) > -1){\n this.selectedIds.splice(this.selectedIds.indexOf(pageObj.page1.id), 1);\n }else{\n this.selectedIds.push(pageObj.page1.id);\n }\n }\n if(pageObj.page2 != undefined){\n if(this.selectedIds.indexOf(pageObj.page2.id) > -1){\n this.selectedIds.splice(this.selectedIds.indexOf(pageObj.page2.id), 1);\n }else{\n this.selectedIds.push(pageObj.page2.id);\n }\n }\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n public monthSelection(event): void{\n this.selectedIds = [];\n this.doFilter();\n }\n\n public async download(): Promise {\n if(this.isDelete) return;\n if (this.selectedIds != undefined && this.selectedIds.length > 0) {\n let loadingText = 'collecting data';\n await this.translate.get('MODALS.SPINNER.COLLECTING_DATA').toPromise()\n .then(res => {\n loadingText = res;\n })\n this.spinnerService.open(loadingText);\n await this.projectService.printMultipleProjects(this.selectedIds, ProjectService.PROJECT_TYPES.PROJECT_TYPE_PAGE.key).toPromise()\n .catch(err => {\n this.spinnerService.close();\n this.utilityService.logError(err);\n this.utilityService.showToast('TOASTS.FILE_CREATION_FAILED', UtilityService.TOAST_STATUS.danger);\n })\n .then(async res => {\n this.spinnerService.close();\n if (res != undefined && res.body != undefined && res.status != undefined && res.status == 200) {\n let blob = new Blob([res.body], {type: 'application/octet-stream'});\n let url = window.URL.createObjectURL(blob);\n let link = document.createElement('a');\n link.setAttribute('type', 'hidden');\n link.href = url;\n let date = new Date();\n let groupId = undefined;\n if(this.pages.find(x => x.groupId != undefined) != undefined){\n groupId = this.pages.find(x => x.groupId != undefined).groupId;\n }\n let foundChildren: Child[] = [];\n for(let p of this.pages){\n for(let id of this.selectedIds){\n if(p.pages.find(x => x.id == id) != undefined){\n if(foundChildren.find(x => x.id == p.child.id) == undefined){\n foundChildren.push(p.child);\n }\n }\n }\n }\n let groupName = 'unnamedGroup';\n if (groupId != undefined) {\n await this.groupService.get(groupId).toPromise()\n .catch(err => {\n console.log(err);\n })\n .then((res: GenericResponse) => {\n if (res != undefined && res.status != undefined && res.body != undefined && res.status == 200) {\n groupName = res.body.name;\n }\n });\n }\n let day = date.getDate() > 9 ? date.getDate() + '' : '0' + date.getDate();\n let month = (date.getMonth() + 1) > 9 ? (date.getMonth() + 1) + '' : '0' + (date.getMonth() + 1);\n let year = date.getFullYear();\n let hours = date.getHours() > 9 ? date.getHours() + '' : '0' + date.getHours();\n let minutes = date.getMinutes() > 9 ? date.getMinutes() + '' : '0' + date.getMinutes();\n let fileName = `${groupName}-${day}-${month}-${year}-${hours}-${minutes}.pdf`; //res.headers.get('correct-filename');\n if(foundChildren.length == 1 && foundChildren[0] != undefined && foundChildren[0].name != undefined){\n fileName = `${foundChildren[0].name}-${fileName}`;\n }\n link.download = fileName;\n document.body.appendChild(link);\n link.click();\n link.remove();\n }\n });\n this.close();\n }\n }\n\n public async delete(): Promise {\n if (!this.isDelete) return;\n if (this.selectedIds != undefined && this.selectedIds.length > 0) {\n let message = 'Delete this page?';\n let yes = 'yes';\n let no = 'no';\n await this.translate.get('MODALS.DOWNLOAD_FOR_MULTIPLE.CONFIRM_DELETE').toPromise()\n .then((res: string) => {\n message = res;\n });\n await this.translate.get('BUTTON.YES').toPromise()\n .then((res: string) => {\n yes = res;\n });\n await this.translate.get('BUTTON.NO').toPromise()\n .then((res: string) => {\n no = res;\n });\n const alert = await this.alertController.create({\n cssClass: 'my-custom-class',\n header: '',\n message: message,\n buttons: [\n {\n text: yes,\n cssClass: 'yes',\n handler: async () => {\n for(let id of this.selectedIds){\n await this.projectService.delete(id).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n });\n }\n this.modalController.dismiss({reload: true});\n },\n },\n {\n text: no,\n cssClass: 'no',\n handler: () => {\n alert.dismiss();\n },\n },\n ],\n });\n\n await alert.present();\n }\n\n }\n\n public doFilter(): void {\n let result: {child: Child, groupId: string, pages: Project[], expanded: boolean}[] = [];\n if(this.filterContent == '' || this.filterContent == undefined){\n for(let p of this.pages){\n let expanded = this.displayPages.find(x => x.child.id == p.child.id)?.expanded;\n result.push({child: p.child, groupId: p.groupId, pages: p.pages, expanded: expanded != undefined ? expanded : false});\n }\n this.displayPages = result;\n return;\n }\n\n for(let p of this.pages){\n let pagesSet: {page1: Project, page2: Project}[] = [];\n\n for(let page of p.pages){\n if(page.pagePosition % 2 == 1){\n let page2 = p.pages.find(x => x.pagePosition == page.pagePosition + 1);\n if((page.name.toLowerCase().includes(this.filterContent.toLowerCase()) || (page2?.name.toLowerCase().includes(this.filterContent.toLowerCase())))){\n pagesSet.push({page1: page, page2});\n }\n }\n }\n let filteredPages = [];\n for(let page of pagesSet){\n filteredPages.push(page.page1);\n filteredPages.push(page.page2);\n }\n let expanded = false;\n if(filteredPages.length > 0){\n expanded = true;\n result.push({child: p.child, groupId: p.groupId, pages: filteredPages, expanded});\n }\n }\n this.displayPages = result;\n\n }\n\n public async doMultiEdit(): Promise {\n let pagesSet: { page1: Project, page2: Project }[] = [];\n\n let pageName1 = '';\n let pageName2 = '';\n let nameDiff = false;\n for (let p of this.pages) {\n for (let id of this.selectedIds) {\n let found = p.pages.find(x => x.id == id);\n if (found != undefined && pagesSet.find(x => x.page1?.id == id || x.page2?.id == id) == undefined) {\n let page2 = p.pages.find(x => x.pagePosition == found.pagePosition + 1);\n pagesSet.push({page1: found, page2});\n }\n }\n }\n\n for (let p of pagesSet) {\n if ((pageName1 != '' && pageName1 != p.page1?.name) || (pageName2 != '' && pageName2 != p.page2?.name)) {\n nameDiff = true;\n }\n pageName1 = p.page1?.name;\n pageName2 = p.page2?.name;\n }\n\n\n if (nameDiff) {\n\n let message = 'The names of the selected pages do not match and the page content might vary. Once saved, the content of all selected pages will be overridden.';\n let yes = 'Edit anyway';\n let no = 'Abort';\n await this.translate.get('MODALS.PAGE_NAMES_MISSMATCH_WARNING.CONTENT').toPromise()\n .then((res: string) => {\n message = res;\n });\n await this.translate.get('MODALS.PAGE_NAMES_MISSMATCH_WARNING.BUTTON_OK').toPromise()\n .then((res: string) => {\n yes = res;\n });\n await this.translate.get('MODALS.PAGE_NAMES_MISSMATCH_WARNING.BUTTON_CANCEL').toPromise()\n .then((res: string) => {\n no = res;\n });\n const alert = await this.alertController.create({\n cssClass: 'my-custom-class',\n header: '',\n message: message,\n buttons: [\n {\n text: yes,\n cssClass: 'yes',\n handler: () => {\n this.modalController.dismiss(pagesSet);\n },\n },\n {\n text: no,\n cssClass: 'no',\n handler: () => {\n alert.dismiss();\n },\n },\n ],\n });\n await alert.present();\n } else {\n this.modalController.dismiss(pagesSet);\n }\n\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {ModalController} from '@ionic/angular';\n\n@Component({\n selector: 'app-page-name-input',\n templateUrl: './page-name-input.component.html',\n styleUrls: ['./page-name-input.component.scss'],\n})\nexport class PageNameInputComponent implements OnInit {\n\n @Input()\n public projectName1: string = '';\n @Input()\n public projectName2: string = '';\n @Input()\n public canClose: boolean = false;\n @Input()\n public templateMode: boolean = false;\n\n constructor(\n private modalController: ModalController,\n ) { }\n\n ngOnInit() {}\n\n public save(): void{\n if(this.projectName1 == undefined || this.projectName1 == ''){\n this.projectName1 = 'unnamed';\n }\n if(this.projectName2 == undefined || this.projectName2 == ''){\n this.projectName2 = 'unnamed';\n }\n this.modalController.dismiss({projectName1: this.projectName1, projectName2: this.projectName2});\n }\n\n public close(): void{\n if(this.canClose){\n this.modalController.dismiss({close: true});\n }\n }\n\n}\n","import {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {ColorPickerModule} from \"ngx-color-picker\";\nimport {CommonModule} from \"@angular/common\";\nimport { NgModule } from '@angular/core';\nimport {NgxFileDropModule} from \"ngx-file-drop\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {DeleteProfileConfirmComponent} from './delete-profile-confirm/delete-profile-confirm.component';\nimport {ChildComponent} from './child/child.component';\nimport {GroupComponent} from './group/group.component';\nimport {MobileDesignSelectComponent} from './mobile-design-select/mobile-design-select.component';\nimport {TabletEditorMenuComponent} from './tablet-editor-menu/tablet-editor-menu.component';\nimport {ChildSelectionComponent} from './child-selection/child-selection.component';\nimport {IonicModule} from '@ionic/angular';\nimport {PageDownloadSelectionComponent} from './page-download-selection/page-download-selection.component';\nimport {PageNameInputComponent} from './page-name-input/page-name-input.component';\nimport {ConsentComponentComponent} from './consent-component/consent-component.component';\nimport {TemplateCategorySelectionComponent} from './template-category-selection/template-category-selection.component';\nimport {CustomTemplateCategoryComponent} from './custom-template-category/custom-template-category.component';\n\n@NgModule({\n declarations: [\n ConsentComponentComponent,\n DeleteProfileConfirmComponent,\n ChildComponent,\n GroupComponent,\n MobileDesignSelectComponent,\n TabletEditorMenuComponent,\n ChildSelectionComponent,\n PageDownloadSelectionComponent,\n PageNameInputComponent,\n TemplateCategorySelectionComponent,\n CustomTemplateCategoryComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n NgxFileDropModule,\n ColorPickerModule,\n IonicModule,\n ],\n})\nexport class SharedModule {}\n","import {Component, OnInit} from '@angular/core';\nimport {ModalController} from \"@ionic/angular\";\n\n@Component({\n selector: 'app-tablet-editor-menu',\n templateUrl: './tablet-editor-menu.component.html',\n styleUrls: ['./tablet-editor-menu.component.scss'],\n})\nexport class TabletEditorMenuComponent implements OnInit {\n\n constructor(\n public modalController: ModalController\n ) {}\n\n // tslint:disable-next-line:no-empty\n ngOnInit() {\n }\n\n public close(action: string = ''): void{\n this.modalController.dismiss({\n 'action': action,\n });\n }\n\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {TemplateService} from '../../services/template.service';\nimport {ModalController} from '@ionic/angular';\n\n@Component({\n selector: 'app-template-category-selection',\n templateUrl: './template-category-selection.component.html',\n styleUrls: ['./template-category-selection.component.scss'],\n})\nexport class TemplateCategorySelectionComponent implements OnInit {\n @Input() public hasAllOption: boolean = false;\n @Input() public hasCustomOption: boolean = false;\n\n public loading: boolean = false;\n public categories: string[] = [];\n public displayCategories: string[] = [];\n public filterContent: string = '';\n\n constructor(\n private modalController: ModalController,\n private templateService: TemplateService,\n ) { }\n\n ngOnInit() {\n this.categories = [];\n }\n\n async ionViewWillEnter(): Promise {\n this.loading = true;\n await this.loadCategories();\n this.doFilter();\n this.loading = false;\n }\n\n private async loadCategories(): Promise {\n this.categories = await this.templateService.getCategories();\n }\n\n public close(): void{\n this.modalController.dismiss();\n }\n\n public doFilter(): void {\n this.displayCategories = this.categories.filter(x => x.toLowerCase().includes(this.filterContent.toLowerCase()));\n }\n\n public selectItem(item, specialType: string = undefined): void {\n this.modalController.dismiss({item, specialType});\n }\n\n}\n","import {CanActivate, Router} from '@angular/router';\nimport {AuthService} from \"../services/auth.service\";\nimport {DataService} from \"../services/data.service\";\nimport {HttpErrorResponse} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from \"../models/GenericResponse\";\nimport {SettingsService} from '../services/settings.service';\nimport {UtilityService} from '../services/utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuardService implements CanActivate {\n\n private session;\n private tokenCheckIntervalInMs = 15000;\n\n constructor(\n private router: Router,\n private authService: AuthService,\n private dataService: DataService,\n private settingsService: SettingsService,\n private utils: UtilityService\n ) {\n }\n\n public canActivate(): Observable {\n\n if (this.settingsService.maintenanceMode) {\n return new Observable((observer) => {\n observer.next(false);\n observer.complete();\n });\n }\n\n\n const token = this.dataService.getClearToken();\n if (token === undefined || token === null || token === '') {\n this.authService.logout();\n this.stopLoginSession();\n return new Observable((observer) => {\n observer.next(false);\n observer.complete();\n });\n }\n\n return new Observable((observer) => {\n this.authService.checkTokenValidation().subscribe({\n error: (err: HttpErrorResponse) => {\n // tslint:disable-next-line:no-console\n console.log(err);\n if(err.status == 401){\n this.authService.logout();\n this.stopLoginSession();\n }\n observer.next(false);\n },\n next: (response: GenericResponse) => {\n if (response.status === 200) {\n this.dataService.setToken(response.token);\n this.authService.loggedInEvent.next();\n observer.next(true);\n } else if(response.status == 401){\n this.authService.logout();\n this.stopLoginSession();\n observer.next(false);\n }else{\n this.utils.showToast(\"TOASTS.TOKEN_VALIDATION_UNKNOWN_ERROR\", UtilityService.TOAST_STATUS.warning, 20000);\n observer.next(false);\n }\n },\n complete: () => {\n observer.complete();\n },\n });\n });\n }\n\n public startLoginSession(): void {\n // this.checkToken();\n }\n\n public stopLoginSession(): void {\n if (this.session != undefined) {\n clearInterval(this.session);\n }\n }\n\n private checkToken(): void {\n this.session = setInterval(async () => {\n this.canActivate().subscribe();\n }, this.tokenCheckIntervalInMs);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {UtilityService} from '../services/utility.service';\nimport {Observable, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {AuthService} from '../services/auth.service';\n\n@Injectable()\nexport class HttpErrorInterceptor implements HttpInterceptor{\n\n constructor(\n private utils: UtilityService,\n private authService: AuthService\n ) {\n }\n intercept(req: HttpRequest, next: HttpHandler): Observable {\n return next.handle(req).pipe(catchError(error => {\n if (error.status === 400) {\n // Show message\n this.utils.showToast(\"TOASTS.TOKEN_VALIDATION_UNKNOWN_ERROR\", UtilityService.TOAST_STATUS.warning, 20000);\n }\n\n // Invalid token error\n else if (error.status === 401) {\n // do TokenRefresh https://stackoverflow.com/questions/45202208/angular-4-interceptor-retry-requests-after-token-refresh\n }\n\n // Access denied error\n else if (error.status === 403) {\n // Show message\n }\n\n // Server error\n else if (error.status === 500) {\n // Show message\n this.utils.showToast(\"TOASTS.TOKEN_VALIDATION_UNKNOWN_ERROR\", UtilityService.TOAST_STATUS.warning, 20000);\n }\n\n // Maintenance error\n else if (error.status === 503) {\n // Show message\n // Redirect to the maintenance page\n }\n\n return throwError(error);\n }));\n }\n}\n","export class Child{\n public id: string;\n public daycareId: string;\n public groupId: string;\n public name: string;\n public birthdate: string = '';\n public startYear: string = '';\n public endYear: string = '';\n public createdAt: any;\n public updatedAt: any;\n}\n","import {environment} from '../../environments/environment';\n\nconst API_URL = environment.backendURL;\n\nexport const CHILD_ROUTE = `${API_URL}/child`;\nexport const GROUP_ROUTE = `${API_URL}/group`;\nexport const PROJECT_ROUTE = `${API_URL}/project`;\nexport const USER_ROUTE = `${API_URL}/user`;\nexport const TEMPLATE_ROUTE = `${API_URL}/template`;\nexport const SETTINGS_ROUTE = `${API_URL}/settings`;\nexport const DAYCARE_ROUTE = `${API_URL}/daycare`;\nexport const INSTITUTION_ROUTE = `${API_URL}/institution`;\nexport const FILE_ROUTE = `${API_URL}/file`;\nexport const PURCHASE_ROUTE = `${API_URL}/purchase`;\nexport const PRODUCT_ROUTE = `${API_URL}/product`;\nexport const CLIPART_ROUTE = `${API_URL}/clipart`;\n\n","import * as Routes from './Routes';\nimport {EventEmitter, Injectable} from '@angular/core';\nimport {DataService} from './data.service';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport {UtilityService} from './utility.service';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {Registration} from \"../models/Registration\";\nimport {DaycareService} from './daycare.service';\nimport {UserService} from './user.service';\nimport {InstitutionService} from './institution.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n public loggedInEvent: EventEmitter = new EventEmitter();\n\n constructor(\n private dataService: DataService,\n private http: HttpClient,\n private router: Router,\n private utilityService: UtilityService,\n private daycareService: DaycareService,\n private userService: UserService,\n private institutionService: InstitutionService) { }\n\n\n public login(email: string, password: string): Observable> {\n return this.http.post>(`${Routes.USER_ROUTE}/login/`, {email, password}, this.dataService.getHttpOptions());\n }\n\n public logout(): void {\n this.dataService.clearToken();\n this.daycareService.selfDaycare = undefined;\n this.userService.self = undefined;\n this.institutionService.selfInstitution = undefined;\n this.router.navigate(['/login']);\n }\n\n public checkTokenValidation(): Observable> {\n return this.http.post>(`${Routes.USER_ROUTE}/token/validate/`, {}, this.dataService.getHttpOptions());\n }\n\n public register(user: Registration): Observable> {\n return this.http.post>(`${Routes.USER_ROUTE}/registration/`, user, this.dataService.getHttpOptions());\n }\n\n public activateViaToken(token: string): Observable>{\n return this.http.post>(`${Routes.USER_ROUTE}/activate/${token}/`, {}, this.dataService.getHttpOptions());\n }\n\n public resetPassword(email: string): Observable> {\n return this.http.post>(`${Routes.USER_ROUTE}/resetPassword/`, {email}, this.dataService.getHttpOptions());\n }\n\n public resetPasswordConfirm(password: string, token: string): Observable> {\n return this.http.post>(\n `${Routes.USER_ROUTE}/resetPassword/confirm/`,\n {passwordResetToken: token, newPassword:password},\n this.dataService.getHttpOptions()\n );\n }\n\n public async refreshToken(): Promise{\n let success = false;\n await this.http.post>(`${Routes.USER_ROUTE}/refreshToken`, {}, this.dataService.getHttpOptions()).toPromise()\n .catch(() => {\n this.utilityService.showToast('TOASTS.TOKEN_REFRESH_FAILED', UtilityService.TOAST_STATUS.warning);\n })\n .then((res: GenericResponse) => {\n if(res.token != undefined && res.token.length > 0){\n this.dataService.setToken(res.token);\n success = true;\n }\n });\n return success;\n }\n}\n","import {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\n\nexport class BasicService {\n\n public routeBase : string = '';\n\n private data: DataService;\n private h: HttpClient;\n\n constructor(dataService: DataService, http: HttpClient, route: string) {\n this.data = dataService;\n this.h = http;\n this.routeBase = route;\n }\n\n\n\n public create(obj: T): Observable> {\n return this.h.post>(`${this.routeBase}/`, obj, this.data.getHttpOptions());\n }\n public update(obj: T): Observable> {\n let id = undefined;\n if(obj.hasOwnProperty('id')){\n // @ts-ignore\n id = obj.id;\n }\n return this.h.put>(`${this.routeBase}/${id}/`, obj, this.data.getHttpOptions());\n }\n public delete(id: string): Observable> {\n return this.h.delete>(`${this.routeBase}/${id}/`, this.data.getHttpOptions());\n }\n public get(id: string): Observable> {\n return this.h.get>(`${this.routeBase}/${id}/`, this.data.getHttpOptions());\n }\n public getAll(): Observable> {\n return this.h.get>(`${this.routeBase}/all/all/`, this.data.getHttpOptions());\n }\n}\n","import { Injectable } from '@angular/core';\nimport {BasicService} from './basic.service';\nimport {Child} from '../models/Child';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\nimport {UserService} from './user.service';\nimport {UtilityService} from './utility.service';\nimport * as Routes from './Routes';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChildService extends BasicService{\n\n constructor(\n private dataService: DataService,\n private http: HttpClient,\n ) {\n super(dataService, http, Routes.CHILD_ROUTE);\n }\n\n public getAllByDaycareId(daycareId: string): Observable> {\n return this.http.get>(`${Routes.CHILD_ROUTE}/all/all/${daycareId}/`, this.dataService.getHttpOptions());\n }\n\n public getAllByGroup(daycareId: string, groupId: string): Observable>{\n return this.http.get>(`${Routes.CHILD_ROUTE}/all/all/${daycareId}/byGroup/${groupId}/`, this.dataService.getHttpOptions());\n }\n\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataService {\n\n private tokenObs: BehaviorSubject = new BehaviorSubject('');\n private token: string;\n\n constructor() {\n this.setToken(localStorage.getItem('token'));\n this.tokenObs.subscribe(token => {\n this.token = token;\n });\n }\n\n public getHttpOptions(): object {\n if (this.token === '' || this.token === undefined || this.token === null || this.token === 'null') {\n return {\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Access-Control-Allow-Origin': '*',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'X-Auth-Token': '',\n },\n };\n } else {\n return {\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Access-Control-Allow-Origin': '*',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'X-Auth-Token': this.token,\n },\n };\n }\n\n }\n public getHttpOptionsDownload(): object {\n if (this.token === '' || this.token === undefined || this.token === null || this.token === 'null') {\n return {\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Access-Control-Allow-Origin': '*',\n },\n responseType: 'blob',\n observe: 'response',\n };\n } else {\n return {\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'Access-Control-Allow-Origin': '*',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'X-Auth-Token': this.token,\n },\n responseType: 'blob',\n observe: 'response',\n };\n }\n\n }\n\n public setToken(token: string): void {\n localStorage.setItem('token', token);\n this.tokenObs.next(token);\n this.token = token;\n }\n\n public clearToken(): void {\n localStorage.removeItem('token');\n this.tokenObs.next(undefined);\n this.token = undefined;\n }\n\n public getTokenObs(): Observable {\n return this.tokenObs;\n }\n\n public getClearToken(): string {\n return this.token;\n }\n\n public hasToken(): boolean {\n return this.token != undefined && this.token.length > 0 && this.token != 'undefined' && this.token != 'null';\n }\n\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {BasicService} from './basic.service';\nimport {Daycare} from '../models/Daycare';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\nimport * as Routes from './Routes';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {UserService} from './user.service';\nimport {UtilityService} from './utility.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DaycareService extends BasicService{\n\n private checkDaycareInterval;\n public selfDaycare : Daycare = undefined;\n private hasPermission: boolean = true;\n public daycareLoadedEvent: EventEmitter = new EventEmitter();\n\n constructor(\n private dataService: DataService,\n private http: HttpClient,\n private userService: UserService,\n private utilityService: UtilityService,\n ) {\n super(dataService, http, Routes.DAYCARE_ROUTE);\n\n if(this.userService.self != undefined){\n\n // this.daycareQuery();\n this.get(this.userService.self.daycareId).toPromise()\n .catch(err => {\n if(err.status == 403){\n this.hasPermission = false;\n }\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n this.selfDaycare = res.body;\n this.daycareLoadedEvent.next();\n }\n });\n\n }else{\n\n this.userService.userLoadEvent.subscribe(() => {\n\n if(this.selfDaycare == undefined){\n // this.daycareQuery();\n this.get(this.userService.self.daycareId).toPromise()\n .catch(err => {\n if(err.status == 403){\n this.hasPermission = false;\n }\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n this.selfDaycare = res.body;\n this.daycareLoadedEvent.next();\n }\n });\n }\n\n });\n\n }\n\n }\n\n public daycareQuery(): void{\n let that = this;\n this.checkDaycareInterval = setInterval(() => {\n if(that.hasPermission){\n let token = that.dataService.getClearToken();\n if(token != undefined && token.length > 0 && that.userService.self != undefined && that.userService.self.daycareId != undefined){\n that.get(that.userService.self.daycareId).toPromise()\n .catch(err => {\n if(err.status == 403){\n that.hasPermission = false;\n }\n that.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n that.selfDaycare = res.body;\n that.daycareLoadedEvent.next();\n }\n });\n }\n }else{\n clearInterval(this.checkDaycareInterval);\n }\n }, 15000);\n }\n\n public reloadDaycare(): void {\n if(this.userService.self?.daycareId != undefined){\n this.doReload();\n }else{\n let subscr = this.userService.userLoadEvent.subscribe(() => {\n this.doReload();\n subscr.unsubscribe();\n });\n }\n }\n\n private doReload(): void {\n\n this.get(this.userService.self.daycareId).toPromise()\n .catch(err => {\n if(err.status == 403){\n this.hasPermission = false;\n }\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n this.selfDaycare = res.body;\n this.daycareLoadedEvent.next();\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {DataService} from './data.service';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {HttpClient} from '@angular/common/http';\nimport {AuthGuardService} from '../guards/authGuard.service';\nimport {UtilityService} from './utility.service';\nimport {Observable} from 'rxjs';\nimport * as Routes from './Routes';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileService {\n\n constructor(\n private dataService: DataService,\n private sanitizer: DomSanitizer,\n private http: HttpClient,\n private authGuard: AuthGuardService,\n private utilityService: UtilityService\n ) { }\n\n public upload(file): Observable<{ id: string }>{\n const formData = new FormData();\n formData.append('file', file, file.name);\n return this.http.post<{ id: string }>(`${Routes.FILE_ROUTE}/`, formData, this.dataService.getHttpOptions());\n }\n\n public uploadBlob(blob: Blob): Observable<{ id: string }>{\n const formData = new FormData();\n formData.append('file', blob, `${(new Date()).getTime()}-screenshot.jpg`);\n return this.http.post<{ id: string }>(`${Routes.FILE_ROUTE}/`, formData, this.dataService.getHttpOptions());\n }\n\n public getFile(fileId: string): Observable{\n return this.http.get(`${Routes.FILE_ROUTE}/${fileId}/`, this.dataService.getHttpOptionsDownload());\n }\n}\n","import { Injectable } from '@angular/core';\nimport {BasicService} from './basic.service';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\nimport * as Routes from './Routes';\nimport {Group} from '../models/Group';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {Child} from '../models/Child';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupService extends BasicService{\n\n constructor(\n private dataService: DataService,\n private http: HttpClient,\n ) {\n super(dataService, http, Routes.GROUP_ROUTE);\n }\n\n public getAllByDaycareId(daycareId: string): Observable> {\n return this.http.get>(`${Routes.GROUP_ROUTE}/all/all/${daycareId}/`, this.dataService.getHttpOptions());\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {BasicService} from './basic.service';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\nimport * as Routes from './Routes';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {Institution} from '../models/Institution';\nimport {DaycareService} from './daycare.service';\nimport {UtilityService} from './utility.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InstitutionService extends BasicService{\n\n private checkInstitutionInterval;\n public selfInstitution : Institution = undefined;\n private hasPermission: boolean = true;\n public institutionLoadedEvent: EventEmitter = new EventEmitter();\n\n constructor(\n private dataService: DataService,\n private http: HttpClient,\n private daycareService: DaycareService,\n private utilityService: UtilityService,\n ) {\n super(dataService, http, Routes.INSTITUTION_ROUTE);\n /*\n this.institutionQuery();\n this.daycareService.daycareLoadedEvent.subscribe(() => {\n if(this.selfInstitution == undefined){\n this.get(this.daycareService.selfDaycare.institutionId).toPromise()\n .catch(err => {\n if(err.status == 403){\n this.hasPermission = false;\n }\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n this.selfInstitution = res.body;\n this.institutionLoadedEvent.next();\n }\n });\n }\n });\n */\n }\n\n public institutionQuery(): void{\n let that = this;\n this.checkInstitutionInterval = setInterval(() => {\n if(that.hasPermission){\n let token = that.dataService.getClearToken();\n if(token != undefined && token.length > 0 && that.daycareService.selfDaycare != undefined && that.daycareService.selfDaycare.institutionId != undefined){\n that.get(that.daycareService.selfDaycare.institutionId).toPromise()\n .catch(err => {\n if(err.status == 403){\n that.hasPermission = false;\n }\n that.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.body != undefined){\n that.selfInstitution = res.body;\n that.institutionLoadedEvent.next();\n }\n });\n }\n }else{\n clearInterval(this.checkInstitutionInterval);\n }\n }, 15000);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {BasicService} from './basic.service';\nimport {Project} from '../models/Project';\nimport {HttpClient} from '@angular/common/http';\nimport {DataService} from './data.service';\nimport * as Routes from './Routes';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {TemplateArea} from '../models/TemplateArea';\nimport {ProjectItem} from '../models/ProjectItem';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProjectService extends BasicService{\n\n public static PROJECT_TYPES = {\n PROJECT_TYPE_PAGE: {\n key: \"project.type.page\",\n name: \"Seite\",\n },\n PROJECT_TYPE_BINDER: {\n key: \"project.type.binder\",\n name: \"Ordner\",\n },\n PROJECT_TYPE_TEMPLATE: {\n key: \"project.type.template\",\n name: \"Template\",\n }\n };\n\n public static PROJECT_STATES = {\n PROJECT_STATE_WORK_IN_PROGRESS: {\n key: \"project.state.in.progress\",\n name: \"FOLDER_STATES.PROJECT_STATE_WORK_IN_PROGRESS\"\n },\n PROJECT_STATE_READY_TO_PRINT: {\n key: \"project.state.ready.to.print\",\n name: \"FOLDER_STATES.PROJECT_STATE_READY_TO_PRINT\"\n },\n PROJECT_STATE_ORDERED: {\n key: \"project.state.ordered\",\n name: \"FOLDER_STATES.PROJECT_STATE_ORDERED\"\n },\n PROJECT_STATE_DISPATCHED: {\n key: \"project.state.dispatched\",\n name: \"FOLDER_STATES.PROJECT_STATE_DISPATCHED\"\n },\n PROJECT_STATE_FINAL: {\n key: \"project.state.final\",\n name: \"FOLDER_STATES.PROJECT_STATE_FINAL\"\n }\n };\n\n constructor(\n private http: HttpClient,\n private dataService: DataService\n ) {\n super(dataService, http, Routes.PROJECT_ROUTE);\n }\n\n public getAllPagesByChild(daycareId: string, childId: string): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/all/${daycareId}/${childId}/${ProjectService.PROJECT_TYPES.PROJECT_TYPE_PAGE.key}/`, this.dataService.getHttpOptions());\n }\n public getAllFoldersByChild(daycareId: string, childId: string): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/all/${daycareId}/${childId}/${ProjectService.PROJECT_TYPES.PROJECT_TYPE_BINDER.key}/`, this.dataService.getHttpOptions());\n }\n\n public getAllTemplatePages(): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/allByType/${ProjectService.PROJECT_TYPES.PROJECT_TYPE_TEMPLATE.key}/`, this.dataService.getHttpOptions());\n }\n\n\n public getProjectItem(itemId: string, projectId: string): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/${projectId}/item/${itemId}/`, this.dataService.getHttpOptions());\n }\n\n public getAllProjectItems(projectId: string): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/${projectId}/item/all/all/`, this.dataService.getHttpOptions());\n }\n\n public createProjectItem(item: ProjectItem): Observable>{\n return this.http.post>(`${Routes.PROJECT_ROUTE}/${item.projectId}/item/`,\n item, this.dataService.getHttpOptions());\n }\n\n public updateProjectItem(item: ProjectItem): Observable>{\n return this.http.put>(`${Routes.PROJECT_ROUTE}/${item.projectId}/item/${item.id}/`,\n item, this.dataService.getHttpOptions());\n }\n\n public deleteProjectItem(item: ProjectItem): Observable>{\n return this.http.delete>(`${Routes.PROJECT_ROUTE}/${item.projectId}/item/${item.id}/`,\n this.dataService.getHttpOptions());\n }\n\n public getCurrentMemoryUsage(daycareId: string): Observable>{\n return this.http.get>(`${Routes.PROJECT_ROUTE}/memory-usage/${daycareId}/calculate/`,\n this.dataService.getHttpOptions());\n }\n\n public printSingleProject(projectId: string, type: string): Observable{\n return this.http.post(`${Routes.PROJECT_ROUTE}/preprint/`, {type, projectsToPrint: [projectId], useSelfPrintTemplate: true}, this.dataService.getHttpOptionsDownload());\n }\n\n public printMultipleProjects(projectIds: string[], type: string): Observable{\n return this.http.post(`${Routes.PROJECT_ROUTE}/preprint/`, {type, projectsToPrint: projectIds, useSelfPrintTemplate: true}, this.dataService.getHttpOptionsDownload());\n }\n\n public getPageCount(groupId: string): Observable{\n return this.http.get(`${Routes.PROJECT_ROUTE}/page-count/${groupId}/`,\n this.dataService.getHttpOptions());\n }\n\n public updateBatch(projects: Project[]): Observable>{\n return this.http.put>(`${Routes.PROJECT_ROUTE}/update/batch/`,\n projects, this.dataService.getHttpOptions());\n }\n\n public copyToChildren(projectId: string, childIds: string[]): Observable>{\n return this.http.post>(`${Routes.PROJECT_ROUTE}/${projectId}/copyToChildren/`, childIds, this.dataService.getHttpOptions());\n }\n\n public async getCurrentSiteQuotaUsage(daycareId: string, year: string | number): Promise<{year: string | number, total: number, current: number}>{\n let response = undefined;\n await this.http.get>(`${Routes.PROJECT_ROUTE}/site-quota/${daycareId}/${year}/calculate`, this.dataService.getHttpOptions()).toPromise()\n .then((res: GenericResponse<{year: string | number, total: number, current: number}>) => {\n if(res?.status == 200 && res?.body != undefined){\n response = res.body;\n }\n });\n return response;\n }\n}\n","import * as ROUTES from \"./Routes\";\nimport {EventEmitter, Injectable} from '@angular/core';\nimport {UtilityService} from './utility.service';\nimport {DataService} from './data.service';\nimport {HttpClient} from '@angular/common/http';\nimport {BasicService} from './basic.service';\nimport {Setting} from '../models/Setting';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SettingsService extends BasicService{\n\n public static CAPTCHA_KEY = \"captcha.key\";\n public static SETTING_EDITOR_DEBUG_MODE = \"editor.debug_mode\";\n public static SETTING_EDITOR_HELP_URL = \"editor.helpurl\";\n public static MAINTENANCE_KEY = 'maintenance.mode';\n public static PAGE_FREE_SHIP_AMOUNT = 'page.free_ship.amount';\n public static EDITOR_TEXTBOX_BREAK_AT_LETTER = 'editor.textbox.break_at_letter';\n public static EDITOR_CUSTOM_TEMPLATE_DEFAULT_TEMPLATE = 'editor.custom_template.default_template';\n public recaptchaKey: string = '';\n public captchaKeyEvent: EventEmitter = new EventEmitter();\n public maintenanceEvent: EventEmitter = new EventEmitter();\n public maintenanceMode: boolean = false;\n public pageFreeShipAmount: number = 200;\n public breakAtLetter: boolean = false;\n\n constructor(\n private http: HttpClient,\n private dataService: DataService,\n private utilityService: UtilityService\n ) {\n super(dataService, http, ROUTES.SETTINGS_ROUTE);\n this.loadCaptcha();\n this.loadMaintenance();\n this.loadPageFreeShipAmount();\n this.loadEditorBreakAtLetter();\n setInterval(() => {\n this.loadMaintenance();\n this.loadPageFreeShipAmount();\n this.loadEditorBreakAtLetter();\n }, 60000);\n }\n\n public get(key: string): Observable>{\n return this.http.get>(`${ROUTES.SETTINGS_ROUTE}/byKey/${key}/`, this.dataService.getHttpOptions())\n }\n\n public loadPageFreeShipAmount(): void{\n\n if(this.dataService.hasToken()){\n\n this.get(SettingsService.PAGE_FREE_SHIP_AMOUNT).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.status != undefined && res.body != undefined && res.status == 200){\n this.pageFreeShipAmount = +res.body.value;\n }\n });\n }\n }\n\n public loadEditorBreakAtLetter(): void{\n\n if(this.dataService.hasToken()) {\n this.get(SettingsService.EDITOR_TEXTBOX_BREAK_AT_LETTER).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n })\n .then((res: GenericResponse) => {\n if (res != undefined && res.status != undefined && res.body != undefined && res.body.value != undefined && res.status == 200) {\n this.breakAtLetter = res.body.value == 'true';\n }\n });\n }\n }\n public loadCaptcha(): void{\n\n this.get(SettingsService.CAPTCHA_KEY).toPromise()\n .catch(err => {\n this.utilityService.logError(err);\n this.utilityService.showToast('PAGES.REGISTER.LOADING_CAPTCHA_KEY_FAILED', UtilityService.TOAST_STATUS.warning);\n })\n .then((res: GenericResponse) => {\n if(res != undefined && res.status != undefined && res.body != undefined && res.status == 200) {\n this.recaptchaKey = res.body.value;\n this.captchaKeyEvent.next();\n }\n });\n }\n\n public loadMaintenance(): void{\n this.get(SettingsService.MAINTENANCE_KEY).subscribe({\n error: err => {\n this.utilityService.logError(err);\n this.maintenanceMode = false;\n },\n next: (response: GenericResponse) => {\n if (response.status === 200) {\n this.maintenanceMode = response.body.value == 'true';\n } else {\n this.maintenanceMode = false;\n }\n this.maintenanceEvent.next();\n },\n });\n }\n}\n","import {EventEmitter, Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SpinnerService {\n\n public spinnerChangeEvent: EventEmitter = new EventEmitter();\n public spinnerProgressUpdate: EventEmitter = new EventEmitter();\n public spinnerText: string = '';\n public hasProgress: boolean = false;\n public maxProgress: number = 1;\n\n constructor() { }\n\n public open(spinnerText: string = '', hasProgress: boolean = false, maxProgress: number = 1): void{\n this.spinnerText = spinnerText;\n this.hasProgress = hasProgress;\n this.maxProgress = maxProgress;\n this.spinnerChangeEvent.next(true);\n }\n\n public close(): void{\n this.spinnerText = '';\n this.hasProgress = false;\n this.maxProgress = 1;\n this.spinnerChangeEvent.next(false);\n }\n\n public progressUpdate(): void{\n this.spinnerProgressUpdate.next(1);\n }\n\n}\n","import * as Routes from \"./Routes\";\nimport {EventEmitter, Injectable} from '@angular/core';\nimport {Template} from '../models/Template';\nimport {TemplateColor} from '../models/TemplateColor';\nimport {DataService} from './data.service';\nimport {DomSanitizer, SafeUrl} from '@angular/platform-browser';\nimport {HttpClient} from '@angular/common/http';\nimport {AuthGuardService} from '../guards/authGuard.service';\nimport {UtilityService} from './utility.service';\nimport {Observable} from 'rxjs';\nimport {GenericResponse} from '../models/GenericResponse';\nimport {TemplateArea} from '../models/TemplateArea';\nimport {BasicService} from './basic.service';\nimport {FileService} from './file.service';\nimport {ProjectService} from './project.service';\nimport {Project} from '../models/Project';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplateService extends BasicService