{"version":3,"file":"main.js","mappings":"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,CAAAA,UAAA,wBAAK;EACLA,UAAA,CAAAA,UAAA,gCAAS;AACX,CAAC,EAJWA,UAAU,KAAVA,UAAU;;;;;;;;;;;;;;;ACpJtB;AACA;AACA;AAEO,MAAMC,WAAW,GAAG;EACzBC,UAAU,EAAE,KAAK;EACjBC,aAAa,EAAE;CAChB;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;;AChB+C;AAC4B;AAE9B;AACY;AAEzD,IAAIF,kEAAW,CAACC,UAAU,EAAE;EAC1BE,6DAAc,EAAE;AAClB;AAEAC,yFAAsB,EAAE,CAACC,eAAe,CAACtU,sDAAS,CAAC,CAChDuU,KAAK,CAACpL,GAAG,IAAIpB,OAAO,CAACC,GAAG,CAACmB,GAAG,CAAC,CAAC;;;;;;;;;;ACXjC;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;;;;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;;;;;;;;;ACZA;AACA,4CAA4C,mBAAO,CAAC,oEAA0D;AAC9G,kCAAkC,mBAAO,CAAC,6DAAmD;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,6FAA6F,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,MAAM,KAAK,WAAW,WAAW,WAAW,MAAM,KAAK,WAAW,WAAW,MAAM,KAAK,WAAW,WAAW,MAAM,KAAK,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,+BAA+B,gBAAgB,iBAAiB,oBAAoB,8BAA8B,0BAA0B,wBAAwB,KAAK,2BAA2B,uBAAuB,wBAAwB,yBAAyB,kDAAkD,sIAAsI,KAAK,mEAAmE,uCAAuC,oDAAoD,oIAAoI,SAAS,2BAA2B,4BAA4B,+BAA+B,KAAK,+BAA+B,oBAAoB,4BAA4B,0BAA0B,wBAAwB,0BAA0B,wBAAwB,KAAK,uBAAuB;AAC53C;AACA;;;;;;;;;;;ACvCA;AACA,4CAA4C,mBAAO,CAAC,0EAAgE;AACpH,kCAAkC,mBAAO,CAAC,mEAAyD;AACnG;AACA;AACA;AACA;AACA;A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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/constants.ts","./src/app/core/core.module.ts","./src/app/core/guards/page-guard-auth.service.ts","./src/app/core/guards/page-guard.service.ts","./src/app/core/header/header.component.ts","./src/app/core/header/page-button/page-button.component.ts","./src/app/core/header/page-reorder/page-reorder.component.ts","./src/app/core/interceptors/auth-interceptor.ts","./src/app/core/interceptors/error-handler.service.ts","./src/app/core/interceptors/http-interceptor.service.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/local-modification.service.ts","./src/app/core/services/notification.service.ts","./src/app/core/services/page.service.ts","./src/app/core/services/storage.service.ts","./src/app/core/types/base.types.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ strict namespace object","./src/app/app.component.scss","./src/app/core/header/header.component.scss","./src/app/core/header/page-button/page-button.component.scss","./src/app/core/header/page-reorder/page-reorder.component.scss"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\r\nimport { Constants } from './core/constants';\r\nimport { PageGuardService } from './core/guards/page-guard.service';\r\nimport { DocumentationEditorComponent } from './cdf-documents-editor/documentation-editor.component';\r\nimport { PageGuardAuthService } from './core/guards/page-guard-auth.service';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: '/render-content?pageName=Home', pathMatch: 'full' },\r\n //{\r\n // path: '',\r\n // loadChildren: () => import('./pages/gb/gb.module').then((m) => m.GbModule),\r\n //},\r\n // {\r\n // path: 'admin',\r\n // loadChildren: () =>\r\n // import('./admin/admin.module').then((m) => m.AdminPageModule),\r\n // },\r\n {\r\n path: 'login',\r\n loadChildren: () =>\r\n import('./pages/login/login.module').then((m) => m.LoginPageModule),\r\n },\r\n {\r\n path: 'documentation-editor',\r\n loadChildren: () => import('./cdf-documents-editor/document-editor.module').then((m) => m.DocumentEditorModule),\r\n canActivate: [PageGuardService],\r\n data: {\r\n role: [Constants.AdminPageRole]\r\n }\r\n },\r\n {\r\n path: 'admin-content',\r\n loadChildren: () => import('./admin-content/admin-content.module').then((m) => m.AdminContentModule),\r\n // canActivate: [PageGuardService],\r\n // data: {\r\n // role: [Constants.AdminPageRole]\r\n // }\r\n },\r\n {\r\n path: 'render-content',\r\n loadChildren: () => import('./render-content/render-content.module').then((m) => m.RenderContentModule),\r\n canActivate: [PageGuardAuthService],\r\n },\r\n //{\r\n // path: 'download-file',\r\n // loadChildren: () => import('./render-content/render-content.module').then((m) => m.RenderContentModule),\r\n // canActivate: [PageGuardService],\r\n //},\r\n //{\r\n // path: 'render-content/:contentId/:pageId',\r\n // loadChildren: () => import('./render-content/render-content.module').then((m) => m.RenderContentModule),\r\n // canActivate: [PageGuardService],\r\n //},\r\n {\r\n path: 'document-admin',\r\n loadChildren: () => import('./admin-document/admin-document.module').then((m) => m.AdminDocumentModule),\r\n },\r\n {\r\n path: 'product-availability',\r\n loadChildren: () => import('./product/product.module').then((m) => m.ProductModule)\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n /*RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, enableTracing: true }),*/\r\n RouterModule.forRoot(routes, {\r\n preloadingStrategy: PreloadAllModules,\r\n anchorScrolling: 'enabled'\r\n }),\r\n\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {\r\n // constructor(private router: Router, private pageService: PageService) {\r\n // let test: Array;\r\n // this.pageService.getActivePages().forEach((page) => {\r\n // test.push({ path: page.name, component: GridboxComponent });\r\n // });\r\n // this.router.resetConfig([...test, ...this.router.config]);\r\n // }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from './core/services/auth.service';\r\nimport { StorageService } from './core/services/storage.service';\r\nimport { IonContent } from '@ionic/angular';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n currentYear = new Date().getFullYear();\r\n constructor(private auth: AuthService, public router: Router, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.auth.checkCurrentToken().then(x => {\r\n setTimeout(() => { }, 2000);\r\n });\r\n }\r\n\r\n goTop() {\r\n document.getElementById(\"topElement\").scrollIntoView({\r\n behavior: \"auto\",\r\n block: \"start\",\r\n inline: \"nearest\"\r\n });\r\n }\r\n\r\n \r\n}\r\n","import { APP_INITIALIZER, ErrorHandler, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouteReuseStrategy } from '@angular/router';\r\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { CoreModule } from './core/core.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { IonicStorageModule } from '@ionic/storage-angular';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthInterceptor } from './core/interceptors/auth-interceptor';\r\nimport { StorageService } from './core/services/storage.service';\r\nimport { ErrorHandlerService } from './core/interceptors/error-handler.service';\r\nimport { HttpInterceptorService } from './core/interceptors/http-interceptor.service';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserAnimationsModule,\r\n BrowserModule,\r\n IonicModule.forRoot(),\r\n AppRoutingModule,\r\n CoreModule,\r\n IonicStorageModule.forRoot(),\r\n HttpClientModule,\r\n ToastrModule.forRoot(),\r\n NgxSpinnerModule.forRoot({ type: 'ball-clip-rotate' })\r\n ],\r\n providers: [\r\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\r\n StorageService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (ss: StorageService) => () => ss.init(),\r\n deps: [StorageService],\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpInterceptorService,\r\n multi: true\r\n },\r\n { provide: ErrorHandler, useClass: ErrorHandlerService }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n","export class Constants {\r\n static readonly CdfAdminRole = 'CDFAdministrators';\r\n static readonly AdminPageRole = 'Admin';\r\n static readonly DirectoryEmpty = 'Directory empty';\r\n static readonly TimeOutError = 'Time out. Try again later';\r\n static readonly LogoDark = 'assets/images/CDF_Horizontal_Black.png';\r\n static readonly LogoLight = 'assets/images/CDF_Horizontal_White_Transparent.png';\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { PageReorderComponent } from './header/page-reorder/page-reorder.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { PageButtonComponent } from './header/page-button/page-button.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeaderComponent,\r\n PageReorderComponent,\r\n PageButtonComponent,\r\n ],\r\n imports: [CommonModule, RouterModule, IonicModule, ReactiveFormsModule],\r\n exports: [HeaderComponent],\r\n})\r\nexport class CoreModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { PageService } from '../services/page.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map, tap, take } from 'rxjs/operators';\r\nimport { Constants } from '../constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageGuardAuthService {\r\n role: string;\r\n pages: any;\r\n constructor(private auth: AuthService) {\r\n }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot): Promise {\r\n return this.auth.asCurrentToken().then(r => {\r\n return r;\r\n });\r\n }\r\n\r\n private check(route: ActivatedRouteSnapshot): boolean {\r\n if (route.data !== undefined && (route.data.role == Constants.AdminPageRole || route.data.role == Constants.CdfAdminRole)) {\r\n return this.role === Constants.CdfAdminRole;\r\n } else {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { PageService } from '../services/page.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map, tap, take } from 'rxjs/operators';\r\nimport { Constants } from '../constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageGuardService {\r\n role: string;\r\n pages: any;\r\n constructor(private auth: AuthService) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot): boolean {\r\n if (this.role === undefined) {\r\n this.auth.getSavedRole().then(r => {\r\n this.role = r;\r\n return this.check(route);\r\n });\r\n }\r\n else {\r\n return this.check(route);\r\n }\r\n return false;\r\n }\r\n\r\n private check(route: ActivatedRouteSnapshot): boolean {\r\n if (route.data !== undefined && (route.data.role === Constants.AdminPageRole || route.data.role === Constants.CdfAdminRole)) {\r\n return this.role === Constants.CdfAdminRole;\r\n } else {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { combineLatest, forkJoin } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { PageService } from '../services/page.service';\r\nimport { IonSelect } from '@ionic/angular';\r\nimport { Page } from '../types/base.types';\r\nimport { Constants } from '../constants';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit, AfterViewInit {\r\n @ViewChild('adminPageSelect') adminPageSelect: IonSelect;\r\n isAdmin = false;\r\n\r\n $PageParams = this.pageService.$PageParams;\r\n $Pages = this.pageService.$existingPages;\r\n $pageSelected = this.pageService.$pageSelected;\r\n public hideLabel = false;\r\n pages = [];\r\n adminPages = [];\r\n activePage: number;\r\n adminSelected: number;\r\n $headerPages = combineLatest([this.$PageParams, this.$pageSelected]).pipe(\r\n map(([pageParams, selected]) => {\r\n let activePage = {};\r\n let filterPages;\r\n if (pageParams === null && selected === null) {\r\n this.activePage = this.pages.find((y) => y.name === this.router.url)?.id;\r\n } else if (selected === null && !!pageParams) {\r\n this.activePage = pageParams;\r\n } else if (!!selected) {\r\n this.activePage = selected.id;\r\n }\r\n this.pages.sort((a, b) => a.position - b.position);\r\n // eslint-disable-next-line prefer-const\r\n filterPages = this.pages.filter(x => !x.isContentPage);\r\n return { pages: this.pages, filterPages };\r\n })\r\n );\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public pageService: PageService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n //forkJoin({\r\n // authenticatedResult: this.authService.authenticated$,\r\n // pagesResult: this.pageService.getPages()\r\n //}).subscribe({\r\n // next: (data: any) => {\r\n // if (data.authenticatedResult) {\r\n // this.pages = data.pagesResult;\r\n // }\r\n // },\r\n // error: (error) => {\r\n // },\r\n // complete: () => { }\r\n //});\r\n\r\n //find best way to do this.\r\n\r\n this.authService.authenticated$.subscribe(result => {\r\n if (result && window.location.pathname !== '/login') {\r\n this.pageService.getPages().subscribe(\r\n {\r\n next: (x: any) => {\r\n this.pages = x;\r\n this.adminPages = this.pages.filter(x => !x.isContentPage || x.forAdmin);\r\n this.adminPages.forEach(ap => { ap.cssClass = 'my-class'; })\r\n if (this.activePage == null && !!this.route.snapshot.queryParamMap.get('pageName')) {\r\n const page = this.pages.find((y) => y.name === this.route.snapshot.queryParamMap.get('pageName'));\r\n this.activePage = page.id;\r\n } else {\r\n const page = this.pages.find((y) => this.router.url.includes(y.path));\r\n if (!!page && !page?.isContentPage) {\r\n this.adminPageSelect.selectedText = this.setText(page.displayName);\r\n this.adminPageSelect.value = page.id;\r\n //this.hideLabel = false;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n\r\n },\r\n complete: () => { }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.authService.getSavedRole().then((x) => {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\r\n x === Constants.CdfAdminRole ? this.isAdmin = true : this.isAdmin = false;\r\n });\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n goto(page: any) {\r\n if (!!page) {\r\n //(ionFocus) send the page id, not the pageobject.\r\n if (!isNaN(page)) {\r\n page = this.pages.find(x => x.id === page);\r\n }\r\n if (page.isContentPage && !page.forAdmin) {\r\n this.pageService.$pageSelected.next(page);\r\n if (!!this.adminPageSelect) {\r\n this.adminPageSelect.selectedText = Constants.AdminPageRole.toUpperCase();\r\n this.adminPageSelect.value = '';\r\n }\r\n\r\n this.hideLabel = true;\r\n this.router.navigate([`${page.path}`], {\r\n queryParams: { pageId: null, contentId: null, pageName: page.name },\r\n queryParamsHandling: 'merge'\r\n });\r\n } else {\r\n this.hideLabel = true;\r\n this.adminPageSelect.selectedText = page.displayName?.toUpperCase();\r\n this.pageService.$pageSelected.next(null);\r\n this.authService.setSelectedPage(page);\r\n //need this because we have content with : forAdmin = true and isContentPage = true\r\n if (page.isContentPage) {\r\n this.router.navigate([`${page.path}`], {\r\n queryParams: { pageId: null, contentId: null, pageName: page.name },\r\n queryParamsHandling: 'merge'\r\n });\r\n } else {\r\n this.router.navigate([page.path]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setText(value: string) {\r\n return value.toUpperCase();\r\n }\r\n goHomeKey(event: KeyboardEvent) {\r\n if (event.key === \"Enter\") {\r\n this.goHome();\r\n }\r\n }\r\n goHome() {\r\n let page = this.pages.find(x => x.name === 'Home');\r\n this.goto(page);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { IonModal} from '@ionic/angular';\r\nimport { Page } from '../../types/base.types';\r\n\r\n@Component({\r\n selector: 'app-page-button',\r\n templateUrl: './page-button.component.html',\r\n styleUrls: ['./page-button.component.scss'],\r\n})\r\nexport class PageButtonComponent implements OnInit {\r\n @ViewChild('deleteModal') deleteModal: IonModal;\r\n @ViewChild('activateModal') activateModal: IonModal;\r\n @Input() page: Page;\r\n @Input() selected: number;\r\n @Output() pageLinkClicked = new EventEmitter(); \r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n onWillDismiss(event: Event) {\r\n }\r\n\r\n cancelDelete() {\r\n return this.deleteModal.dismiss(null, 'cancel');\r\n }\r\n\r\n deletePage() {\r\n //this.pageService.deletePage(this.page.id);\r\n return this.deleteModal.dismiss(null, 'confirm');\r\n }\r\n\r\n cancelActivate() {\r\n return this.activateModal.dismiss(null, 'cancel');\r\n }\r\n\r\n activatePage() {\r\n this.page.active = true;\r\n //this.pageService.updatePage(this.page);\r\n return this.activateModal.dismiss(null, 'confirm');\r\n }\r\n\r\n deactivatePage() {\r\n this.page.active = false;\r\n //this.pageService.updatePage(this.page);\r\n return this.activateModal.dismiss(null, 'confirm');\r\n }\r\n\r\n pageClicked() {\r\n this.pageLinkClicked.emit(this.page);\r\n //this.pageService.pageSelect(this.page.id);\r\n }\r\n\r\n openActivateModal() {\r\n this.activateModal.present();\r\n }\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { IonModal } from '@ionic/angular';\r\nimport { Page } from '../../types/base.types';\r\n\r\n@Component({\r\n selector: 'app-page-reorder',\r\n templateUrl: './page-reorder.component.html',\r\n styleUrls: ['./page-reorder.component.scss'],\r\n})\r\nexport class PageReorderComponent implements OnInit {\r\n @ViewChild(IonModal) modal: IonModal;\r\n @Input() pages: Array = [];\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n cancel() {\r\n this.pages.sort((a, b) => a.position - b.position);\r\n this.modal.dismiss(null, 'cancel');\r\n }\r\n\r\n confirm() {\r\n for (let index = 0; index < this.pages.length; index++) {\r\n this.pages[index].position = index + 1;\r\n }\r\n console.log('Confirm: ', this.pages);\r\n this.modal.dismiss(null, 'confirm');\r\n }\r\n\r\n onWillDismiss(event: Event) {\r\n this.pages.sort((a, b) => a.position - b.position);\r\n console.log('dismiss event: ', event);\r\n }\r\n\r\n reorderItems(event) {\r\n const itemMove = this.pages.splice(event.detail.from, 1)[0];\r\n this.pages.splice(event.detail.to, 0, itemMove);\r\n event.detail.complete();\r\n console.log('pages: ', this.pages);\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { from, Observable, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { StorageService } from '../services/storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor(private storage: StorageService, private router: Router) { }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return from(this.storage.get('token')).pipe(\r\n map((authToken) => {\r\n if (authToken) {\r\n req = req.clone({\r\n headers: req.headers.set('Authorization', 'Bearer ' + authToken),\r\n });\r\n }\r\n return req;\r\n }),\r\n switchMap((authReq) =>\r\n next.handle(authReq).pipe(\r\n map((event: HttpEvent) => event),\r\n catchError((err) => {\r\n //if (err.status === 401 || err.status === 403) {\r\n // this.router.navigate(['/login']);\r\n // //return;\r\n //} else {\r\n // const error = err.message || err.statusText;\r\n // return throwError(error);\r\n //}\r\n if (err.status === 401 || err.status === 403) {\r\n this.router.navigate(['/login']);\r\n }\r\n //else if (err.status === 403) {\r\n // return throwError(err);\r\n //}\r\n const error = err.message || err.statusText;\r\n return throwError(error);\r\n })\r\n )\r\n )\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { Constants } from '../constants';\r\nimport { NotificationService, NotificationData, HorizontalPostion, InformationType, VerticalPostion }\r\n from '../services/notification.service';\r\n/*import { ApplicationInsightsService } from \"@services/application-insights.service\";*/\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorHandlerService implements ErrorHandler {\r\n \r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error: any): void {\r\n if (!!error) { console.error(error); }\r\n\r\n // this.injector.get(ApplicationInsightsService)\r\n // .logException(error);\r\n }\r\n\r\n logError(error: any, showMessage: boolean = false): void {\r\n\r\n //console.error(error);\r\n const errorMessage = this.handleBadRequest(error);\r\n\r\n //this.injector.get(ApplicationInsightsService)\r\n // .logException(new Error(error));\r\n\r\n if (showMessage && !!errorMessage) {\r\n const data = this.createDataNotification(errorMessage, this.getTitle(error), InformationType.error);\r\n this.injector.get(NotificationService).showNotification(data);\r\n }\r\n }\r\n\r\n logInfo(info: string, showMessage: boolean = false): void {\r\n //console.info(info);\r\n if (showMessage) {\r\n const data = this.createDataNotification(info, '', InformationType.info);\r\n this.injector.get(NotificationService).showNotification(data);\r\n }\r\n }\r\n createDataNotification(message: string, title: string, type: InformationType): NotificationData {\r\n // eslint-disable-next-line max-len\r\n const data: NotificationData = { message, horizontalPostion: HorizontalPostion.right, title, type, verticalPostion: VerticalPostion.top };\r\n return data;\r\n }\r\n logWarning(warning: string, showMessage: boolean = false): void {\r\n\r\n console.log(warning);\r\n\r\n //this.injector.get(ApplicationInsightsService)\r\n //.logTrace(warning);\r\n\r\n if (showMessage) {\r\n const data = this.createDataNotification(warning, 'warning', InformationType.warning);\r\n this.injector.get(NotificationService).showNotification(data);\r\n }\r\n }\r\n\r\n //private handleNotFound = (error: HttpErrorResponse): string => {\r\n // this.router.navigate(['/404']);\r\n // return error.message;\r\n //}\r\n private handleBadRequest = (error: HttpErrorResponse): string => {\r\n let message = '';\r\n if (error.status === 500) {\r\n return error.message;\r\n } else if (error.status === 400) {\r\n const values = Object.values(error.error.Errors);\r\n values.map((m: string) => {\r\n message += m + '
';\r\n })\r\n return message.slice(0, -4);\r\n } else if (error.status === 408) {\r\n return Constants.TimeOutError;\r\n }\r\n //else if (error.status === 403) {\r\n // throw error;\r\n //}\r\n if (error.status === 401 || error.status === 403 || error.status === 404) {\r\n throw error;\r\n }\r\n }\r\n\r\n private getTitle(error) {\r\n if (!!error) {\r\n return error?.title ?? error?.error?.title;\r\n //let message = '';\r\n //const values = Object.values(error.error);\r\n //values.map((m: string) => {\r\n // message += m + '
';\r\n //})\r\n //return message;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n //else {\r\n // return error.error ? error.error : error.message;\r\n //}\r\n\r\n\r\n private getErrorMessage(error: any) {\r\n\r\n if (error === undefined || error === null)\r\n return '';\r\n\r\n if (error.data) {\r\n if (error.data.messageDetail)\r\n return error.data.messageDetail;\r\n if (error.data.exceptionMessage)\r\n return error.data.exceptionMessage;\r\n if (error.data.message)\r\n return error.data.message;\r\n\r\n return error.data;\r\n } else if (error) {\r\n // if(!!error.errorCode && error.errorCode === \"token_renewal_error\"){\r\n // window.location.reload();\r\n // }\r\n if (error.message)\r\n return error.message;\r\n }\r\n\r\n return error;\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpErrorResponse,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { ErrorHandlerService } from './error-handler.service';\r\nimport { Observable, throwError, of } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class HttpInterceptorService implements HttpInterceptor {\r\n constructor(private errorHandler: ErrorHandlerService, private router: Router) {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return next.handle(request)\r\n .pipe(\r\n map(res => res),\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMsg = '';\r\n if (error.error instanceof ErrorEvent) {\r\n errorMsg = `Error: ${error.error.message}`;\r\n } else {\r\n errorMsg = `Error Code: ${error.status}, Message: ${error.message}`;\r\n }\r\n\r\n if (error.status === 408 || error.status === 451) {\r\n this.errorHandler.logError(error, true);\r\n return throwError(error);\r\n }\r\n\r\n if (error.status === 401 || error.status === 403) {\r\n this.router.navigateByUrl('/login');\r\n return; \r\n }\r\n else {\r\n this.errorHandler.logError(error, true);\r\n return throwError(() => new Error(errorMsg));\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { StorageService } from './storage.service';\r\nimport { BehaviorSubject, EMPTY, Observable, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\r\nimport { Params } from '@angular/router';\r\nimport { Page } from '../types/base.types';\r\nimport { promise } from 'protractor';\r\nimport { error } from 'console';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n auth$ = new BehaviorSubject(true);\r\n authenticated$: Observable;\r\n\r\n constructor(private http: HttpClient, private storage: StorageService) {\r\n this.authenticated$ = this.auth$.pipe(map((x) => !!x));\r\n }\r\n\r\n login(username: string, password: string) {\r\n return this.http\r\n .post('api/Authentication/GrantToken', { username, password })\r\n .pipe(\r\n switchMap((result) =>\r\n this.storage.set('token', result.token).then(() => result)\r\n ),\r\n switchMap((result) =>\r\n this.storage.set('role', result.role).then(() => result)\r\n ),\r\n switchMap((result) =>\r\n this.storage.set('userProduct', username).then(() => result)\r\n ),\r\n tap((result) => {\r\n this.auth$.next(result); \r\n }),\r\n //catchError((err, caught) => {\r\n // return throwError(error);\r\n //})\r\n );\r\n }\r\n\r\n logout() {\r\n this.storage.remove('token');\r\n this.storage.remove('role');\r\n this.storage.remove('userProduct');\r\n this.storage.remove('selectedPage');\r\n\r\n this.auth$.next(false);\r\n window.location.href = '\\login';\r\n }\r\n\r\n async checkCurrentToken() {\r\n await this.storage.get('token').then((x) => {\r\n if (!x) {\r\n this.auth$.next(false);\r\n }\r\n });\r\n }\r\n\r\n async asCurrentToken(): Promise {\r\n return await this.storage.get('token');\r\n }\r\n\r\n async getSavedUsername() {\r\n return await this.storage.get('username');\r\n }\r\n //used for product availability\r\n async getSavedUserProduct() {\r\n return await this.storage.get('userProduct');\r\n }\r\n\r\n async getSavedRole() {\r\n return await this.storage.get('role');\r\n }\r\n\r\n async getSavedPages() {\r\n return await this.storage.get('pages');\r\n }\r\n\r\n async setSavedUsername(username: string) {\r\n return await this.storage.set('username', username);\r\n }\r\n\r\n async getSelectedPage() {\r\n return await this.storage.get('selectedPage') as Page;\r\n }\r\n\r\n async setSelectedPage(page: Page) {\r\n return await this.storage.set('selectedPage', page);\r\n }\r\n async removeSelectedPage() {\r\n return await this.storage.remove('selectedPage');\r\n }\r\n\r\n async removeSavedUsername() {\r\n return await this.storage.remove('username');\r\n }\r\n\r\n // auth api calls\r\n get(url: string): Observable {\r\n return this.http.get('api/' + url);\r\n }\r\n\r\n getWithParams(url: string, filter: any): Observable {\r\n if (filter) {\r\n const queryString = this.toQueryString(filter);\r\n url += '?' + queryString;\r\n }\r\n return this.http.get('api/' + url);\r\n }\r\n\r\n getWithParamsForFile(url: string, filter: any): Observable {\r\n if (filter) {\r\n const queryString = this.toQueryString(filter);\r\n url += '?' + queryString;\r\n }\r\n /*return this.http.get('api/' + url, { observe: 'response', type: 'text/json; charset=utf-8' })*/\r\n return this.http.get('api/' + url, { observe: 'response', responseType: 'blob' });\r\n }\r\n\r\n post(url: string, data: any): Observable {\r\n console.log('url: ', url, ' data: ', data);\r\n return this.http.post('api/' + url, data);\r\n }\r\n\r\n put(url: string, data: any): Observable {\r\n console.log('url: ', url, ' data: ', data);\r\n return this.http.put('api/' + url, data);\r\n }\r\n\r\n // test api calls\r\n getUserInfo() {\r\n return this.http.get('api/Authentication/GetUserInfo', {\r\n responseType: 'text',\r\n });\r\n }\r\n\r\n getSampleData() {\r\n return this.http.get('api/Authentication/GetSampleData');\r\n }\r\n\r\n private toQueryString(query): string {\r\n const parts = [];\r\n // eslint-disable-next-line guard-for-in\r\n for (const property in query) {\r\n const value = query[property];\r\n if (value != null && value !== undefined) { parts.push(encodeURIComponent(property) + '=' + encodeURIComponent(value)); }\r\n }\r\n\r\n return parts.join('&');\r\n }\r\n\r\n private setParameter(routerParams: Params): HttpParams {\r\n let queryParams = new HttpParams();\r\n for (const key in routerParams) {\r\n if (routerParams.hasOwnProperty(key)) {\r\n queryParams = queryParams.set(key, routerParams[key]);\r\n }\r\n }\r\n return queryParams;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { KtdGridLayout } from '@katoid/angular-grid-layout';\r\nimport {\r\n BehaviorSubject,\r\n combineLatest,\r\n defer,\r\n from,\r\n Observable,\r\n Subject,\r\n} from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { Content, PageContent } from '../types/base.types';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LocalModificationService {\r\n // Observables for box addition\r\n $StorageAddedBoxesAction = new BehaviorSubject(null);\r\n $StorageAddedBoxes: Observable<\r\n Array<{ newContentBlock: PageContent; newContent: Content }>\r\n > = defer(() =>\r\n from(\r\n this.storage.get(this.addKey).then((x) => {\r\n if (x) {\r\n return x;\r\n } else {\r\n return this.storage.set(this.addKey, []);\r\n }\r\n })\r\n )\r\n );\r\n\r\n $AddedBoxes = combineLatest([\r\n this.$StorageAddedBoxes,\r\n this.$StorageAddedBoxesAction,\r\n ]).pipe(\r\n map(([storageAddedBoxes, storageAddedBoxesAction]) => {\r\n if (storageAddedBoxesAction != null) {\r\n return storageAddedBoxesAction;\r\n }\r\n return storageAddedBoxes;\r\n })\r\n );\r\n\r\n // Observables for box removal\r\n $StorageRemovedBoxesAction = new BehaviorSubject(null);\r\n $StorageRemovedBoxes: Observable<\r\n Array<{ newContentBlock: PageContent; newContent: Content }>\r\n > = defer(() =>\r\n from(\r\n this.storage.get(this.removeKey).then((x) => {\r\n if (x) {\r\n return x;\r\n } else {\r\n return this.storage.set(this.removeKey, []);\r\n }\r\n })\r\n )\r\n );\r\n\r\n $RemovedBoxes = combineLatest([\r\n this.$StorageRemovedBoxes,\r\n this.$StorageRemovedBoxesAction,\r\n ]).pipe(\r\n map(([storageRemovedBoxes, storageRemovedBoxesAction]) => {\r\n if (storageRemovedBoxesAction != null) {\r\n return storageRemovedBoxesAction;\r\n }\r\n return storageRemovedBoxes;\r\n })\r\n // tap((x) => {\r\n // console.log('removed boxes observable: ', x);\r\n // })\r\n );\r\n\r\n // Observables for layout updates\r\n $StorageLayoutUpdatesAction = new BehaviorSubject(null);\r\n $StorageLayoutUpdates: Observable<\r\n Array<{ pageId: number; layout: KtdGridLayout }>\r\n > = defer(() =>\r\n from(\r\n this.storage.get(this.layoutKey).then((x) => {\r\n if (x) {\r\n return x;\r\n } else {\r\n return this.storage.set(this.layoutKey, []);\r\n }\r\n })\r\n )\r\n );\r\n\r\n $LayoutUpdates = combineLatest([\r\n this.$StorageLayoutUpdates,\r\n this.$StorageLayoutUpdatesAction,\r\n ]).pipe(\r\n map(([storageLayoutUpdates, storageLayoutUpdatesAction]) => {\r\n if (storageLayoutUpdatesAction != null) {\r\n return storageLayoutUpdatesAction;\r\n }\r\n return storageLayoutUpdates;\r\n })\r\n );\r\n\r\n // local storage keys\r\n private addKey = 'addedBoxes';\r\n private removeKey = 'removedBoxes';\r\n private layoutKey = 'layoutUpdates';\r\n\r\n constructor(private storage: StorageService) {}\r\n\r\n // add box to local storage\r\n addBox(\r\n addedBoxes: Array<{ newContentBlock: PageContent; newContent: Content }>\r\n ) {\r\n this.storage.set(this.addKey, addedBoxes);\r\n this.$StorageAddedBoxesAction.next(addedBoxes);\r\n }\r\n\r\n // remove box to local storage\r\n removeBox(\r\n removedBoxes: Array<{ newContentBlock: PageContent; newContent: Content }>\r\n ) {\r\n this.storage.set(this.removeKey, removedBoxes);\r\n this.$StorageRemovedBoxesAction.next(removedBoxes);\r\n }\r\n\r\n // updates locally stored values to match page modifications\r\n async updateLayout(pageId: number, layout: KtdGridLayout) {\r\n await this.storage.get(this.layoutKey).then((current) => {\r\n const existingIndex = current.findIndex((x) => x.pageId === pageId);\r\n if (existingIndex >= 0) {\r\n current[existingIndex] = { pageId, layout };\r\n // console.log('exists');\r\n } else {\r\n current.push({ pageId, layout });\r\n }\r\n this.storage.set(this.layoutKey, current);\r\n this.$StorageLayoutUpdatesAction.next(current);\r\n // console.log('existing index: ', existingIndex);\r\n // this.$StorageLayoutUpdatesAction.next(null);\r\n });\r\n }\r\n\r\n // reset local storage of all changes\r\n async resetPageChanges(pageId: number) {\r\n await this.resetAddedBoxes(pageId);\r\n await this.resetRemovedBoxes(pageId);\r\n await this.resetLayoutUpdates(pageId);\r\n }\r\n\r\n // reset local storage of added boxes on a page\r\n async resetAddedBoxes(pageId: number) {\r\n await this.storage.get(this.addKey).then((x) => {\r\n const indexes: Array = [];\r\n let spliceCount = 0;\r\n for (let index = 0; index < x.length; index++) {\r\n if (x[index].newContentBlock.pageId === pageId) {\r\n indexes.push(index);\r\n }\r\n }\r\n indexes.forEach((ind) => {\r\n x.splice(ind - spliceCount, 1);\r\n spliceCount++;\r\n });\r\n this.storage\r\n .set(this.addKey, x)\r\n .then(() => this.$StorageAddedBoxesAction.next(x));\r\n });\r\n }\r\n\r\n // reset local storage of removed boxes on a page\r\n async resetRemovedBoxes(pageId: number) {\r\n await this.storage.get(this.removeKey).then((x) => {\r\n const indexes: Array = [];\r\n let spliceCount = 0;\r\n for (let index = 0; index < x.length; index++) {\r\n if (x[index].newContentBlock.pageId === pageId) {\r\n indexes.push(index);\r\n }\r\n }\r\n indexes.forEach((ind) => {\r\n x.splice(ind - spliceCount, 1);\r\n spliceCount++;\r\n });\r\n this.storage\r\n .set(this.removeKey, x)\r\n .then(() => this.$StorageRemovedBoxesAction.next(x));\r\n });\r\n }\r\n\r\n // reset local storage of layout changes on a page\r\n async resetLayoutUpdates(pageId: number) {\r\n await this.storage.get(this.layoutKey).then((x) => {\r\n const indexes: Array = [];\r\n for (let index = 0; index < x.length; index++) {\r\n if (x[index].pageId === pageId) {\r\n indexes.push(index);\r\n }\r\n }\r\n indexes.forEach((ind) => {\r\n x.splice(ind, 1);\r\n });\r\n this.storage\r\n .set(this.layoutKey, x)\r\n .then(() => this.$StorageLayoutUpdatesAction.next(x));\r\n });\r\n }\r\n\r\n // move all of add and remove to this service\r\n // will require implementation of these two functions\r\n getMaxContentId() {}\r\n getMaxPageContentId() {}\r\n\r\n // layout updated\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nexport interface NotificationData {\r\n title: string;\r\n message: string;\r\n verticalPostion: VerticalPostion,\r\n horizontalPostion: HorizontalPostion,\r\n type: InformationType\r\n}\r\n\r\nexport enum VerticalPostion{\r\n top = 'top',\r\n bottom = 'bottom'\r\n}\r\n\r\nexport enum HorizontalPostion{\r\n right = 'right',\r\n center = 'center',\r\n left = 'left'\r\n}\r\n\r\nexport enum InformationType {\r\n info = 'info',\r\n warning = 'warning',\r\n success = 'success',\r\n danger = 'danger',\r\n primary = 'primary',\r\n error = 'error',\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n constructor(private toastr: ToastrService) {}\r\n\r\n private getDisplayMessage(data: NotificationData){\r\n let message = `${data.message} `;\r\n return message;\r\n }\r\n\r\n showNotification(data: NotificationData){\r\n if (data.type === InformationType.success) {\r\n this.toastr.success(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut:7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}` \r\n });\r\n } else {\r\n this.toastr.error(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut:7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}` \r\n });\r\n }\r\n }\r\n\r\n showMessageSuccess(message: string, title: string) {\r\n let data: NotificationData = { message: message, horizontalPostion: HorizontalPostion.right, title, type: InformationType.success, verticalPostion: VerticalPostion.top };\r\n this.showToast(data);\r\n }\r\n\r\n showMessageWarning(message: string, title: string) {\r\n let data: NotificationData = { message: message, horizontalPostion: HorizontalPostion.right, title, type: InformationType.warning, verticalPostion: VerticalPostion.top };\r\n this.showToast(data);\r\n }\r\n\r\n showMessageError(message: string, title: string) {\r\n let data: NotificationData = { message: message, horizontalPostion: HorizontalPostion.right, title, type: InformationType.error, verticalPostion: VerticalPostion.top };\r\n this.showToast(data);\r\n }\r\n\r\n showMessageInformation(message: string, title: string) {\r\n let data: NotificationData = { message: message, horizontalPostion: HorizontalPostion.right, title, type: InformationType.info, verticalPostion: VerticalPostion.top };\r\n this.showToast(data);\r\n }\r\n\r\n showToast(data: NotificationData) {\r\n switch (data.type) {\r\n case InformationType.success: {\r\n this.toastr.success(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut: 7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}`\r\n });\r\n break;\r\n }\r\n case InformationType.info: {\r\n this.toastr.info(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut: 7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}`\r\n });\r\n break;\r\n }\r\n case InformationType.error: {\r\n this.toastr.error(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut: 7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}`\r\n });\r\n break;\r\n }\r\n case InformationType.warning: {\r\n this.toastr.warning(this.getDisplayMessage(data), data.title, {\r\n enableHtml: true,\r\n disableTimeOut: false,\r\n timeOut: 7000,\r\n positionClass: `toast-${data.verticalPostion}-${data.horizontalPostion}`\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastController } from '@ionic/angular';\r\nimport { bottom } from '@katoid/angular-grid-layout/lib/utils/react-grid-layout.utils';\r\nimport {\r\n BehaviorSubject,\r\n combineLatest,\r\n from,\r\n merge,\r\n Observable,\r\n of,\r\n throwError,\r\n} from 'rxjs';\r\nimport { catchError, map, retry, switchMap, tap } from 'rxjs/operators';\r\nimport { Page } from '../types/base.types';\r\nimport { AuthService } from './auth.service';\r\nimport { LocalModificationService } from './local-modification.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageService {\r\n //temp data, used for testing. remove once api calls are setup\r\n maxPos;\r\n $pageSelected = new BehaviorSubject(new Page());\r\n\r\n isAuthorized = this.storage.get('token');\r\n\r\n // Check if the user is authorized before making the HTTP request\r\n $existingPages: Observable> = from(this.storage.get('token'))\r\n .pipe(\r\n switchMap((isAuthorized: string | null) => {\r\n if (isAuthorized) {\r\n return this.auth.get<{ pages: Array }>('Page/GetAll')\r\n .pipe(\r\n map((x) => {\r\n x.pages.sort((a, b) => a.position - b.position);\r\n this.homePage = x.pages[0];\r\n return x.pages;\r\n }),\r\n tap((y) => {\r\n //console.log(isAuthorized);\r\n\r\n this.storage.set('pages', y).then();\r\n })\r\n );\r\n } else {\r\n // Return an observable with an empty array if the user is not authorized\r\n return of([]);\r\n }\r\n })\r\n );\r\n //$pages: Observable> = this.accessControl.flatMap((res: any) => {\r\n // if (res.accessGranted) {\r\n // return this.dataService.getData(res.id);\r\n // } else {\r\n // return Observable.of(null);\r\n // }\r\n //})\r\n //this.$existingPages.\r\n //$pages: Observable> = combineLatest([\r\n // this.$existingPages,\r\n //]).pipe(\r\n // map(([existingPages]) => {\r\n // let retVal = existingPages;\r\n // this.maxPos = Math.max(...retVal.map((y) => y.position));\r\n // if (this.maxPos === -Infinity) {\r\n // this.maxPos = 0;\r\n // }\r\n // return retVal;\r\n // })\r\n // // tap((x) => {\r\n // // console.log('combined pages object: ', x);\r\n // // })\r\n //);\r\n\r\n // $Params = this.route.params.pipe(\r\n // tap((x) => {\r\n // console.log('x in service: ', x);\r\n // })\r\n // );\r\n $PageParams = new BehaviorSubject(null);\r\n\r\n // $PageParams = combineLatest([this.$Params]);\r\n\r\n // $PageParams = this.route.params.pipe(\r\n // map((param) => param.getValue()),\r\n // tap((y) => {\r\n // console.log('y: ', y);\r\n // })\r\n // );\r\n\r\n private homePage: Page;\r\n constructor(\r\n private localMod: LocalModificationService,\r\n private route: ActivatedRoute,\r\n private auth: AuthService,\r\n private toastController: ToastController,\r\n private storage: StorageService) {\r\n this.auth.authenticated$.subscribe(result => { });\r\n }\r\n\r\n // getPageId(pageName: string): number {\r\n // let pageId;\r\n // this.$pages.subscribe((x) => {\r\n // pageId = x.find((y) => y.name === pageName).id;\r\n // });\r\n // return pageId;\r\n // }\r\n\r\n getPage(pageId: number): Page {\r\n let page;\r\n this.$existingPages.subscribe((x) => {\r\n page = x.find((y) => y.id === pageId);\r\n });\r\n return page;\r\n }\r\n\r\n getHomePage(): Page {\r\n return this.homePage;\r\n }\r\n\r\n getPages(): Observable> {\r\n return this.auth.get<{ pages: Array }>('Page/GetAll')\r\n .pipe(\r\n map((x) => {\r\n x.pages.sort((a, b) => a.position - b.position);\r\n this.homePage = x.pages[0];\r\n return x.pages;\r\n }),\r\n tap((y) => {\r\n this.storage.set('pages', y).then();\r\n })\r\n );\r\n }\r\n getPagesFromStorage() {\r\n\r\n }\r\n\r\n //// update page\r\n //updatePage(updatedPage: Page) {\r\n // //make api call here to update page\r\n // //handle result and update observable\r\n // this.updatedPages.push(updatedPage);\r\n // this.$updatedPages.next(this.updatedPages);\r\n //}\r\n\r\n //// update pages\r\n //updatePages(updatedPages: Array) {\r\n // //make api call here to update page positioning\r\n // //handle result and update observable\r\n //}\r\n\r\n //// add new page\r\n //addPage(newPage: Page) {\r\n // console.log('this.maxPos: ', this.maxPos);\r\n // newPage.position = this.maxPos + 1;\r\n // console.log(newPage);\r\n\r\n // const returnedValue = this.auth\r\n // .post<{ pageBasic: Page }>('Page/Add', newPage)\r\n // .subscribe(\r\n // (result) => {\r\n // console.log(result);\r\n // this.presentResultToast(\r\n // 'bottom',\r\n // 'success',\r\n // 'Page Added Successfully'\r\n // );\r\n // },\r\n // (error) => {\r\n // this.presentResultToast('bottom', 'danger', error);\r\n // console.log(error);\r\n // }\r\n // );\r\n // return returnedValue;\r\n //}\r\n\r\n //// delete page\r\n //deletePage(pageId: number) {\r\n // this.localMod.resetPageChanges(pageId);\r\n // const returnedValue = this.auth\r\n // .post('Page/Delete', { id: pageId })\r\n // .subscribe(\r\n // (result) => {\r\n // // handle results and update observable\r\n // this.presentResultToast(\r\n // 'bottom',\r\n // 'success',\r\n // 'Page Deleted Successfully'\r\n // );\r\n // },\r\n // (error) => {\r\n // this.presentResultToast('bottom', 'danger', error);\r\n // console.log(error);\r\n // }\r\n // );\r\n // return returnedValue;\r\n //}\r\n\r\n pageSelect(pageId: number) {\r\n this.$PageParams.next(pageId);\r\n }\r\n\r\n async presentResultToast(\r\n position: 'top' | 'middle' | 'bottom',\r\n result: 'success' | 'danger',\r\n message: string\r\n ) {\r\n const toast = await this.toastController.create({\r\n message,\r\n duration: 1500,\r\n position,\r\n color: result,\r\n });\r\n\r\n await toast.present();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Storage } from '@ionic/storage-angular';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StorageService {\r\n private _storage: Storage | null = null;\r\n\r\n constructor(private storage: Storage) {\r\n this.init();\r\n }\r\n\r\n // initialize local storage\r\n async init() {\r\n const storage = await this.storage.create();\r\n this._storage = storage;\r\n }\r\n\r\n public set(key: string, value: any) {\r\n return this._storage?.set(key, value);\r\n }\r\n\r\n public async get(key: string) {\r\n return await this._storage?.get(key);\r\n }\r\n\r\n public async remove(key: string) {\r\n return await this._storage?.remove(key);\r\n }\r\n\r\n public keys() {\r\n return this._storage.keys();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { KtdGridLayout } from '@katoid/angular-grid-layout';\r\n\r\nexport class Page {\r\n id: number;\r\n name: string;\r\n displayName: string;\r\n position: number;\r\n active: boolean;\r\n //created: Date;\r\n //lastModified: Date;\r\n //modifiedBy: string;\r\n path: string;\r\n isContentPage: boolean;\r\n forAdmin: boolean;\r\n contentId: string;\r\n}\r\n\r\nexport class Content {\r\n id: number;\r\n typeId: number;\r\n name: string;\r\n displayName: string;\r\n status: string;\r\n content: string;\r\n comments: string;\r\n createDate: Date;\r\n lastModified: Date;\r\n modifiedBy: string;\r\n}\r\n\r\nexport class PageContent {\r\n id: number;\r\n pageId: number;\r\n contentId: number;\r\n gridX: number;\r\n gridY: number;\r\n gridW: number;\r\n gridH: number;\r\n createDate: Date;\r\n lastModified: Date;\r\n modifiedBy: string;\r\n page: Page;\r\n}\r\n\r\nexport class CustomerContent {\r\n custId: string;\r\n contentId: string;\r\n version: number;\r\n active: boolean;\r\n content: string;\r\n comments: string;\r\n title: string;\r\n effectiveStart: Date;\r\n effectiveEnd: Date;\r\n //lastModified: Date;\r\n //modifiedBy: string;\r\n}\r\n\r\nexport class PageModel {\r\n page: Page;\r\n pcc: Array<{\r\n pageContent: PageContent;\r\n content: Content;\r\n }>;\r\n}\r\n\r\nexport class PageModelN {\r\n page: Page;\r\n pageContent: PageContent[];\r\n content: Content[];\r\n layout: KtdGridLayout;\r\n}\r\n\r\nexport class ContentType {\r\n id: number;\r\n displayName: string;\r\n component: any;\r\n}\r\n\r\nexport interface ContentComponent {\r\n data: any;\r\n}\r\n\r\nexport class SelectOption {\r\n id: number;\r\n label: string;\r\n}\r\n//Actual\r\nexport class PageContentBox {\r\n id: number;\r\n pageId: number;\r\n version: number;\r\n comments: string;\r\n title: string;\r\n active: boolean;\r\n effectiveStart: Date;\r\n effectiveEnd: Date;\r\n modifiedBy: string;\r\n code: string;\r\n currentLanguage: string;\r\n isNewVersion: boolean;\r\n idLast: number;\r\n boxes: Array = [];\r\n}\r\n\r\nexport class BoxContent {\r\n id: number;\r\n pageContentId: number;\r\n version: number;\r\n active: boolean;\r\n content: string;\r\n title: string;\r\n cssClass: string;\r\n height: number;\r\n width: number;\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport class Product {\r\n id: string;\r\n artist: string;\r\n title: string;\r\n upc: string;\r\n wms: string;\r\n quantityAvailable: number;\r\n dateAvailable: Date;\r\n}\r\n\r\nexport class DocumentLink {\r\n id: number;\r\n title: string;\r\n description: string;\r\n version: string;\r\n lastUpdate: string | null;\r\n link: string;\r\n createdUser: string;\r\n}\r\n\r\nexport class ContactType {\r\n id: number;\r\n name: string;\r\n tel: string;\r\n email: string;\r\n avatar: string;\r\n}\r\n\r\nexport enum CaseDelete {\r\n File,\r\n Files,\r\n Directory\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n customerAdmin: '014394'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t7518,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t1981,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t1603,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t2273,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t9642,\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t2095,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t2335,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t8221,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t7184,\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t8759,\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t4248,\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t9863,\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t1769,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime-button.entry.js\": [\n\t\t2569,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-bb424ba8_js\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime-button_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t6534,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-bb424ba8_js\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t5458,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t654,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t6034,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t761,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t6492,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t9557,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t8353,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t1024,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t9160,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t393,\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t3970,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t437,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t6772,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t4810,\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t4639,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t8247,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t852,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t1479,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t4065,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t7971,\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t3184,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t469,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t8471,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t388,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t2392,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t6059,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t5427,\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t198,\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t1735,\n\t\t\"default-node_modules_ionic_core_dist_esm_form-controller-21dd62b1_js-node_modules_ionic_core_-a176d1\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t7510,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t5297,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 8996;\nmodule.exports = webpackAsyncContext;","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(() => {\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 = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 4140;\nmodule.exports = webpackEmptyAsyncContext;","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `body {\n margin: 0;\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 100vh;\n}\n\n.global_container {\n margin-left: 10%;\n margin-right: 10%;\n margin-bottom: 7px;\n}\n\nion-content::part(background) {\n background: rgb(228, 228, 228) !important;\n background: linear-gradient(0deg, rgb(228, 228, 228) 0%, rgb(89, 177, 199) 12%, rgb(51, 99, 130) 100%) !important;\n}\n\n.loader-css-class {\n --background: #261bff;\n --spinner-color: #ffffff;\n}\n\n.footer-container {\n display: flex;\n justify-items: center;\n align-items: center;\n padding-top: 10px;\n padding-bottom: 5px;\n padding-left: 30%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,SAAA;EACA,UAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,iBAAA;AACF;;AAEA;EACE,gBAAA;EACA,iBAAA;EACA,kBAAA;AACF;;AAKA;EAGE,yCAAA;EACA,iHAAA;AAJF;;AAQA;EACE,qBAAA;EACA,wBAAA;AALF;;AASA;EACE,aAAA;EACA,qBAAA;EACA,mBAAA;EACA,iBAAA;EACA,mBAAA;EACA,iBAAA;AANF\",\"sourcesContent\":[\"body {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n min-height: 100vh;\\r\\n}\\r\\n\\r\\n.global_container {\\r\\n margin-left: 10%;\\r\\n margin-right: 10%;\\r\\n margin-bottom: 7px;\\r\\n //background: rgb(228, 228, 228) !important;\\r\\n //background: linear-gradient(0deg, rgba(228, 228, 228, 1) 0%, rgba(89, 177, 199, 1) 12%, rgba(51, 99, 130, 1) 100%) !important;\\r\\n}\\r\\n\\r\\n//TODO: apply to all app\\r\\nion-content::part(background) {\\r\\n //background: #336581 !important;\\r\\n\\r\\n background: rgb(228, 228, 228) !important;\\r\\n background: linear-gradient(0deg, rgba(228, 228, 228, 1) 0%, rgba(89, 177, 199, 1) 12%, rgba(51, 99, 130, 1) 100%) !important;\\r\\n\\r\\n}\\r\\n\\r\\n.loader-css-class {\\r\\n --background: #261bff;\\r\\n --spinner-color: #ffffff;\\r\\n}\\r\\n\\r\\n\\r\\n.footer-container {\\r\\n display: flex;\\r\\n justify-items: center;\\r\\n align-items: center;\\r\\n padding-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n padding-left: 30%;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.header {\n font-size: 20px;\n border-bottom: none !important;\n}\n\nh1.header {\n margin: auto 0;\n}\n\n.header-image {\n height: 3rem;\n padding-right: 1rem;\n}\n\n.header-image:focus {\n outline-color: white !important;\n}\n\n.profile-popover {\n --background: var(--ion-color-light) !important ;\n}\n\n#user-trigger {\n pointer-events: none;\n}\n\n.ion-justify-content-end ion-col {\n display: flex;\n justify-content: flex-end;\n}\n\n.ion-justify-content-start {\n display: flex;\n justify-content: flex-start;\n}\n\n.ion-color-primary {\n --ion-color-base: var(--ion-color-primary, #3880ff) !important;\n --ion-color-base-rgb: rgb(228, 228, 228) !important;\n --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;\n --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;\n --ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;\n --ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important;\n}\n\nion-item::part(native) {\n background-color: transparent;\n font-size: 14px;\n border: 0;\n}\n\n.adminLabel {\n font-size: 14px;\n}\n\n.container {\n display: flex;\n justify-content: center;\n padding: 3px 6px;\n margin: auto;\n}\n\n.header-title {\n padding-top: 1rem;\n}\n\n.toolbar-container {\n display: flex;\n justify-items: center;\n align-items: center;\n padding-top: 10px;\n padding-bottom: 5px;\n padding-left: 10%;\n}\n\n.custom-toolbar {\n -webkit-position: sticky;\n position: sticky;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 3px 6px;\n margin: auto;\n}\n\n.item-native::part(native),\nion-item.ion-focused,\nion-item.ion-focused::after,\nion-item.ion-focused::part(native),\nion-item.ion-focused::part(native)::after {\n background-color: transparent;\n}\n\n.admin-page-display {\n display: none;\n}\n\nimg:hover {\n cursor: pointer;\n}\n\nion-item.ion-focused::part(native)::after {\n background-color: white !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/header/header.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,eAAA;EACA,8BAAA;AACF;;AAEA;EACE,cAAA;AACF;;AAEA;EACE,YAAA;EACA,mBAAA;AACF;;AAEA;EACE,+BAAA;AACF;;AAEA;EACE,gDAAA;AACF;;AAEA;EACE,oBAAA;AACF;;AAEA;EACE,aAAA;EACA,yBAAA;AACF;;AAEA;EACE,aAAA;EACA,2BAAA;AACF;;AAEA;EACE,8DAAA;EACA,mDAAA;EACA,wEAAA;EACA,yFAAA;EACA,qEAAA;EACA,mEAAA;AACF;;AAEA;EACE,6BAAA;EACA,eAAA;EACA,SAAA;AACF;;AAEA;EACE,eAAA;AACF;;AAEA;EACE,aAAA;EACA,uBAAA;EACA,gBAAA;EACA,YAAA;AACF;;AAEA;EACE,iBAAA;AACF;;AAEA;EACE,aAAA;EACA,qBAAA;EACA,mBAAA;EACA,iBAAA;EACA,mBAAA;EACA,iBAAA;AACF;;AAGA;EACE,wBAAA;EACA,gBAAA;EACA,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,gBAAA;EACA,YAAA;AAAF;;AAGA;;;;;EAKE,6BAAA;AAAF;;AAGA;EACE,aAAA;AAAF;;AAGA;EACE,eAAA;AAAF;;AAIA;EACE,kCAAA;AADF\",\"sourcesContent\":[\".header {\\r\\n font-size: 20px;\\r\\n border-bottom: none !important;\\r\\n}\\r\\n\\r\\nh1.header {\\r\\n margin: auto 0;\\r\\n}\\r\\n\\r\\n.header-image {\\r\\n height: 3rem;\\r\\n padding-right: 1rem;\\r\\n}\\r\\n\\r\\n.header-image:focus {\\r\\n outline-color: white !important;\\r\\n}\\r\\n\\r\\n.profile-popover {\\r\\n --background: var(--ion-color-light) !important\\r\\n}\\r\\n\\r\\n#user-trigger {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.ion-justify-content-end ion-col {\\r\\n display: flex;\\r\\n justify-content: flex-end;\\r\\n}\\r\\n\\r\\n.ion-justify-content-start {\\r\\n display: flex;\\r\\n justify-content: flex-start;\\r\\n}\\r\\n\\r\\n.ion-color-primary {\\r\\n --ion-color-base: var(--ion-color-primary, #3880ff) !important;\\r\\n --ion-color-base-rgb: rgb(228, 228, 228) !important;\\r\\n --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;\\r\\n --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;\\r\\n --ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;\\r\\n --ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important;\\r\\n}\\r\\n\\r\\nion-item::part(native) {\\r\\n background-color: transparent;\\r\\n font-size: 14px;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n.adminLabel {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n padding: 3px 6px;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.header-title {\\r\\n padding-top: 1rem;\\r\\n}\\r\\n\\r\\n.toolbar-container {\\r\\n display: flex;\\r\\n justify-items: center;\\r\\n align-items: center;\\r\\n padding-top: 10px;\\r\\n padding-bottom: 5px;\\r\\n padding-left: 10%;\\r\\n}\\r\\n\\r\\n\\r\\n.custom-toolbar {\\r\\n -webkit-position: sticky;\\r\\n position: sticky;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n padding: 3px 6px;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.item-native::part(native),\\r\\nion-item.ion-focused,\\r\\nion-item.ion-focused::after,\\r\\nion-item.ion-focused::part(native),\\r\\nion-item.ion-focused::part(native)::after {\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.admin-page-display {\\r\\n display: none;\\r\\n}\\r\\n\\r\\nimg:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\nion-item.ion-focused::part(native)::after {\\r\\n background-color: white !important;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.delete-button {\n margin-bottom: 1.2vh;\n margin-right: -0.1vw;\n width: 2vh;\n height: 2vh;\n line-height: 2vw;\n}\n\n.activate-button {\n margin-bottom: -1.8vh;\n margin-right: -0.1vw;\n width: 2vh;\n height: 2vh;\n line-height: 2vw;\n background-color: red;\n}\n\n.a-button {\n margin: 1vw;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n text-decoration: none;\n color: white;\n outline-offset: 10px !important;\n letter-spacing: 0.5px;\n}\n\n.selected-page {\n text-decoration: underline;\n font-weight: bold;\n}\n\nion-fab.close-hover {\n visibility: hidden;\n}\n\nion-buttons:hover ion-fab.close-hover {\n visibility: visible;\n}\n\n.delete-modal .modal-wrapper {\n height: 30%;\n width: 90%;\n border-radius: 15px;\n}\n\nion-modal {\n --height: 12%;\n --width: 50%;\n --border-radius: 16px;\n}\n\n.modal-footer {\n position: fixed;\n bottom: 0;\n width: 100%;\n min-height: 56px;\n}\n\nion-icon {\n pointer-events: none;\n}\n\n@media (prefers-color-scheme: dark) {\n *:focus {\n outline-color: white !important;\n }\n}\n@media (prefers-color-scheme: light) {\n .a-button {\n color: #222428;\n outline-offset: 7px !important;\n }\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/header/page-button/page-button.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,oBAAA;EACA,oBAAA;EACA,UAAA;EACA,WAAA;EACA,gBAAA;AACF;;AACA;EACE,qBAAA;EACA,oBAAA;EACA,UAAA;EACA,WAAA;EACA,gBAAA;EACA,qBAAA;AAEF;;AACA;EACE,WAAA;EACA,eAAA;EACA,gBAAA;EACA,yBAAA;EACA,qBAAA;EACA,YAAA;EACA,+BAAA;EACA,qBAAA;AAEF;;AACA;EACE,0BAAA;EACA,iBAAA;AAEF;;AAEA;EACE,kBAAA;AACF;;AAEA;EACE,mBAAA;AACF;;AAGE;EACI,WAAA;EACA,UAAA;EACA,mBAAA;AAAN;;AAKA;EACE,aAAA;EACA,YAAA;EACA,qBAAA;AAFF;;AAKA;EACE,eAAA;EACA,SAAA;EACA,WAAA;EACA,gBAAA;AAFF;;AAKA;EACE,oBAAA;AAFF;;AAMA;EAEE;IACE,+BAAA;EAJF;AACF;AAOA;EAEE;IACE,cAAA;IACA,8BAAA;EANF;AACF\",\"sourcesContent\":[\".delete-button {\\r\\n margin-bottom: 1.2vh;\\r\\n margin-right: -0.1vw;\\r\\n width: 2vh;\\r\\n height: 2vh;\\r\\n line-height: 2vw;\\r\\n}\\r\\n.activate-button {\\r\\n margin-bottom: -1.8vh;\\r\\n margin-right: -0.1vw;\\r\\n width: 2vh;\\r\\n height: 2vh;\\r\\n line-height: 2vw;\\r\\n background-color: red;\\r\\n}\\r\\n\\r\\n.a-button {\\r\\n margin: 1vw;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n text-transform: uppercase;\\r\\n text-decoration: none;\\r\\n color: white;\\r\\n outline-offset: 10px !important;\\r\\n letter-spacing: 0.5px;\\r\\n}\\r\\n\\r\\n.selected-page {\\r\\n text-decoration: underline;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n\\r\\nion-fab.close-hover {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\nion-buttons:hover ion-fab.close-hover {\\r\\n visibility: visible;\\r\\n}\\r\\n\\r\\n.delete-modal {\\r\\n .modal-wrapper {\\r\\n height: 30%;\\r\\n width: 90%;\\r\\n border-radius: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\nion-modal {\\r\\n --height: 12%;\\r\\n --width: 50%;\\r\\n --border-radius: 16px;\\r\\n}\\r\\n\\r\\n.modal-footer {\\r\\n position: fixed;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n min-height: 56px;\\r\\n}\\r\\n\\r\\nion-icon {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n\\r\\n@media (prefers-color-scheme: dark) {\\r\\n\\r\\n *:focus {\\r\\n outline-color: white !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (prefers-color-scheme: light) {\\r\\n\\r\\n .a-button {\\r\\n color: #222428;\\r\\n outline-offset: 7px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `ion-modal {\n --border-radius: 16px;\n}\n\n.reorder-title {\n text-align: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/core/header/page-reorder/page-reorder.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAA;AACF;;AAEA;EACE,kBAAA;AACF\",\"sourcesContent\":[\"ion-modal {\\r\\n --border-radius: 16px;\\r\\n}\\r\\n\\r\\n.reorder-title {\\r\\n text-align: center;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n"],"names":["NgModule","PreloadAllModules","RouterModule","Constants","PageGuardService","PageGuardAuthService","routes","path","redirectTo","pathMatch","loadChildren","then","m","LoginPageModule","DocumentEditorModule","canActivate","data","role","AdminPageRole","AdminContentModule","RenderContentModule","AdminDocumentModule","ProductModule","AppRoutingModule","__decorate","imports","forRoot","preloadingStrategy","anchorScrolling","exports","Component","ActivatedRoute","Router","AuthService","AppComponent","constructor","auth","router","route","currentYear","Date","getFullYear","ngOnInit","checkCurrentToken","x","setTimeout","goTop","document","getElementById","scrollIntoView","behavior","block","inline","selector","template","__NG_CLI_RESOURCE__0","APP_INITIALIZER","ErrorHandler","BrowserModule","RouteReuseStrategy","IonicModule","IonicRouteStrategy","CoreModule","IonicStorageModule","HttpClientModule","HTTP_INTERCEPTORS","AuthInterceptor","StorageService","ErrorHandlerService","HttpInterceptorService","ToastrModule","BrowserAnimationsModule","NgxSpinnerModule","AppModule","declarations","type","providers","provide","useClass","multi","useFactory","ss","init","deps","bootstrap","CdfAdminRole","DirectoryEmpty","TimeOutError","LogoDark","LogoLight","CommonModule","HeaderComponent","PageReorderComponent","ReactiveFormsModule","PageButtonComponent","Injectable","_this","_asyncToGenerator","asCurrentToken","r","check","undefined","providedIn","getSavedRole","ViewChild","combineLatest","map","PageService","authService","pageService","isAdmin","$PageParams","$Pages","$existingPages","$pageSelected","hideLabel","pages","adminPages","$headerPages","pipe","pageParams","selected","activePage","filterPages","find","y","name","url","id","sort","a","b","position","filter","isContentPage","authenticated$","subscribe","result","window","location","pathname","getPages","next","forAdmin","forEach","ap","cssClass","snapshot","queryParamMap","get","page","includes","adminPageSelect","selectedText","setText","displayName","value","error","complete","ngAfterViewInit","logout","goto","isNaN","toUpperCase","navigate","queryParams","pageId","contentId","pageName","queryParamsHandling","setSelectedPage","goHomeKey","event","key","goHome","args","EventEmitter","Input","Output","pageLinkClicked","onWillDismiss","cancelDelete","deleteModal","dismiss","deletePage","cancelActivate","activateModal","activatePage","active","deactivatePage","pageClicked","emit","openActivateModal","present","IonModal","cancel","modal","confirm","index","length","console","log","reorderItems","itemMove","splice","detail","from","to","throwError","catchError","switchMap","storage","intercept","req","authToken","clone","headers","set","authReq","handle","err","status","message","statusText","Injector","NotificationService","HorizontalPostion","InformationType","VerticalPostion","injector","handleBadRequest","values","Object","Errors","slice","handleError","logError","showMessage","errorMessage","createDataNotification","getTitle","showNotification","logInfo","info","title","horizontalPostion","right","verticalPostion","top","logWarning","warning","getErrorMessage","messageDetail","exceptionMessage","errorHandler","request","res","errorMsg","ErrorEvent","navigateByUrl","Error","HttpClient","HttpParams","BehaviorSubject","tap","http","auth$","login","username","password","post","token","remove","href","_this2","getSavedUsername","_this3","getSavedUserProduct","_this4","_this5","getSavedPages","_this6","setSavedUsername","_this7","getSelectedPage","_this8","_this9","removeSelectedPage","_this10","removeSavedUsername","_this11","getWithParams","queryString","toQueryString","getWithParamsForFile","observe","responseType","put","getUserInfo","getSampleData","query","parts","property","push","encodeURIComponent","join","setParameter","routerParams","hasOwnProperty","defer","LocalModificationService","$StorageAddedBoxesAction","$StorageAddedBoxes","addKey","$AddedBoxes","storageAddedBoxes","storageAddedBoxesAction","$StorageRemovedBoxesAction","$StorageRemovedBoxes","removeKey","$RemovedBoxes","storageRemovedBoxes","storageRemovedBoxesAction","$StorageLayoutUpdatesAction","$StorageLayoutUpdates","layoutKey","$LayoutUpdates","storageLayoutUpdates","storageLayoutUpdatesAction","addBox","addedBoxes","removeBox","removedBoxes","updateLayout","layout","current","existingIndex","findIndex","resetPageChanges","resetAddedBoxes","resetRemovedBoxes","resetLayoutUpdates","indexes","spliceCount","newContentBlock","ind","getMaxContentId","getMaxPageContentId","ToastrService","toastr","getDisplayMessage","success","enableHtml","disableTimeOut","timeOut","positionClass","showMessageSuccess","showToast","showMessageWarning","showMessageError","showMessageInformation","ToastController","of","Page","localMod","toastController","isAuthorized","homePage","getPage","getHomePage","getPagesFromStorage","pageSelect","presentResultToast","toast","create","duration","color","Storage","_storage","keys","Content","PageContent","CustomerContent","PageModel","PageModelN","ContentType","SelectOption","PageContentBox","boxes","BoxContent","Product","DocumentLink","ContactType","CaseDelete","environment","production","customerAdmin","enableProdMode","platformBrowserDynamic","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[21,22]}