{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/observable-request/observable-request.component.ts","./src/app/components/observable-request/observable-request.component.html","./src/app/components/pages/bad-request/bad-request.component.ts","./src/app/components/pages/bad-request/bad-request.component.html","./src/app/components/pages/documents/documents.component.ts","./src/app/components/pages/documents/documents.component.html","./src/app/components/pages/dynamic-page/dynamic-page.component.ts","./src/app/components/pages/dynamic-page/dynamic-page.component.html","./src/app/components/pages/functions/functions.component.ts","./src/app/components/pages/functions/functions.component.html","./src/app/components/pages/home/home.component.ts","./src/app/components/pages/home/home.component.html","./src/app/components/pages/not-found/not-found.component.ts","./src/app/components/pages/not-found/not-found.component.html","./src/app/components/promise-request/promise-request.component.ts","./src/app/components/promise-request/promise-request.component.html","./src/app/components/shared/action-bar/action-bar.component.ts","./src/app/components/shared/action-bar/action-bar.component.html","./src/app/components/shared/alert/alert.component.ts","./src/app/components/shared/alert/alert.component.html","./src/app/components/shared/alert/alert.enumerate.ts","./src/app/components/shared/alert/alert.service.ts","./src/app/components/shared/blank/blank.component.ts","./src/app/components/shared/checkbox-filter/checkbox-filter.component.ts","./src/app/components/shared/custom-autocomplete/custom-autocomplete.component.ts","./src/app/components/shared/custom-autocomplete/custom-autocomplete.component.html","./src/app/components/shared/custom-btn/custom-btn.component.ts","./src/app/components/shared/custom-btn/custom-btn.component.html","./src/app/components/shared/custom-checkbox/custom-checkbox.component.ts","./src/app/components/shared/custom-checkbox/custom-checkbox.component.html","./src/app/components/shared/custom-datepicker/custom-datepicker.component.service.ts","./src/app/components/shared/custom-datepicker/custom-datepicker.component.ts","./src/app/components/shared/custom-datepicker/custom-datepicker.component.html","./src/app/components/shared/custom-icon-btn/custom-icon-btn.component.ts","./src/app/components/shared/custom-icon-btn/custom-icon-btn.component.html","./src/app/components/shared/custom-multiselect/autofocus.directive.ts","./src/app/components/shared/custom-multiselect/custom-multiselect.component.ts","./src/app/components/shared/custom-multiselect/custom-multiselect.component.html","./src/app/components/shared/custom-multiselect/custom-multiselect.module.ts","./src/app/components/shared/custom-multiselect/off-click.directive.ts","./src/app/components/shared/custom-multiselect/search-filter.pipe.ts","./src/app/components/shared/custom-select-values/custom-select-values.component.ts","./src/app/components/shared/custom-select-values/custom-select-values.component.html","./src/app/components/shared/custom-select/custom-select.component.ts","./src/app/components/shared/custom-select/custom-select.component.html","./src/app/components/shared/custom-table-paginator/custom-table-paginator.component.ts","./src/app/components/shared/custom-table-paginator/custom-table-paginator.component.html","./src/app/components/shared/custom-text-field/custom-text-field.component.ts","./src/app/components/shared/custom-text-field/custom-text-field.component.html","./src/app/components/shared/data-table/data-table.component.ts","./src/app/components/shared/data-table/data-table.component.html","./src/app/components/shared/dialog-download/dialog-download.component.ts","./src/app/components/shared/dialog-download/dialog-download.component.html","./src/app/components/shared/dialog/app-info/app-info.component.ts","./src/app/components/shared/dialog/app-info/app-info.component.html","./src/app/components/shared/dialog/dialog.component.ts","./src/app/components/shared/dialog/dialog.component.html","./src/app/components/shared/dialog/save-confirm/save-confirm.component.ts","./src/app/components/shared/dialog/save-confirm/save-confirm.component.html","./src/app/components/shared/dnd/dnd.component.ts","./src/app/components/shared/dnd/dnd.component.html","./src/app/components/shared/email-preview/email-preview.component.ts","./src/app/components/shared/email-preview/email-preview.component.html","./src/app/components/shared/filter/custom-filter/custom-filter.component.ts","./src/app/components/shared/filter/custom-filter/custom-filter.component.html","./src/app/components/shared/filter/custom-filter/filter.interface.ts","./src/app/components/shared/filter/filter-panel/filter-panel.component.ts","./src/app/components/shared/filter/filter-panel/filter-panel.component.html","./src/app/components/shared/filter/filter-settings/filter-settings.component.ts","./src/app/components/shared/filter/filter-settings/filter-settings.component.html","./src/app/components/shared/loading/loading.component.ts","./src/app/components/shared/loading/loading.component.html","./src/app/components/shared/menu-list-item/menu-list-item.component.ts","./src/app/components/shared/menu-list-item/menu-list-item.component.html","./src/app/components/shared/multi-select/multi-select.component.ts","./src/app/components/shared/multi-select/multi-select.component.html","./src/app/components/shared/template/general/general.component.ts","./src/app/components/shared/template/general/general.component.html","./src/app/components/shared/template/language/add-language/add-language.component.ts","./src/app/components/shared/template/language/add-language/add-language.component.html","./src/app/components/shared/template/language/add-translation/add-translation.component.ts","./src/app/components/shared/template/language/add-translation/add-translation.component.html","./src/app/components/shared/template/language/language.component.ts","./src/app/components/shared/topbar/topbar.component.ts","./src/app/components/shared/topbar/topbar.component.html","./src/app/components/shared/user-settings/user-settings.component.ts","./src/app/components/shared/user-settings/user-settings.component.html","./src/app/components/shared/virtual-scroll/virtual-scroll.component.ts","./src/app/components/shared/virtual-scroll/virtual-scroll.component.html","./src/app/directives/dnd.directive.ts","./src/app/directives/utils/back-navigation.directive.ts","./src/app/directives/utils/framework-type.directive.ts","./src/app/pipes/camel2snake.pipe.ts","./src/app/pipes/cdk-height-calculator.pipe.ts","./src/app/pipes/compare-editing.pipe.ts","./src/app/pipes/get-list-tooltip-v2-classic.pipe.ts","./src/app/pipes/get-list-tooltip-v2.pipe.ts","./src/app/pipes/get-list-tooltip.pipe.ts","./src/app/pipes/get-options.pipe.ts","./src/app/pipes/get-value-on-condition-impure.pipe.ts","./src/app/pipes/get-value-on-condition.pipe.ts","./src/app/pipes/have-action.pipe.ts","./src/app/pipes/have-one-action.pipe.ts","./src/app/pipes/refactor-name.pipe.ts","./src/app/pipes/removeDoubleQuote.pipe.ts","./src/app/pipes/removeDoubleQuoteAndSlash.pipe.ts","./src/app/pipes/safe-url.pipe.ts","./src/app/pipes/sort-array.pipe.ts","./src/app/pipes/string-array-translation.pipe.ts","./src/app/services/announcements.service.ts","./src/app/services/auth.interceptor.service.ts","./src/app/services/auth.service.ts","./src/app/services/check-for-update.service.ts","./src/app/services/crud/general.service.ts","./src/app/services/filter-controller.service.ts","./src/app/services/http-spinner.interceptor.service.ts","./src/app/services/layout.service.ts","./src/app/services/logger.http.interceptor.service.ts","./src/app/services/nav.service.ts","./src/app/services/spinner.service.ts","./src/app/services/table-controller.service.ts","./src/app/services/translation-service.ts","./src/app/services/utils/messaging.service.ts","./src/app/services/utils/navigation.service.ts","./src/app/test-component/test-component.component.ts","./src/app/test-component/test-component.component.html","./src/app/utils/generic.ts","./src/app/version.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import {NgModule} from \"@angular/core\";\nimport {RouterModule, ROUTES, Routes} from \"@angular/router\";\nimport {MsalBroadcastService, MsalGuard, MsalService} from \"@azure/msal-angular\";\nimport {AuthService} from \"./services/auth.service\";\nimport {NotFoundComponent} from \"./components/pages/not-found/not-found.component\";\nimport {HomeComponent} from \"./components/pages/home/home.component\";\nimport {BlankComponent} from \"./components/shared/blank/blank.component\";\nimport {GeneralComponent} from \"./components/shared/template/general/general.component\";\nimport {DocumentsComponent} from \"./components/pages/documents/documents.component\";\nimport {LanguageComponent} from \"./components/shared/template/language/language.component\";\nimport {BadRequestComponent} from \"./components/pages/bad-request/bad-request.component\";\nimport {FunctionsComponent} from \"./components/pages/functions/functions.component\";\n\nconst routes: Routes = [\n {\n path: \"\",\n component: HomeComponent,\n pathMatch: \"full\",\n canActivate: [MsalGuard],\n },\n {\n path: \"utils\",\n component: FunctionsComponent,\n pathMatch: \"full\",\n canActivate: [MsalGuard],\n },\n {\n path: \"page\",\n children: [\n {\n path: \"primary\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"secondary\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"rework\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"declaration\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"eur\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"balance\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n\t\t{\n\t\t\tpath: \"receipt\",\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: \"**\",\n\t\t\t\t\tcomponent: GeneralComponent,\n\t\t\t\t\tcanActivate: [MsalGuard],\n\t\t\t\t},\n\t\t\t],\n\t\t\tcanActivate: [MsalGuard],\n\t\t},\n {\n path: \"warehousing\",\n children: [\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"masterdata\",\n children: [/**\n {\n path: \"translation\",\n component: LanguageComponent,\n canActivate: [MsalGuard],\n },\n\t\t\t */\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"documents\",\n children: [\n {\n path: \"other\",\n component: DocumentsComponent,\n canActivate: [MsalGuard],\n },\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"management\",\n children: [/**\n {\n path: \"languages\",\n component: LanguageComponent,\n canActivate: [MsalGuard],\n },\n {\n path: \"translation\",\n component: LanguageComponent,\n canActivate: [MsalGuard],\n },\n\t\t\t */\n {\n path: \"**\",\n component: GeneralComponent,\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n ],\n canActivate: [MsalGuard],\n },\n {\n path: \"blank\",\n component: BlankComponent,\n },\n {\n path: \"404\",\n component: NotFoundComponent,\n },\n {\n path: \"400\",\n component: BadRequestComponent,\n },\n {\n path: \"**\",\n redirectTo: \"/404\",\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n providers: [\n AuthService,\n MsalService,\n MsalBroadcastService,\n {\n provide: ROUTES,\n useFactory: () => {\n return [...routes];\n },\n multi: true,\n deps: [AuthService, MsalService, MsalBroadcastService],\n },\n ],\n})\nexport class AppRoutingModule {\n}\n","import {\n\tAfterViewChecked,\n\tAfterViewInit, ChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tisDevMode,\n\tNgZone, OnInit,\n\tViewChild\n} from '@angular/core';\nimport {BehaviorSubject, filter, forkJoin, interval, Observable, of, Subject, Subscription, takeUntil} from 'rxjs';\nimport {MSAL_GUARD_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalService,} from '@azure/msal-angular';\nimport {InteractionStatus, RedirectRequest,} from '@azure/msal-browser';\nimport {Clipboard} from '@angular/cdk/clipboard';\nimport {AuthService} from './services/auth.service';\nimport {NavService} from './services/nav.service';\nimport {NavItem} from './models/NavItem';\nimport {MediaMatcher} from '@angular/cdk/layout';\nimport {NavigationService} from \"./services/utils/navigation.service\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport {GeneralService} from \"./services/crud/general.service\";\nimport {CheckForUpdateService} from \"./services/check-for-update.service\";\nimport {SpinnerService} from \"./services/spinner.service\";\nimport {cloneDeep} from \"lodash\";\nimport {catchError, map, tap} from \"rxjs/operators\";\nimport {AnnounceService} from \"./services/announcements.service\";\nimport {FormControl} from '@angular/forms';\nimport {HttpSpinnerInterceptorService} from './services/http-spinner.interceptor.service';\nimport {TranslationService} from \"./services/translation-service\";\n\nexport interface Announce {\n id: string\n priority: string\n text: string\n message_goes_on: string\n message_goes_off: string\n block_users_starts: string\n}\n\nexport interface ExtendedAnnounce {\n id: string\n priority: string\n text: string\n message_goes_on: string\n message_goes_off: string\n block_users_starts: string\n interval: Subscription\n}\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit,AfterViewChecked {\n title = 'EUR';\n\n private readonly _destroying$ = new Subject();\n\n _ShowTableSubject = new BehaviorSubject('');\n ShowTableSubject = this._ShowTableSubject.asObservable();\n\n isLoggedIn: boolean = false;\n email: string = this.msalService.instance.getActiveAccount()?.username || '';\n\n role: String = '';\n\n appDrawer!: ElementRef;\n\n @ViewChild('appDrawer', {static: false}) set drawer(drawer: ElementRef) {\n if (drawer) {\n this.appDrawer = drawer;\n }\n }\n\n mobileQuery!: MediaQueryList;\n\n private _mobileQueryListener!: () => void;\n\n navItems: NavItem[] = [];\n\n allerts: ExtendedAnnounce[] = [];\n\n foundYes: boolean = false;\n\n isLoading: boolean = true;\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private msalService: MsalService,\n private broadcastService: MsalBroadcastService,\n private authService: AuthService,\n private clipboard: Clipboard,\n private navService: NavService,\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n private navigation: NavigationService,\n public translate: TranslateService,\n private httpService: GeneralService,\n private swUpdate: CheckForUpdateService,\n public spinner: SpinnerService,\n private ngZone: NgZone,\n public allertService: AnnounceService,\n\tpublic translationService: TranslationService\n ) {\n\n this.swUpdate.checkVersion();\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\n this._mobileQueryListener = () => changeDetectorRef.detectChanges();\n this.mobileQuery.addListener(this._mobileQueryListener);\n\n this.httpService.getAllertByValidity().subscribe(res => {\n\n\n this.allertService.replaceAllert(res?.oContent?.map(announce => {\n\n const self = cloneDeep({ // Store a reference to the object\n id: announce.id,\n priority: announce.priority,\n text: announce.text,\n message_goes_on: announce.message_goes_on,\n message_goes_off: announce.message_goes_off,\n block_users_starts: announce.block_users_starts,\n interval: interval(5000).pipe(tap(temp => {\n\n\n if (new Date(self.block_users_starts) <= new Date() && new Date(self.message_goes_off) > new Date() && self.block_users_starts !== null && (self.block_users_starts !== 'Thu Jan 01 1970 01:00:00 GMT+0100')) {\n\n self.priority = 'custom'; // Access object's properties using sel\n self.interval.unsubscribe();//\n this.pagesInit();\n // this.navigation.home()\n } else if (new Date(announce.message_goes_off) <= new Date()) {\n self.interval.unsubscribe();\n this.pagesInit();\n // this.navigation.home();\n } else {\n this.pagesInit();\n self.priority = 'custom';\n }\n\n })).subscribe()\n });\n return self;\n }) ?? []);\n\n });\n\n }\n\n /*updateToLatest(): void {\n console.log('Updating to latest version.');\n this.swUpdate.activateUpdate().then(() => {\n localStorage.clear();\n sessionStorage.clear();\n window.location.reload();\n });\n }*/\n\n ngOnInit(): void {\n\tthis.isLoading = true;\n\t//Langauges stuff...\n\tconst defualtLanguage = \"en\";\n\t//The follwings localStorage element are setted when the user change language\n\tlet selectedLanguage:string = localStorage.getItem('selectedLanguage')?? defualtLanguage; //Id of the language\n\tthis.translate.addLangs([selectedLanguage]);\n\tthis.translate.defaultLang = defualtLanguage;\n\tthis.translate.currentLang = selectedLanguage;\n\n\tconst getTranslationsForDefault: Observable = this.translate.getTranslation(defualtLanguage);\n\tconst setCurrentLanguageAndGetTranslation = this.translate.getTranslation(selectedLanguage);\n\tconst getAvailableLanguages = this.translationService.getAvailableLanguages();\n\tforkJoin({\n\t\t defaultTranslation: getTranslationsForDefault,\n\t\t currentTranslation: setCurrentLanguageAndGetTranslation,\n\t\t availableLanguages: getAvailableLanguages})\n\t.pipe(catchError((error: any, caught: any) =>\n\t\t {\n\t\t\t console.error(\"Error loading translation information: \", error);\n\t\t\t return of(error);\n\t\t }\n\t))\n\t.subscribe(res => {\n\t\t this.translate.setTranslation(selectedLanguage, res.currentTranslation); //Current language\n\t\t this.translate.setTranslation(defualtLanguage, res.defaultTranslation); //Default language\n\t\t this.translate.addLangs(res.availableLanguages ?? ['en']); //Add the list of available langauges\n\t\t this.isLoading = false;\n\t});\n\n localStorage.setItem('changes', 'false')\n this.broadcastService.inProgress$\n .pipe(\n filter(\n (status: InteractionStatus) => status === InteractionStatus.None\n ),\n takeUntil(this._destroying$)\n )\n .subscribe(() => {\n this.isLoggedIn = this.msalService.instance.getAllAccounts().length > 0;\n\n\n if (this.isLoggedIn) {\n this.msalService.instance.setActiveAccount(\n this.msalService.instance.getAllAccounts()[0]\n );\n\n this.authService.nameBS.next(\n this.msalService.instance.getActiveAccount()?.name || ''\n );\n\n this.authService.emailBS.next(\n this.msalService.instance.getActiveAccount()?.username || ''\n );\n\n this.authService.getUser().subscribe(res => {\n\n if (!!(res['oContent'])['sFilterSettings']) {\n const filter = JSON.parse((res['oContent'])['sFilterSettings'])\n localStorage.setItem('filter', filter['filters'])\n }\n\n })\n\n\n this.pagesInit();\n }\n });\n\n /*this.httpService.getAllertByValidity().subscribe(res => {\n this.allerts = res?.oContent?.map(announce => (\n new ExtendedAnnounce(\n announce.id,\n announce.priority,\n announce.text,\n announce.message_goes_on,\n announce.message_goes_off,\n announce.block_users_starts,\n\n (id: string) => {\n this.allerts = this.allerts.filter(a => a.id !== id)\n })\n )) ?? []\n\n\n });*/\n\n\n }\n\n\tngAfterViewChecked()\n\t{\n\t\tif(this.appDrawer){\n\t\t\tthis.navService.appDrawer = this.appDrawer;\n\t\t}\n\t}\n\n ngOnDestroy(): void {\n this._destroying$.next(undefined);\n this._destroying$.complete();\n }\n\n getToken(): string {\n return String(localStorage.getItem('token'));\n }\n\n copyToken(): void {\n this.ShowTableSubject.subscribe((token) => {\n this.clipboard.copy(token);\n });\n }\n\n login(): void {\n if (!!!this.msalService.instance.getActiveAccount()) {\n if (this.msalGuardConfig.authRequest) {\n this.msalService.loginRedirect({\n ...this.msalGuardConfig.authRequest,\n } as RedirectRequest);\n } else {\n this.msalService.loginRedirect();\n }\n } else {\n this._ShowTableSubject.next(\n this.msalService.instance.getActiveAccount()?.idToken\n );\n\n localStorage.setItem(\n 'token',\n this.msalService.instance.getActiveAccount()?.idToken\n );\n }\n }\n\n logout() {\n this.msalService.instance.logout();\n }\n\n isDevMode() {\n return isDevMode();\n }\n\n private pagesInit() {\n this.authService.getMenu().subscribe((res) => {\n /*this.httpService.getAllertByValidity().subscribe(res => {\n this.allerts = res?.oContent?.map(announce => (\n new ExtendedAnnounce(\n announce.id,\n announce.priority,\n announce.text,\n announce.message_goes_on,\n announce.message_goes_off,\n announce.block_users_starts,\n\n (id: string) => {\n this.allerts = this.allerts.filter(a => a.id !== id)\n })\n )) ?? []\n\n\n });*/\n if (!!res) {\n this.navItems = res['oContent']['userMenus'];\n\n this.authService.roleBS.next(\n res['oContent']['userRoles'][0]['_sRoleId']\n );\n }\n });\n\n this.authService.getPages().subscribe(res => {\n /*this.httpService.getAllertByValidity().subscribe(res => {\n this.allerts = res?.oContent?.map(announce => (\n new ExtendedAnnounce(\n announce.id,\n announce.priority,\n announce.text,\n announce.message_goes_on,\n announce.message_goes_off,\n announce.block_users_starts,\n\n (id: string) => {\n this.allerts = this.allerts.filter(a => a.id !== id)\n })\n )) ?? []\n\n\n });*/\n this.navigation.setNavigationItems((res['oContent'])['pages']);\n })\n }\n}\n","\n\n\t
\n\t\t\n\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t\n\t
\n
\n\n\n\n\t\n\n\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n\n\n\n\t\t\t\n\t\t\n\n\n\n\n\n\t\t\n\t\t\t\n\n\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t {{alert.text}}\n\t\t\t\t\n\n\t\t\t
\n\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

{{ spinner.spinnerTitles.length > 0 ? spinner.spinnerTitles[0] : '...' }}

\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\n\n\t\t
\n\n\t
\n\n
+","import {NgModule} from \"@angular/core\";\nimport {BrowserModule} from \"@angular/platform-browser\";\n\nimport {AppRoutingModule} from \"./app-routing.module\";\nimport {AppComponent} from \"./app.component\";\nimport {environment} from \"../environments/environment\";\nimport {NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\nimport {HIGHLIGHT_OPTIONS, HighlightModule, HighlightOptions} from \"ngx-highlightjs\";\nimport {TestComponentComponent} from \"./test-component/test-component.component\";\nimport {ObservableRequestComponent} from \"./components/observable-request/observable-request.component\";\nimport {PromiseRequestComponent} from \"./components/promise-request/promise-request.component\";\n\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {DndDirective} from \"./directives/dnd.directive\";\n\nimport {MatMenuModule} from \"@angular/material/menu\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatToolbarModule} from \"@angular/material/toolbar\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatSidenavModule} from \"@angular/material/sidenav\";\nimport {MatListModule} from \"@angular/material/list\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\n\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalBroadcastService,\n MsalGuard,\n MsalGuardConfiguration,\n MsalInterceptor,\n MsalInterceptorConfiguration,\n MsalModule,\n MsalRedirectComponent,\n MsalService,\n} from \"@azure/msal-angular\";\nimport {\n BrowserCacheLocation,\n InteractionType,\n IPublicClientApplication,\n LogLevel,\n PublicClientApplication,\n} from \"@azure/msal-browser\";\nimport {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from \"@angular/common/http\";\nimport {TopbarComponent} from \"./components/shared/topbar/topbar.component\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport {AuthService} from \"./services/auth.service\";\nimport {NotFoundComponent} from \"./components/pages/not-found/not-found.component\";\nimport {DynamicPageComponent} from \"./components/pages/dynamic-page/dynamic-page.component\";\nimport {MenuListItemComponent} from \"./components/shared/menu-list-item/menu-list-item.component\";\nimport {AuthInterceptorService} from \"./services/auth.interceptor.service\";\nimport {HomeComponent} from \"./components/pages/home/home.component\";\nimport {NavService} from \"./services/nav.service\";\nimport {CustomBtnComponent} from \"./components/shared/custom-btn/custom-btn.component\";\nimport {DataTableComponent} from \"./components/shared/data-table/data-table.component\";\nimport {CustomTextFieldComponent} from \"./components/shared/custom-text-field/custom-text-field.component\";\nimport {ActionBarComponent} from \"./components/shared/action-bar/action-bar.component\";\nimport {AlertComponent} from \"./components/shared/alert/alert.component\";\nimport {LoadingComponent} from \"./components/shared/loading/loading.component\";\nimport {EmailPreviewComponent} from \"./components/shared/email-preview/email-preview.component\";\nimport {VirtualScrollComponent} from \"./components/shared/virtual-scroll/virtual-scroll.component\";\nimport {UserSettingsComponent} from \"./components/shared/user-settings/user-settings.component\";\nimport {CheckboxFilterComponent} from \"./components/shared/checkbox-filter/checkbox-filter.component\";\nimport {BlankComponent} from \"./components/shared/blank/blank.component\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {CustomCheckboxComponent} from \"./components/shared/custom-checkbox/custom-checkbox.component\";\nimport {CustomFilterComponent} from \"./components/shared/filter/custom-filter/custom-filter.component\";\nimport {MatSelectModule} from \"@angular/material/select\";\nimport {CustomDatepickerComponent} from \"./components/shared/custom-datepicker/custom-datepicker.component\";\nimport {CustomSelectComponent} from \"./components/shared/custom-select/custom-select.component\";\n//import { CustomMultiselectComponent } from './components/shared/custom-multiselect/custom-multiselect.component';\nimport {CustomMultiselectModule} from \"./components/shared/custom-multiselect/custom-multiselect.module\";\nimport {FilterPanelComponent} from \"./components/shared/filter/filter-panel/filter-panel.component\";\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\nimport {MatExpansionModule} from \"@angular/material/expansion\";\nimport {FilterSettingsComponent} from \"./components/shared/filter/filter-settings/filter-settings.component\";\nimport {MAT_DIALOG_DATA, MatDialogModule, MatDialogRef} from \"@angular/material/dialog\";\nimport {\n CustomTablePaginatorComponent\n} from \"./components/shared/custom-table-paginator/custom-table-paginator.component\";\nimport {RefactorNamePipe} from \"./pipes/refactor-name.pipe\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {CustomAutocompleteComponent} from \"./components/shared/custom-autocomplete/custom-autocomplete.component\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {GeneralComponent} from \"./components/shared/template/general/general.component\";\nimport {DndComponent} from \"./components/shared/dnd/dnd.component\";\nimport {DialogComponent} from \"./components/shared/dialog/dialog.component\";\nimport {HaveActionPipe} from \"./pipes/have-action.pipe\";\nimport {CustomSelectValuesComponent} from \"./components/shared/custom-select-values/custom-select-values.component\";\nimport {MatDatepickerModule} from \"@angular/material/datepicker\";\nimport {MatNativeDateModule} from \"@angular/material/core\";\nimport {DocumentsComponent} from \"./components/pages/documents/documents.component\";\nimport {BackNavigationDirective} from \"./directives/utils/back-navigation.directive\";\nimport {GetListTooltipPipe} from \"./pipes/get-list-tooltip.pipe\";\nimport {GetValueOnConditionPipe} from \"./pipes/get-value-on-condition.pipe\";\nimport {CompareEditingPipe} from \"./pipes/compare-editing.pipe\";\nimport {HttpLoggerInterceptor} from \"./services/logger.http.interceptor.service\";\nimport {AppInfoComponent} from \"./components/shared/dialog/app-info/app-info.component\";\nimport {MatSlideToggleModule} from \"@angular/material/slide-toggle\";\nimport {GetOptionsPipe} from \"./pipes/get-options.pipe\";\nimport {TranslateLoader, TranslateModule} from \"@ngx-translate/core\";\nimport {Observable} from \"rxjs\";\nimport {GeneralService} from \"./services/crud/general.service\";\nimport {LanguageComponent} from \"./components/shared/template/language/language.component\";\nimport {Camel2SnakePipe} from \"./pipes/camel2snake.pipe\";\nimport {AddLanguageComponent} from \"./components/shared/template/language/add-language/add-language.component\";\nimport {RemoveDoubleQuotePipe} from \"./pipes/removeDoubleQuote.pipe\";\nimport {RemoveDoubleQuoteAndSlachPipe} from \"./pipes/removeDoubleQuoteAndSlash.pipe\";\nimport {AddTranslationComponent} from \"./components/shared/template/language/add-translation/add-translation.component\";\nimport {HaveOneActionPipe} from \"./pipes/have-one-action.pipe\";\nimport {GetValueOnConditionImpurePipe} from \"./pipes/get-value-on-condition-impure.pipe\";\nimport {StringArrayTranslationPipe} from \"./pipes/string-array-translation.pipe\";\nimport {ScrollingModule} from \"@angular/cdk/scrolling\";\nimport {CheckForUpdateService} from \"./services/check-for-update.service\";\nimport {CdkHeightCalculatorPipe} from \"./pipes/cdk-height-calculator.pipe\";\nimport {BadRequestComponent} from \"./components/pages/bad-request/bad-request.component\";\nimport {CustomIconBtnComponent} from \"./components/shared/custom-icon-btn/custom-icon-btn.component\";\nimport {HttpSpinnerInterceptorService} from \"./services/http-spinner.interceptor.service\";\nimport {FunctionsComponent} from \"./components/pages/functions/functions.component\";\nimport {GetListTooltipV2Pipe} from \"./pipes/get-list-tooltip-v2.pipe\";\nimport {GetListTooltipV2ClassicPipe} from \"./pipes/get-list-tooltip-v2-classic.pipe\";\nimport {ngxLoadingAnimationTypes, NgxLoadingModule} from \"ngx-loading\";\nimport {TitleCasePipe} from \"@angular/common\";\nimport {DialogDownloadComponent} from './components/shared/dialog-download/dialog-download.component';\nimport {SaveConfirmComponent} from \"./components/shared/dialog/save-confirm/save-confirm.component\";\nimport {SafeUrlPipe} from \"./pipes/safe-url.pipe\";\nimport {SortArrayPipe} from \"./pipes/sort-array.pipe\";\nimport {FrameworkTypeDirective} from \"./directives/utils/framework-type.directive\";\nimport { MultiSelectComponent } from './components/shared/multi-select/multi-select.component';\nimport {TranslationService} from \"./services/translation-service\";\n\n\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\n\nexport function loggerCallback(logLevel: LogLevel, message: string) {\n}\n\nexport function MSALInstanceFactory(): IPublicClientApplication {\n return new PublicClientApplication({\n auth: {\n clientId: environment.clientId,\n authority: environment.stsAuthority,\n redirectUri: `${window.location.origin}/eur`,\n postLogoutRedirectUri: `${window.location.origin}/eur`,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11. Remove this line to use Angular Universal\n },\n system: {\n loggerOptions: {\n loggerCallback,\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false,\n },\n iframeHashTimeout: 9000,\n },\n });\n}\n\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map>();\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap,\n };\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: environment.clientScope.toLowerCase().split(\" \"),\n },\n loginFailedRoute: \"/\",\n };\n}\n\nexport function httpTranslateLoader(http: HttpClient, translationService: TranslationService) {\n return new TranslationLoader(http, translationService);\n}\n\nexport class TranslationLoader implements TranslateLoader {\n constructor(private http: HttpClient, private translationService: TranslationService) {\n }\n\n getTranslation(lang: string): Observable {\n return new Observable((observer) => {\n this.translationService.getLanguage(lang).subscribe(res => {\n observer.next(res);\n observer.complete();\n })\n })\n\n //return ;\n }\n}\n\n@NgModule({\n\tdeclarations: [\n\t\tAppComponent,\n\t\tTestComponentComponent,\n\t\tObservableRequestComponent,\n\t\tPromiseRequestComponent,\n\t\tDndDirective,\n\t\tTopbarComponent,\n\t\tNotFoundComponent,\n\t\tDynamicPageComponent,\n\t\tMenuListItemComponent,\n\t\tHomeComponent,\n\t\tDataTableComponent,\n\t\tCustomBtnComponent,\n\t\tCustomTextFieldComponent,\n\t\tActionBarComponent,\n\t\tAlertComponent,\n\t\tLoadingComponent,\n\t\tEmailPreviewComponent,\n\t\tVirtualScrollComponent,\n\t\tUserSettingsComponent,\n\t\tCheckboxFilterComponent,\n\t\tBlankComponent,\n\t\tCustomCheckboxComponent,\n\t\tCustomFilterComponent,\n\t\tCustomDatepickerComponent,\n\t\tCustomSelectComponent,\n\t\tFilterPanelComponent,\n\t\tFilterSettingsComponent,\n\t\tCustomTablePaginatorComponent,\n\t\tRefactorNamePipe,\n\t\tCustomAutocompleteComponent,\n\t\tGeneralComponent,\n\t\tDndComponent,\n\t\tDialogComponent,\n\t\tHaveActionPipe,\n\t\tCustomSelectValuesComponent,\n\t\tDocumentsComponent,\n\t\tBackNavigationDirective,\n\t\tGetListTooltipPipe,\n\t\tGetValueOnConditionPipe,\n\t\tCompareEditingPipe,\n\t\tAppInfoComponent,\n\t\tGetOptionsPipe,\n\t\tLanguageComponent,\n\t\tCamel2SnakePipe,\n\t\tAddLanguageComponent,\n\t\tRemoveDoubleQuotePipe,\n\t\tRemoveDoubleQuoteAndSlachPipe,\n\t\tAddTranslationComponent,\n\t\tHaveOneActionPipe,\n\t\tGetValueOnConditionImpurePipe,\n\t\tStringArrayTranslationPipe,\n\t\tCdkHeightCalculatorPipe,\n\t\tBadRequestComponent,\n\t\tCustomIconBtnComponent,\n\t\tFunctionsComponent,\n\t\tGetListTooltipV2Pipe,\n\t\tGetListTooltipV2ClassicPipe,\n\t\tDialogDownloadComponent,\n\t\tGeneralComponent,\n\t\tSaveConfirmComponent,\n\t\tSafeUrlPipe,\n\t\tSortArrayPipe,\n\t\tFrameworkTypeDirective,\n MultiSelectComponent\n\t],\n imports: [\n BrowserModule,\n AppRoutingModule,\n NgbModule,\n MatMenuModule,\n MatIconModule,\n MatToolbarModule,\n MatButtonModule,\n MatSidenavModule,\n MatListModule,\n MatInputModule,\n MatCheckboxModule,\n MatAutocompleteModule,\n MatTooltipModule,\n HighlightModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n MsalModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n NgxLoadingModule.forRoot({\n animationType: ngxLoadingAnimationTypes.cubeGrid,\n backdropBackgroundColour: \"rgba(0,0,0,0.9)\",\n fullScreenBackdrop: true,\n primaryColour: \"#ffffff\",\n secondaryColour: \"#ffffff\",\n tertiaryColour: \"#ffffff\",\n }),\n MatSelectModule,\n CustomMultiselectModule,\n DragDropModule,\n MatExpansionModule,\n MatDialogModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatSlideToggleModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: httpTranslateLoader,\n deps: [HttpClient, TranslationService],\n },\n }),\n ScrollingModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory,\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptorService,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpLoggerInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpSpinnerInterceptorService,\n multi: true,\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n AuthService,\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n lineNumbers: true,\n coreLibraryLoader: () => import(\"highlight.js/lib/core\"),\n lineNumbersLoader: () => import(\"highlightjs-line-numbers.js\"),\n themePath: \"node_modules/highlight.js/styles/github.css\",\n languages: {\n typescript: () => import(\"highlight.js/lib/languages/typescript\"),\n css: () => import(\"highlight.js/lib/languages/scss\"),\n xml: () => import(\"highlight.js/lib/languages/xml\"),\n },\n },\n },\n {provide: MAT_DIALOG_DATA, useValue: {}},\n {provide: MatDialogRef, useValue: {}},\n NavService,\n CheckForUpdateService,\n GetListTooltipV2Pipe,\n Camel2SnakePipe,\n GetListTooltipV2ClassicPipe,\n TitleCasePipe\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n})\nexport class AppModule {\n}\n","import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';\nimport {Observable, Subscription, tap, timer} from 'rxjs';\nimport {HighlightLoader} from \"ngx-highlightjs\";\n\nconst themeAndroidStudio: string = 'node_modules/highlight.js/scss/github.scss';\n\n@Component({\n selector: 'app-observable-request',\n templateUrl: './observable-request.component.html',\n styleUrls: ['./observable-request.component.scss']\n})\nexport class ObservableRequestComponent implements OnInit {\n\n public mapLoader: Observable;\n\n public randomNumber: String | string = '';\n\n public buttonString = 'Play';\n\n @ViewChild('selection') inputChild!: ElementRef;\n\n @ViewChild('codeObs') codeObs!: any;\n\n obsCode = `//Code example\n public mapLoader: Observable;\n\n public randomNumber: String | string = '';\n\n @ViewChild('selection') inputChild!: ElementRef;\n\n\n timerSub!: Subscription;\n\n constructor() {\n this.mapLoader = timer(0, 500).pipe(tap(value => {\n this.randomNumber = Math.random().toString(36)\n ////(value)\n }));\n }\n\n ngOnInit(): void {\n\n }\n\n onSubClick() {\n this.inputChild.nativeElement.value = 'observable'\n if(!!this.timerSub && !this.timerSub.closed){\n this.timerSub.unsubscribe()\n return;\n }\n //start to execute\n this.timerSub = this.mapLoader.subscribe(value => {})\n }`\n\n\n timerSub!: Subscription;\n\n constructor(private hljsLoader: HighlightLoader) {\n this.hljsLoader.setTheme(themeAndroidStudio);\n this.mapLoader = timer(0, 500).pipe(tap(value => {\n this.randomNumber = Math.random().toString(36)\n ////(value)\n }));\n\n\n }\n\n ngOnInit(): void {\n\n }\n\n onSubClick() {\n if (!!this.timerSub && !this.timerSub.closed) {\n this.timerSub.unsubscribe();\n this.buttonString = 'Play';\n return;\n }\n this.buttonString = 'Pause';\n this.timerSub = this.mapLoader.subscribe(value => {\n })\n\n\n }\n}\n","
\n
\n
\n \n
\n\n
\n
\n        Output: {{ randomNumber }}\n  
\n
\n
\n\n","import {Component, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {AuthService} from \"../../../services/auth.service\";\nimport {SpinnerService} from \"../../../services/spinner.service\";\n\n\n@Component({\n selector: 'app-bad-request',\n templateUrl: './bad-request.component.html',\n styleUrls: ['./bad-request.component.scss']\n})\nexport class BadRequestComponent implements OnInit {\n widthValue: number = 200;\n\n heightValue: number = 200;\n\n constructor(\n protected router: Router,\n private authService: AuthService,\n private spinner: SpinnerService,\n ) {\n }\n\n ngOnInit(): void {\n this.spinner.hideAll();\n this.widthValue = +document.documentElement.style.getPropertyValue('--win-width')\n this.heightValue = +document.documentElement.style.getPropertyValue('--win-height')\n }\n\n refreshAll() {\n this.authService.refresh();\n this.router.navigateByUrl('/');\n }\n}\n\n\n","

{{ \"WELCOME_MESSAGE\" | translate }}

\n\n
\n \n \n \n\n \n HARD REFRESH\n \n","import {Component, OnInit} from '@angular/core';\nimport {Data, DataSet, Layout, SectionLayout} from '../../../models/layout';\nimport {MsalBroadcastService, MsalService} from '@azure/msal-angular';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {LayoutServiceService} from '../../../services/layout.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport {TableControllerService} from '../../../services/table-controller.service';\nimport {GeneralService} from '../../../services/crud/general.service';\nimport {SpinnerService} from '../../../services/spinner.service';\nimport {Location} from '@angular/common';\nimport {AlertService} from '../../shared/alert/alert.service';\nimport {map} from 'rxjs/operators';\nimport {PageEventType} from '../../shared/custom-table-paginator/custom-table-paginator.component';\nimport {HttpParams} from '@angular/common/http';\nimport {firstValueFrom, lastValueFrom} from \"rxjs\";\nimport {hasSubArray} from '../../../utils/generic';\nimport {DndComponent} from '../../shared/dnd/dnd.component';\nimport * as saveAs from 'file-saver';\nimport {ALERT_TYPE} from '../../shared/alert/alert.enumerate';\nimport * as _ from 'lodash';\nimport {DialogComponent} from '../../shared/dialog/dialog.component';\nimport {cloneDeep} from \"lodash\";\nimport {arch} from 'os';\n\n@Component({\n selector: 'app-documents',\n templateUrl: './documents.component.html',\n styleUrls: ['./documents.component.scss'],\n})\nexport class DocumentsComponent implements OnInit {\n layout: Layout | undefined;\n\n pageId: string = '';\n\n apiParent: string = 'documents';\n\n apiUrl: string = 'other';\n\n savedPaginator: PageEventType = {\n pageIndex: 0,\n previousPageIndex: 0,\n loader: 50,\n size: 0,\n };\n\n savedParams: HttpParams = new HttpParams();\n\n archives: Archive[] = [];\n\n isNewSection: boolean = false;\n\n newSection: Archive = {\n DOCUMENTS_ID: '',\n DOCUMENT_TYPE: '',\n EXPIRED: new Date(),\n FILE_NAME: '',\n FILE_PATH: '',\n L_DOCUMENTS: [],\n SECTION: '',\n files: []\n };\n\n section: Archive | null = {\n DOCUMENTS_ID: '',\n DOCUMENT_TYPE: '',\n EXPIRED: new Date(),\n FILE_NAME: '',\n FILE_PATH: '',\n L_DOCUMENTS: [],\n SECTION: '',\n files: []\n };\n\n constructor(\n private msalService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n public router: Router,\n private route: ActivatedRoute,\n public layoutService: LayoutServiceService,\n public dialog: MatDialog,\n private generalDataService: GeneralService,\n private spinner: SpinnerService,\n private _location: Location,\n public alertService: AlertService\n ) {\n }\n\n ngOnInit(): void {\n this.spinner.hideAll();\n this.route.queryParams.subscribe((params) => {\n this.pageId = params['id'] ?? [];\n\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n const layouts = JSON.parse(layoutsString);\n if (!!layouts && !!layouts[this.pageId]) {\n const pageLayout = layouts[this.pageId];\n if (\n Math.abs(\n (new Date(pageLayout['instant']).getTime() -\n new Date().getTime()) /\n 60000\n ) < 360\n ) {\n this.layout = pageLayout['instance'];\n if (!!this.layout) this.catchAllSelectedOptions(this.layout);\n } else {\n this.spinner.show();\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.layout = res?.layouts[0] ?? undefined;\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n if (!!this.layout) this.catchAllSelectedOptions(this.layout);\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pageLayouts[0].actionset ?? [];\n this.pageDataset = this.pageLayouts[0].dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n }\n } else {\n this.spinner.show();\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.layout = res?.layouts[0] ?? undefined;\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n if (!!this.layout) this.catchAllSelectedOptions(this.layout);\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pageLayouts[0].actionset ?? [];\n this.pageDataset = this.pageLayouts[0].dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n }\n } else {\n this.spinner.show();\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.layout = res?.layouts[0] ?? undefined;\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts[0],\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n if (!!this.layout) this.catchAllSelectedOptions(this.layout);\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pageLayouts[0].actionset ?? [];\n this.pageDataset = this.pageLayouts[0].dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n }\n this.refreshData();\n });\n\n this.route.parent?.url\n .pipe(map((segments) => segments.join('/')))\n .subscribe((finalParentUrl) => {\n this.apiParent = finalParentUrl;\n });\n\n\n }\n\n refreshData() {\n this.onSearch(\n 0,\n this.savedPaginator.loader,\n new Map(),\n new Array(),\n true\n );\n }\n\n onSearch(\n page: number,\n size: number,\n sorting: Map,\n filters: Array,\n refresh: boolean = false\n ) {\n /*let params = new HttpParams().set('page', page).set('size', size);\n new Map(\n [...sorting.entries()].sort((a, b) => a[1].order - b[1].order)\n ).forEach((value, key, map) => {\n if (!!!params.get('sort'))\n params = params.set(\n 'sort',\n key + (value.type == 'desc' ? ',desc' : '')\n );\n else\n params = params.append(\n 'sort',\n key + (value.type == 'desc' ? ',desc' : '')\n );\n });\n filters.forEach((filter) => {\n if (!filter.includes('&')) {\n if (!!!params.get('search')) params = params.set('search', filter);\n else params = params.append('search', filter);\n } else {\n filter.split('&').forEach((value) => {\n if (!!!params.get('search')) params = params.set('search', value);\n else params = params.append('search', value);\n });\n }\n });\n\n this.savedParams = params;*/\n\n this.spinner.show();\n lastValueFrom(\n this.generalDataService\n .getDocuments(this.apiParent + '/' + this.apiUrl, 'GENERAL')\n .pipe(map((sp) => sp['oContent']))\n )\n .then((res) => {\n\n this.archives = res;\n console.log(this.archives)\n console.log(res)\n console.log(res.files)\n })\n .finally(() => {\n this.spinner.hide();\n });\n }\n\n private catchAllSelectedOptions(layout: Layout) {\n layout.sectionLayouts.forEach((sectionLayout: SectionLayout) => {\n sectionLayout.dataset.forEach((dataset: DataSet) => {\n dataset.datas?.map((data: Data) => {\n if (data.valuesFrom.length > 0) {\n this.spinner.show();\n this.generalDataService\n .getSelectionOption(data.valuesFrom)\n .then((res) => {\n data.optionValues = res;\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: layout,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: layout,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n })\n .finally(() => {\n this.spinner.hide();\n });\n }\n });\n });\n });\n }\n\n onAddSection(toSend: boolean = false) {\n if (toSend && this.isNewSection && !!this.newSection.SECTION) {\n this.generalDataService\n .postDataDetail(this.apiParent + '/' + this.apiUrl + '/section', {\n DOCUMENTS_ID: null,\n DOCUMENT_TYPE: 'GENERAL',\n SECTION: this.newSection.SECTION,\n FILE_NAME: null,\n FILE_PATH: null,\n EXPIRED: null,\n L_DOCUMENTS: [],\n })\n .subscribe((res) => {\n this.isNewSection = false;\n this.newSection = {\n DOCUMENTS_ID: '',\n DOCUMENT_TYPE: '',\n EXPIRED: new Date(),\n FILE_NAME: '',\n FILE_PATH: '',\n L_DOCUMENTS: [],\n SECTION: '',\n files: []\n };\n this.refreshData();\n });\n } else {\n this.isNewSection = !this.isNewSection;\n\n this.newSection = {\n DOCUMENTS_ID: '',\n DOCUMENT_TYPE: '',\n EXPIRED: new Date(),\n FILE_NAME: '',\n FILE_PATH: '',\n L_DOCUMENTS: [],\n SECTION: '',\n files: []\n };\n }\n }\n\n uploadDoc(documentsId: string) {\n const dialogEvent = this.dialog.open(DndComponent, {\n data: {\n title: 'UPLOADING',\n code: 'Upload file: ',\n message: 'Are you sure you want to upload this file?',\n btn: 'Upload',\n type: 'any',\n },\n });\n dialogEvent.afterClosed().subscribe(async (dndResponse) => {\n if (!!dndResponse && dndResponse.send) {\n const uploadFiles: File[] = dndResponse.files;\n\n for (let file of uploadFiles) {\n if (file.type.includes('image')) {\n for (let i = 0; i < dndResponse.files.length; i++) {\n\n this.generalDataService.uploadAttachment(\n documentsId,\n \"null\",\n \"SECTION\",\n \"SECTION/\" + documentsId + \"/\",\n dndResponse.files[i]\n ).subscribe({\n next: value => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"File uploaded\",\n timeout: 5000,\n selfClose: null,\n });\n //this.refreshDocumentData();\n\n this.refreshData()\n // TODO: aggiungi immagine in coda\n console.log(value);\n },\n error: err => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Something went wrong, please try again or contact webmaster\",\n timeout: 5000,\n selfClose: null,\n });\n }\n });\n //this.refreshDocumentData();\n }\n } else {\n this.spinner.show();\n await firstValueFrom(\n this.generalDataService.uploadAttachment(\n documentsId,\n \"null\",\n \"SECTION\",\n \"SECTION/\" + documentsId + \"/\",\n file\n )\n ).then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"File uploaded\",\n timeout: 5000,\n selfClose: null,\n });\n this.refreshData()\n }).catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Something went wrong, please try again or contact webmaster\",\n timeout: 5000,\n selfClose: null,\n });\n }).finally(() => {\n this.spinner.hide();\n });\n\n //this.refreshDocumentData();\n }\n }\n\n }\n\n /*if (!!dndResponse && dndResponse.send) {\n //this.fileToSend = dndResponse.files;\n\n\n const uploadFiles: File[] = dndResponse.files\n\n //this.spinner.show();\n\n const promises: Promise[] = uploadFiles.map(file => {\n this.spinner.show();\n\n return lastValueFrom(this.generalDataService.uploadAttachment(\n documentsId,\n \"null\",\n \"SECTION\",\n \"SECTION/\"+documentsId+\"/\",\n file\n )).then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"\" + file.name + \" uploaded\",\n timeout: 5000,\n selfClose: null,\n });\n this.refreshData()\n }).catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message:\n 'File ' + file.name + ' not uploaded, please try again or contact webmaster',\n timeout: 5000,\n selfClose: null,\n });\n }).finally(() => {\n this.spinner.hide();\n })\n })\n\n await Promise.all(promises)\n\n\n }*/\n });\n }\n\n deleteArchive(documentsId: string) {\n const dialogRef = this.dialog.open(DialogComponent, {\n data: {\n title: 'Delete Action',\n content: `You are trying to delete a section. Are you sure to proceed?`,\n cancelButtonLabel: 'No',\n cancelButtonColor: 'basic',\n confirmButtonLabel: 'Yes',\n confirmButtonColor: 'warn',\n },\n });\n\n dialogRef.afterClosed().subscribe((dialogueResponse) => {\n if (dialogueResponse) {\n lastValueFrom(\n this.generalDataService.deleteArchive(\n this.apiParent + '/' + this.apiUrl + '/section',\n documentsId\n )\n ).then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: 'Archive deleted successfully.',\n timeout: 3000,\n selfClose: null,\n });\n }).catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: 'An error occurred during archive deletion.',\n timeout: 5000,\n selfClose: null,\n });\n }).finally(() => {\n this.refreshData();\n });\n\n }\n\n });\n\n }\n\n deleteDoc(id: string, archId: []) {\n\n lastValueFrom(this.generalDataService.deleteAttachment(id))\n .then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"Delete document success\",\n timeout: 5000,\n selfClose: null,\n });\n this.refreshData();\n\n if (this.archives) {\n this.archives = cloneDeep(this.archives.filter(l => l.files.filter(l2 => l2['id'] !== id)))\n }\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Unable to delete document\",\n timeout: 5000,\n selfClose: null,\n });\n });\n }\n\n /*deleteDoc(documentsId: string, documentId: string) {\n lastValueFrom(\n this.generalDataService.deleteDocument(\n this.apiParent + '/' + this.apiUrl,\n documentsId,\n documentId\n )\n )\n .then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: 'Delete document success',\n timeout: 5000,\n selfClose: null,\n });\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: 'Delete document was wrong',\n timeout: 5000,\n selfClose: null,\n });\n })\n .finally(() => {\n this.refreshData();\n });\n }*/\n\n /*downloadDoc(\n documentsId: string,\n documentId: string,\n fileType: string,\n fileName: string\n ) {\n lastValueFrom(\n this.generalDataService.downloadDocument(\n this.apiParent + '/' + this.apiUrl + '/download',\n documentId\n )\n )\n .then((blob) => {\n saveAs(blob, fileName);\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: 'Something went wrong during download ' + fileName,\n timeout: 5000,\n selfClose: null,\n });\n });\n }*/\n\n downloadAttachment(url: string, fileName: string) {\n saveAs(url, fileName);\n }\n\n renameSection(archive: Archive | null) {\n this.section = _.cloneDeep(archive);\n }\n\n saveSection(section: Archive) {\n if (!!this.section) {\n this.generalDataService\n .postDataDetail(\n this.apiParent + '/' + this.apiUrl + '/section',\n this.section\n )\n .subscribe((res) => {\n this.isNewSection = false;\n this.section = null;\n this.refreshData();\n });\n }\n }\n}\n\nexport interface Document {\n DOCUMENTS_ID: string;\n DOCUMENT_ID: string;\n FILE_NAME: string;\n FILE_TYPE: string;\n}\n\nexport interface Archive {\n DOCUMENTS_ID: string;\n DOCUMENT_TYPE: string;\n SECTION: string;\n FILE_NAME: string;\n FILE_PATH: string;\n EXPIRED: Date;\n L_DOCUMENTS: any;\n files: [];\n}\n","

{{ 'LABEL_DOCUMENTS' | translate }}

\n\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n {{ 'ACT_CONFIRM' | translate }}\n
\n
\n {{ 'ACT_CANCEL' | translate }}\n
\n
\n
\n
\n
\n
\n
\n {{ 'LABEL_SECTION_ADD' | translate }}\n
\n
\n
\n \n\n\n \n
\n
\n
\n
\n \n {{ 'LABEL_ACTIONS' | translate }}\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n {{ 'ACT_CONFIRM' | translate }}\n \n
\n
\n {{ 'ACT_CANCEL' | translate }}\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n delete\n \n
\n
\n \n\n
\n \n cloud_download\n \n\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {MsalBroadcastService, MsalService} from '@azure/msal-angular';\nimport {EventMessage, EventType} from '@azure/msal-browser';\nimport {filter} from 'rxjs';\nimport {LayoutServiceService} from '../../../services/layout.service';\nimport {ActionSet, DataSet, Layout} from '../../../models/layout';\nimport {SpinnerService} from \"../../../services/spinner.service\";\n\n@Component({\n selector: 'app-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n})\nexport class DynamicPageComponent implements OnInit {\n pageLayouts: Layout[] = [];\n pageActionset: ActionSet[] = [];\n pageDataset: DataSet[] = [];\n\n titlePage: string = '';\n pageId: string = '';\n\n constructor(\n private msalService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n public router: Router,\n private route: ActivatedRoute,\n public layoutService: LayoutServiceService,\n private spinner: SpinnerService\n ) {\n }\n\n onFilter(event: any) {\n ////(event)\n }\n\n ngOnInit(): void {\n this.spinner.show()\n this.route.queryParams.subscribe((params) => {\n this.pageId = params['id'] ?? [];\n this.titlePage = params['title'] ?? '';\n\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n this.spinner.show()\n const layouts = JSON.parse(layoutsString);\n this.spinner.hide()\n if (!!layouts && !!layouts[this.pageId]) {\n this.spinner.show()\n const pageLayout = layouts[this.pageId];\n if (\n Math.abs(\n (new Date(pageLayout['instant']).getTime() -\n new Date().getTime()) /\n 60000\n ) < 360\n ) {\n //('recupero da memoria')\n this.pageLayouts = pageLayout['instance'];\n this.spinner.hide()\n } else {\n //('recupero da endpoint')\n this.spinner.hide()\n this.spinner.show()\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.pageLayouts = res?.layouts ?? [];\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pagelayouts.actionset ?? [];\n this.pageDataset = this.pagelayouts.dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n }\n } else {\n this.spinner.show()\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.pageLayouts = res?.layouts ?? [];\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pagelayouts.actionset ?? [];\n this.pageDataset = this.pagelayouts.dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n }\n } else {\n this.spinner.show()\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.pageLayouts = res?.layouts ?? [];\n const layoutsString = localStorage.getItem('layout');\n if (!!layoutsString) {\n let layouts = JSON.parse(layoutsString);\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n } else {\n let layouts = {};\n layouts[this.pageId] = {\n instance: res?.layouts,\n instant: new Date(),\n };\n localStorage.setItem('layout', JSON.stringify(layouts));\n }\n ////(this.layout)\n this.spinner.hide();\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pagelayouts.actionset ?? [];\n this.pageDataset = this.pagelayouts.dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n this.spinner.hide()\n }\n\n this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n this.pageLayouts = res?.layouts ?? [];\n ////(this.pageLayouts)\n /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n this.pageActionset = this.pagelayouts.actionset ?? [];\n this.pageDataset = this.pagelayouts.dataset ?? [];\n ////(this.pageActionset)\n }*/\n });\n this.spinner.hide();\n });\n }\n}\n","

{{ titlePage | titlecase }}

\n\n\n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {AlertService} from '../../shared/alert/alert.service';\nimport {ALERT_TYPE} from '../../shared/alert/alert.enumerate';\nimport {LayoutServiceService} from '../../../services/layout.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport {DndComponent} from \"../../shared/dnd/dnd.component\";\nimport {lastValueFrom, Observable} from \"rxjs\";\nimport {GeneralService} from \"../../../services/crud/general.service\";\nimport {loadAsync} from \"jszip\";\nimport {AuthService} from \"../../../services/auth.service\";\nimport {SpinnerService} from 'src/app/services/spinner.service';\n\n@Component({\n selector: 'app-functions',\n templateUrl: './functions.component.html',\n styleUrls: ['./functions.component.scss'],\n})\nexport class FunctionsComponent implements OnInit {\n\n apiParent: string = 'primary';\n\n apiUrl: string = 'damages/detail';\n\n pictureMaxSize: number = 500;\n\n usermail: Observable;\n\n isDeletingProblem: boolean = false;\n\n problemList: string = '';\n\n loadedDoc: number = 0;\n\n elemLoad: number = 0;\n\n maxElemloaded: number = 0;\n\n constructor(\n public alertService: AlertService,\n public layoutService: LayoutServiceService,\n public dialog: MatDialog,\n private generalDataService: GeneralService,\n private authService: AuthService,\n private spinner: SpinnerService,\n ) {\n this.usermail = this.authService.emailObs\n }\n\n ngOnInit(): void {\n localStorage.setItem('changes', 'false')\n }\n\n addAlert() {\n this.alertService.add({\n type: ALERT_TYPE.PRIMARY,\n message: 'Messaggio di errore',\n timeout: 2000,\n selfClose: null,\n });\n }\n\n onChange(event: any): void {\n this.alertService.add({\n type: ALERT_TYPE.PRIMARY,\n message: 'You have selected: ' + event,\n timeout: 1000,\n selfClose: null,\n });\n }\n\n getMimeTypeFromBlob(blob: Blob): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const arrayBuffer = reader.result as ArrayBuffer;\n const bytes = new Uint8Array(arrayBuffer);\n const mimeType = this.getMimeTypeFromByteArray(bytes);\n resolve(mimeType);\n };\n\n reader.onerror = () => {\n reject('Error reading Blob content');\n };\n\n reader.readAsArrayBuffer(blob);\n });\n }\n\n getMimeTypeFromByteArray(byteArray: Uint8Array): string {\n const header = byteArray.slice(0, 4);\n let mimeType = '';\n\n switch (header.join()) {\n case '255,216,255,224':\n case '255,216,255,225':\n mimeType = 'image/jpeg';\n break;\n case '137,80,78,71':\n mimeType = 'image/png';\n break;\n case '71,73,70,56,57,97':\n case '71,73,70,56,55,97':\n mimeType = 'image/gif';\n break;\n case '66,77':\n mimeType = 'image/bmp';\n break;\n case '73,73,42,0':\n case '77,77,0,42':\n mimeType = 'image/tiff';\n break;\n case '255,216,255,219':\n mimeType = 'image/rgb';\n break;\n case '255,216,255,196':\n mimeType = 'image/jpeg';\n break;\n default:\n mimeType = 'application/octet-stream';\n }\n\n return mimeType;\n }\n\n\n uploadDoc() {\n const MAX_RETRY_ATTEMPTS = 2;\n const RETRY_DELAY_MS = 100;\n const dialogEvent = this.dialog.open(DndComponent, {\n data: {\n title: 'UPLOADING',\n code: 'Upload file: ',\n message: 'Are you sure you want to upload this file?',\n btn: 'Upload',\n type: 'any',\n },\n });\n dialogEvent.afterClosed().subscribe(async (dndResponse) => {\n if (!!dndResponse && dndResponse.send) {\n //this.fileToSend = dndResponse.files;\n this.generalDataService.getDetail('primary/problems/detail/pictures/info').subscribe({\n next: (res) => {\n this.pictureMaxSize = +res['oContent']\n this.alertService.add({\n type: ALERT_TYPE.INFO,\n message:\n 'To comply with the requirements all uploaded images will be compressed to a size of ' + this.pictureMaxSize + ' KB',\n timeout: 5000,\n selfClose: null,\n });\n },\n error: (err) => {\n this.alertService.add({\n type: ALERT_TYPE.INFO,\n message:\n 'To comply with the requirements all uploaded images will be compressed to a size of ' + this.pictureMaxSize + ' KB',\n timeout: 5000,\n selfClose: null,\n });\n }\n })\n\n const zip = await loadAsync(dndResponse.files[0])\n const filesInZip = zip.files;\n let saveFile = true;\n this.loadedDoc = 0;\n this.maxElemloaded = Object.entries(filesInZip).length;\n const files = Object.entries(filesInZip);\n const batchSize = 10; // Set the desired batch size\n const fileEntries = files;\n const numBatches = Math.ceil(fileEntries.length / batchSize);\n let processedBatches = 0;\n\n const retryRequest = async (url, damageId, zippedFile, fileType, retryCount = 0) => {\n try {\n await lastValueFrom(\n this.generalDataService.uploadDocZipped(url, damageId, zippedFile, fileType)\n );\n } catch (error) {\n if (retryCount < MAX_RETRY_ATTEMPTS) {\n await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY_MS));\n await retryRequest(url, damageId, zippedFile, fileType, retryCount + 1);\n } else {\n // Handle permanent failure\n console.error(\"Failed to upload file after multiple retries:\", error);\n }\n }\n };\n\n for (let batchIndex = 0; batchIndex < numBatches; batchIndex++) {\n const batch = fileEntries.slice(\n batchIndex * batchSize,\n (batchIndex + 1) * batchSize\n );\n\n const promises = batch.map(async (entry) => {\n const [key, value] = entry;\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n const damageId = zippedFile.name.split(\"_\")[0];\n await retryRequest(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n );\n });\n\n await Promise.all(promises);\n processedBatches++;\n this.loadedDoc = Math.ceil((processedBatches / numBatches) * 100);\n }\n /*const zip = await loadAsync(dndResponse.files[0])\n const filesInZip = zip.files;\n\n let saveFile = true;\n\n this.loadedDoc = 0;\n this.maxElemloaded = Object.entries(filesInZip).length;\n const files = Object.entries(filesInZip);\n const batchSize = 10; // Set the desired batch size\n const fileEntries = files;\n const numBatches = Math.ceil(fileEntries.length / batchSize);\n let processedBatches = 0;\n\n for (let batchIndex = 0; batchIndex < numBatches; batchIndex++) {\n const batch = fileEntries.slice(\n batchIndex * batchSize,\n (batchIndex + 1) * batchSize\n );\n\n const promises = batch.map(async (entry) => {\n const [key, value] = entry;\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n console.log(fileType);\n const damageId = zippedFile.name.split(\"_\")[0];\n await lastValueFrom(this.generalDataService.uploadDocZipped(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n ));\n });\n\n await Promise.all(promises);\n processedBatches++;\n this.loadedDoc = Math.ceil((processedBatches / numBatches) * 100);\n }*/\n /*\n from(files)\n .pipe(throttleTime(200, asyncScheduler, { leading: true, trailing: true }))\n .subscribe(async ([key, value]) => {\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n const damageId = zippedFile.name.split(\"_\")[0];\n await lastValueFrom(this.generalDataService.uploadDocZipped(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n ));\n this.loadedDoc = Math.ceil(((++this.elemLoad) / this.maxElemloaded) * 100);\n });\n */\n\n /*Object.entries(filesInZip).forEach(entry => {\n const [key, value] = entry;\n const fileInZip = value;\n fileInZip.async(\"blob\").then(async (fileDataBlob) => {\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n let zippedFile = new File([fileDataBlob], fileInZip.name);\n console.log(fileType);\n\n let damageId = zippedFile.name.split(\"_\")[0];\n lastValueFrom(\n this.generalDataService.uploadDocZipped(\n this.apiParent + '/' + this.apiUrl + '/docs',\n damageId,\n zippedFile,\n fileType\n )\n )\n }).finally(() => {\n this.loadedDoc = Math.ceil(((++this.elemLoad) / this.maxElemloaded) * 100);\n })\n });\n })*/\n }\n });\n }\n\n deleteProblem() {\n if (this.isDeletingProblem) {\n this.generalDataService.delete(\n 'util/problem',\n this.problemList.split(',')\n ).subscribe(res => console.log(res))\n } else {\n this.problemList = '';\n this.isDeletingProblem = true;\n }\n }\n\n moveDamageFile() {\n this.spinner.show();\n this.generalDataService.moveDamageFile('util/move/damage').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n })\n }\n\n moveProblemFile() {\n this.spinner.show();\n this.generalDataService.moveProblemFile('util/move/problem').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n\n\n moveCardFile() {\n this.spinner.show();\n this.generalDataService.moveCardFile('util/move/card').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n\n moveOtherFile() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/move/other').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n\n\n }\n\n changeLayer() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/change/layer').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n\n deleteAllFiles() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/remove/file/all').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n\n deleteAllScorecardFiles() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/remove/file/all/scorecard').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n\n moveScorecardFile() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/move/scorecard').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n\n\n }\n\n moveScorecardProblemFile() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/move/sproblem').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n\n\n }\n\n\n fixDuplicates() {\n this.spinner.show();\n this.generalDataService.moveOtherFile('util/fix/duplicates').subscribe({\n next: res => this.spinner.hideAll(),\n error: res => this.spinner.hideAll()\n\n })\n }\n}\n","

{{ \"PAG_FUNCTIONS_TITLE\" | translate }}

\n\n\n

{{ \"UPLOAD_ZIP_FILE\" | translate }}

\n\n
\n UPLOAD ZIP\n
\n
{{ loadedDoc }}%
\n
\n
\n\n

{{ \"DELETE_PROBLEM_LIST\" | translate }}

\n\n
\n DELETE PROBLEM\n
\n \n \n DELETE\n
\n
\n\n
\n

{{ \"Move damage file\" | translate }}

\n
\n MOVE\n
\n\n

{{ \"Move problem\" | translate }}

\n
\n MOVE\n
\n\n\n

{{ \"Move Card\" | translate }}

\n
\n MOVE\n
\n\n

{{ \"Move Other File\" | translate }}

\n
\n MOVE\n
\n\n

{{ \"Move Scorecard File\" | translate }}

\n
\n MOVE\n
\n\n

{{ \"Move Scorecard problem File\" | translate }}

\n
\n MOVE\n
\n\n

{{ \"Change layer of files\" | translate }}

\n
\n CHANGE LAYER\n
\n\n

{{ \"Delete files from MEDIA\" | translate }}

\n
\n DELETE ALL\n
\n

{{ \"Delete files from SCORECARD MEDIA\" | translate }}

\n
\n DELETE ALL\n
\n\n

{{ \"Fix duplicates\" | translate }}

\n
\n FIX DUPLICATES\n
\n
\n\n\n","import {Component, OnInit} from '@angular/core';\nimport {AlertService} from '../../shared/alert/alert.service';\nimport {ALERT_TYPE} from '../../shared/alert/alert.enumerate';\nimport {LayoutServiceService} from '../../../services/layout.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport {DndComponent} from \"../../shared/dnd/dnd.component\";\nimport {asyncScheduler, from, lastValueFrom, Observable, throttleTime} from \"rxjs\";\nimport {GeneralService} from \"../../../services/crud/general.service\";\nimport {loadAsync} from \"jszip\";\nimport {AuthService} from \"../../../services/auth.service\";\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent implements OnInit {\n\n apiParent: string = 'primary';\n\n apiUrl: string = 'damages/detail';\n\n pictureMaxSize: number = 500;\n\n usermail: Observable;\n\n validUser: string[] = ['ramadio@thisisjustademo.it', 'marco.zanatta@electrolux.com', 'roberto.amadio@electrolux.com']\n\n isDeletingProblem: boolean = false;\n\n problemList: string = '';\n\n loadedDoc: number = 0;\n\n elemLoad: number = 0;\n\n maxElemloaded: number = 0;\n\n constructor(\n public alertService: AlertService,\n public layoutService: LayoutServiceService,\n public dialog: MatDialog,\n private generalDataService: GeneralService,\n private authService: AuthService\n ) {\n this.usermail = this.authService.emailObs\n }\n\n ngOnInit(): void {\n localStorage.setItem('changes', 'false')\n\n }\n\n\n addAlert() {\n this.alertService.add({\n type: ALERT_TYPE.PRIMARY,\n message: 'Messaggio di errore',\n timeout: 2000,\n selfClose: null,\n });\n }\n\n onChange(event: any): void {\n this.alertService.add({\n type: ALERT_TYPE.PRIMARY,\n message: 'You have selected: ' + event,\n timeout: 1000,\n selfClose: null,\n });\n }\n\n getMimeTypeFromBlob(blob: Blob): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const arrayBuffer = reader.result as ArrayBuffer;\n const bytes = new Uint8Array(arrayBuffer);\n const mimeType = this.getMimeTypeFromByteArray(bytes);\n resolve(mimeType);\n };\n\n reader.onerror = () => {\n reject('Error reading Blob content');\n };\n\n reader.readAsArrayBuffer(blob);\n });\n }\n\n getMimeTypeFromByteArray(byteArray: Uint8Array): string {\n const header = byteArray.slice(0, 4);\n let mimeType = '';\n\n switch (header.join()) {\n case '255,216,255,224':\n case '255,216,255,225':\n mimeType = 'image/jpeg';\n break;\n case '137,80,78,71':\n mimeType = 'image/png';\n break;\n case '71,73,70,56,57,97':\n case '71,73,70,56,55,97':\n mimeType = 'image/gif';\n break;\n case '66,77':\n mimeType = 'image/bmp';\n break;\n case '73,73,42,0':\n case '77,77,0,42':\n mimeType = 'image/tiff';\n break;\n case '255,216,255,219':\n mimeType = 'image/rgb';\n break;\n case '255,216,255,196':\n mimeType = 'image/jpeg';\n break;\n default:\n mimeType = 'application/octet-stream';\n }\n\n return mimeType;\n }\n\n\n uploadDoc() {\n const MAX_RETRY_ATTEMPTS = 2;\n const RETRY_DELAY_MS = 100;\n const dialogEvent = this.dialog.open(DndComponent, {\n data: {\n title: 'UPLOADING',\n code: 'Upload file: ',\n message: 'Are you sure you want to upload this file?',\n btn: 'Upload',\n type: 'any',\n },\n });\n dialogEvent.afterClosed().subscribe(async (dndResponse) => {\n if (!!dndResponse && dndResponse.send) {\n //this.fileToSend = dndResponse.files;\n this.generalDataService.getDetail('primary/problems/detail/pictures/info').subscribe({\n next: (res) => {\n this.pictureMaxSize = +res['oContent']\n this.alertService.add({\n type: ALERT_TYPE.INFO,\n message:\n 'To comply with the requirements all uploaded images will be compressed to a size of ' + this.pictureMaxSize + ' KB',\n timeout: 5000,\n selfClose: null,\n });\n },\n error: (err) => {\n this.alertService.add({\n type: ALERT_TYPE.INFO,\n message:\n 'To comply with the requirements all uploaded images will be compressed to a size of ' + this.pictureMaxSize + ' KB',\n timeout: 5000,\n selfClose: null,\n });\n }\n })\n\n const zip = await loadAsync(dndResponse.files[0])\n const filesInZip = zip.files;\n let saveFile = true;\n this.loadedDoc = 0;\n this.maxElemloaded = Object.entries(filesInZip).length;\n const files = Object.entries(filesInZip);\n const batchSize = 10; // Set the desired batch size\n const fileEntries = files;\n const numBatches = Math.ceil(fileEntries.length / batchSize);\n let processedBatches = 0;\n\n const retryRequest = async (url, damageId, zippedFile, fileType, retryCount = 0) => {\n try {\n await lastValueFrom(\n this.generalDataService.uploadDocZipped(url, damageId, zippedFile, fileType)\n );\n } catch (error) {\n if (retryCount < MAX_RETRY_ATTEMPTS) {\n await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY_MS));\n await retryRequest(url, damageId, zippedFile, fileType, retryCount + 1);\n } else {\n // Handle permanent failure\n console.error(\"Failed to upload file after multiple retries:\", error);\n }\n }\n };\n\n for (let batchIndex = 0; batchIndex < numBatches; batchIndex++) {\n const batch = fileEntries.slice(\n batchIndex * batchSize,\n (batchIndex + 1) * batchSize\n );\n\n const promises = batch.map(async (entry) => {\n const [key, value] = entry;\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n const damageId = zippedFile.name.split(\"_\")[0];\n await retryRequest(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n );\n });\n\n await Promise.all(promises);\n processedBatches++;\n this.loadedDoc = Math.ceil((processedBatches / numBatches) * 100);\n }\n /*const zip = await loadAsync(dndResponse.files[0])\n const filesInZip = zip.files;\n\n let saveFile = true;\n\n this.loadedDoc = 0;\n this.maxElemloaded = Object.entries(filesInZip).length;\n const files = Object.entries(filesInZip);\n const batchSize = 10; // Set the desired batch size\n const fileEntries = files;\n const numBatches = Math.ceil(fileEntries.length / batchSize);\n let processedBatches = 0;\n\n for (let batchIndex = 0; batchIndex < numBatches; batchIndex++) {\n const batch = fileEntries.slice(\n batchIndex * batchSize,\n (batchIndex + 1) * batchSize\n );\n\n const promises = batch.map(async (entry) => {\n const [key, value] = entry;\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n console.log(fileType);\n const damageId = zippedFile.name.split(\"_\")[0];\n await lastValueFrom(this.generalDataService.uploadDocZipped(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n ));\n });\n\n await Promise.all(promises);\n processedBatches++;\n this.loadedDoc = Math.ceil((processedBatches / numBatches) * 100);\n }*/\n /*\n from(files)\n .pipe(throttleTime(200, asyncScheduler, { leading: true, trailing: true }))\n .subscribe(async ([key, value]) => {\n const fileInZip = value;\n const fileDataBlob = await fileInZip.async(\"blob\");\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n const zippedFile = new File([fileDataBlob], fileInZip.name);\n const damageId = zippedFile.name.split(\"_\")[0];\n await lastValueFrom(this.generalDataService.uploadDocZipped(\n this.apiParent + \"/\" + this.apiUrl + \"/docs\",\n damageId,\n zippedFile,\n fileType\n ));\n this.loadedDoc = Math.ceil(((++this.elemLoad) / this.maxElemloaded) * 100);\n });\n */\n\n /*Object.entries(filesInZip).forEach(entry => {\n const [key, value] = entry;\n const fileInZip = value;\n fileInZip.async(\"blob\").then(async (fileDataBlob) => {\n const fileType = await this.getMimeTypeFromBlob(fileDataBlob);\n let zippedFile = new File([fileDataBlob], fileInZip.name);\n console.log(fileType);\n\n let damageId = zippedFile.name.split(\"_\")[0];\n lastValueFrom(\n this.generalDataService.uploadDocZipped(\n this.apiParent + '/' + this.apiUrl + '/docs',\n damageId,\n zippedFile,\n fileType\n )\n )\n }).finally(() => {\n this.loadedDoc = Math.ceil(((++this.elemLoad) / this.maxElemloaded) * 100);\n })\n });\n })*/\n }\n });\n }\n\n checkValidUser = (user) => {\n return this.validUser.some(u => user.includes(u));\n }\n\n deleteProblem() {\n if (this.isDeletingProblem) {\n this.generalDataService.delete(\n 'util/problem',\n this.problemList.split(',')\n ).subscribe(res => console.log(res))\n } else {\n this.problemList = '';\n this.isDeletingProblem = true;\n }\n }\n}\n","

{{ \"WELCOME_MESSAGE\" | translate }}

\n\n
\n\n \n \n \n\n
\n\n","import {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from \"@angular/router\";\nimport {SpinnerService} from \"../../../services/spinner.service\";\n\n@Component({\n selector: 'not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n errorMessage: string = '';\n\n constructor(private route: ActivatedRoute, private spinner: SpinnerService) {\n this.route.queryParamMap.subscribe(params => {\n this.errorMessage = params.get('message') ?? '';\n });\n }\n\n ngOnInit(): void {\n this.spinner.hideAll();\n }\n\n onCopyClick() {\n navigator.clipboard.writeText(this.errorMessage);\n }\n\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n EUR 404\n \n \n page not found.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

{{ errorMessage }}

\n
\n
\n\n\n
\n \n
\n
\n \n
\n
\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-promise-request',\n templateUrl: './promise-request.component.html',\n styleUrls: ['./promise-request.component.scss']\n})\nexport class PromiseRequestComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","

promise-request works!

\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'action-bar',\n templateUrl: './action-bar.component.html',\n styleUrls: ['./action-bar.component.scss'],\n})\nexport class ActionBarComponent implements OnInit {\n @Input()\n type: String = '';\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n}\n","\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n","import {Component, OnInit} from '@angular/core';\nimport {AlertService} from \"./alert.service\";\n\n\n@Component({\n selector: 'custom-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent {\n\n constructor(public alertService: AlertService) {\n }\n\n\n}\n","
\n

\n {{ alert.message }}\n

\n
\n\n","export enum ALERT_TYPE {\n SUCCESS = 'success',\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n LIGHT = 'light',\n DARK = 'dark'\n}\n","import {Injectable} from \"@angular/core\";\nimport {Alert} from \"./alert.interface\";\nimport {ALERT_TYPE} from \"./alert.enumerate\";\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertService {\n\n lAlerts: Alert[] = [];\n\n constructor() {\n this.lAlerts = [];\n }\n\n close(alert: Alert) {\n this.lAlerts.splice(this.lAlerts.indexOf(alert), 1);\n }\n\n closeTimeout(alert: Alert) {\n /* if(alert.type !== ALERT_TYPE.DANGER){\n\n } */\n\n setTimeout(() => this.close(alert), alert.timeout);\n }\n\n reset() {\n this.lAlerts = [];\n }\n\n add(alert: Alert) {\n alert.selfClose = this.closeTimeout(alert)\n this.lAlerts.push(alert)\n }\n\n\n}\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-blank',\n templateUrl: './blank.component.html',\n styleUrls: ['./blank.component.scss']\n})\nexport class BlankComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-checkbox-filter',\n templateUrl: './checkbox-filter.component.html',\n styleUrls: ['./checkbox-filter.component.scss']\n})\nexport class CheckboxFilterComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport {map, Observable, of} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\nimport {MatFormFieldControl} from '@angular/material/form-field';\nimport {IMultiSelectOption} from \"../custom-multiselect/types\";\n\n@Component({\n selector: 'custom-autocomplete',\n templateUrl: './custom-autocomplete.component.html',\n styleUrls: ['./custom-autocomplete.component.scss'],\n /*providers: [\n { provide: MatFormFieldControl, useExisting: CustomAutocompleteComponent },\n ],*/\n})\nexport class CustomAutocompleteComponent implements OnInit {\n\n myControl = new FormControl('');\n @Input()\n options: any[] = [];\n @Input()\n placeholder: String = '';\n @Input()\n required = false;\n\n @Output()\n optionChange: EventEmitter = new EventEmitter();\n\n filteredOptions!: Observable;\n\n ngOnInit(): void {\n }\n\n ngOnChanges() {\n this.filteredOptions = this.myControl.valueChanges.pipe(\n startWith(''),\n map((value) => this._filter(value || ''))\n );\n }\n\n private _filter(value: string): string[] {\n const filterValue = value.toLowerCase();\n\n return this.options?.filter((option) =>\n option.name.toLowerCase().includes(filterValue)\n );\n }\n\n onOptionChange(option: any) {\n this.optionChange.emit(option.id);\n }\n}\n","
\n \n {{ placeholder }}\n \n \n \n {{ option.name }}\n \n \n \n
\n\n\n\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'custom-btn',\n templateUrl: './custom-btn.component.html',\n styleUrls: ['./custom-btn.component.scss'],\n})\nexport class CustomBtnComponent implements OnInit {\n @Input()\n color?: String | string;\n\n @Input()\n iconColor?: String;\n\n @Input()\n iconButton?: boolean;\n @Input()\n btnClasses?: String;\n @Input()\n iconClasses?: String;\n @Input()\n fontSize?: String;\n\n @Input()\n matTooltip: string = '';\n\n @Input()\n disabled: Boolean = false;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n @HostBinding('class')\n get hostClass(): string {\n return this.disabled ? 'disabled' : 'enabled';\n }\n\n\n}\n","\n\n\n","import {Component, EventEmitter, forwardRef, Input, OnInit, Output} from \"@angular/core\";\nimport {MatFormFieldAppearance} from \"@angular/material/form-field\";\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\n\n@Component({\n selector: 'custom-checkbox',\n templateUrl: './custom-checkbox.component.html',\n styleUrls: ['./custom-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomCheckboxComponent),\n multi: true\n }\n ]\n})\nexport class CustomCheckboxComponent implements ControlValueAccessor {\n private propagateChange = (_: any) => {\n };\n @Input() trueValue: any = true;\n @Input() falseValue: any = false;\n @Input() disabled: boolean = false;\n valor: any;\n\n constructor() {\n }\n\n//when change the model, call to function \"propagateChange\" with the correct value\n change(id: any) {\n this.valor = id.checked;\n this.propagateChange(this.valor ? this.trueValue : this.falseValue)\n }\n\n //At first, we received a value, we must change the \"aparence\" of our component\n writeValue(obj: any): void {\n this.valor = (obj == this.trueValue);\n }\n\n //here we say to Angular that we're going to use the function\n //this.propagateChange when a change happends\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n }\n\n setDisabledState?(isDisabled: boolean): void {\n }\n}\n\n/*implements OnInit {\n\n @Input()\n value: any = \"\";\n\n @Output()\n valueChange: EventEmitter = new EventEmitter();\n\n @Input()\n appearance!: MatFormFieldAppearance;\n\n @Input()\n label: String | undefined;\n\n @Input()\n placeholder: String | undefined;\n\n @Input()\n disabled: Boolean | undefined = false;\n\n @Input()\n formControl;\n\n @Input()\n matAutocomplete;\n\n @Input()\n checkBoxType: 'true' | 'yes' = 'yes';\n\n @Input()\n columnId = \"\";\n\n constructor() {}\n\n ngOnInit(): void {\n }\n\n onValueChange($event: any) {\n if(this.checkBoxType == 'yes'){\n this.valueChange.emit(this.value ? 'Y' : 'N');\n }else{\n this.valueChange.emit(this.value);\n }\n\n }\n\n}*/\n","
\n
\n \n \n \n
\n
\n","import {Inject, Injectable} from '@angular/core';\nimport {\n NgbDateAdapter,\n NgbDateParserFormatter,\n NgbDateStruct,\n} from '@ng-bootstrap/ng-bootstrap';\n\n/**\n * This Service handles how the date is represented in scripts i.e. ngModel.\n */\n@Injectable()\nexport class CustomAdapter extends NgbDateAdapter {\n\n private dateFormat: DateFormat = {\n firstValue: DATEMODEL.DD,\n secondValue: DATEMODEL.MM,\n thirdValue: DATEMODEL.YYYY,\n delimiter: '-'\n }\n\n constructor(@Inject('dateFormat') private dateformat: DateFormat) {\n super();\n this.dateFormat = dateformat;\n }\n\n\n fromModel(value: string | null): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.dateFormat.delimiter);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n toModel(date: NgbDateStruct | null): string | null {\n return date\n ? date[this.dateFormat.firstValue].toString().padStart(2, \"0\") + this.dateFormat.delimiter + date[this.dateFormat.secondValue].toString().padStart(2, \"0\") + this.dateFormat.delimiter + date[this.dateFormat.thirdValue]\n : null;\n }\n}\n\n/**\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\n */\n@Injectable()\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n\n private dateFormat: DateFormat = {\n firstValue: DATEMODEL.DD,\n secondValue: DATEMODEL.MM,\n thirdValue: DATEMODEL.YYYY,\n delimiter: '-'\n }\n\n constructor(@Inject('dateFormat') private dateformat: DateFormat) {\n super();\n this.dateFormat = dateformat;\n }\n\n\n parse(value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.dateFormat.delimiter);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10),\n };\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date\n ? (date[this.dateFormat.firstValue]).toString().padStart(2, \"0\") + this.dateFormat.delimiter + date[this.dateFormat.secondValue].toString().padStart(2, \"0\") + this.dateFormat.delimiter + date[this.dateFormat.thirdValue]\n : '';\n }\n\n}\n\nexport enum DATEMODEL {\n DD = 'day',\n MM = 'month',\n YYYY = 'year'\n}\n\nexport interface DateFormat {\n firstValue: DATEMODEL,\n secondValue: DATEMODEL,\n thirdValue: DATEMODEL,\n delimiter: string\n}\n","import {Component, Injectable, Input, Output} from '@angular/core';\nimport {\n NgbCalendar,\n NgbDateAdapter,\n NgbDateParserFormatter,\n NgbDateStruct,\n} from '@ng-bootstrap/ng-bootstrap';\nimport {EventEmitter} from '@angular/core';\nimport {\n CustomAdapter,\n CustomDateParserFormatter,\n DateFormat,\n DATEMODEL,\n} from './custom-datepicker.component.service';\n\nconst dateFormat: DateFormat = {\n firstValue: DATEMODEL.DD,\n secondValue: DATEMODEL.MM,\n thirdValue: DATEMODEL.YYYY,\n delimiter: '/',\n};\n\n@Component({\n selector: 'custom-datepicker',\n templateUrl: './custom-datepicker.component.html',\n styleUrls: ['./custom-datepicker.component.scss'],\n // NOTE: For this example we are only providing current component, but probably\n // NOTE: you will want to provide your main App Module\n providers: [\n {\n provide: 'dateFormat',\n useValue: dateFormat,\n },\n {provide: NgbDateAdapter, useClass: CustomAdapter},\n {provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter},\n ],\n})\nexport class CustomDatepickerComponent {\n //model: String | undefined;\n\n @Input()\n value: String = '';\n\n @Input()\n disabled: Boolean | undefined = false;\n\n @Output()\n valueChange: EventEmitter = new EventEmitter();\n\n model: NgbDateStruct | undefined;\n\n constructor(\n private ngbCalendar: NgbCalendar,\n private dateAdapter: NgbDateAdapter\n ) {\n if (this.value.includes('/')) {\n this.model = {\n day: +this.value.split('/')[0].replace('/', '').padStart(2, '0'),\n month: +this.value.split('/')[1].replace('/', '').padStart(2, '0'),\n year: +this.value.split('/')[2].replace('/', ''),\n };\n }\n }\n\n get today() {\n return this.dateAdapter.toModel(this.ngbCalendar.getToday())!;\n }\n\n onDateChange(e: any) {\n this.valueChange.emit(\n e\n );\n }\n\n onFocusOut() {\n if (!!this.value && this.value.includes('/')) {\n this.model = {\n day: +this.value.split('/')[0].replace('/', '').padStart(2, '0'),\n month: +this.value.split('/')[1].replace('/', '').padStart(2, '0'),\n year: +this.value.split('/')[2].replace('/', ''),\n };\n this.valueChange.emit(\n '' + ('' + this.model.day).padStart(2, '0') + '/' + ('' + this.model.month).padStart(2, '0') + '/' + this.model.year\n );\n }\n }\n}\n","
\n \n
\n \n \n
\n\n\n \n
\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'custom-icon-btn',\n templateUrl: './custom-icon-btn.component.html',\n styleUrls: ['./custom-icon-btn.component.scss'],\n})\nexport class CustomIconBtnComponent implements OnInit {\n @Input()\n color?: String;\n\n @Input()\n iconColor?: String;\n\n @Input()\n btnClasses?: String;\n\n @Input()\n iconClasses?: String;\n\n @Input()\n fontSize?: String;\n\n @Input()\n disabled: Boolean = false;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n @HostBinding('class')\n get hostClass(): string {\n return this.disabled ? 'disabled' : 'enabled';\n }\n\n\n}\n","\n\n","import {Directive, ElementRef, Host, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\n\n@Directive({\n selector: '[ssAutofocus]'\n})\nexport class AutofocusDirective implements OnInit, OnChanges {\n\n /**\n * Will set focus if set to falsy value or not set at all\n */\n @Input() ssAutofocus!: boolean;\n\n get element(): { focus?: Function } {\n return this.elemRef.nativeElement;\n }\n\n constructor(\n @Host() private elemRef: ElementRef,\n ) {\n }\n\n ngOnInit() {\n this.focus();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const ssAutofocusChange = changes['ssAutofocus'];\n\n if (ssAutofocusChange && !ssAutofocusChange.isFirstChange()) {\n this.focus();\n }\n }\n\n focus() {\n if (this.ssAutofocus) {\n return;\n }\n\n this.element.focus && this.element.focus();\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n IterableDiffers,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n Validator, FormBuilder, FormControl,\n} from '@angular/forms';\n\nimport {takeUntil} from 'rxjs/operators';\nimport {MultiSelectSearchFilter} from './search-filter.pipe';\nimport {IMultiSelectOption, IMultiSelectSettings, IMultiSelectTexts,} from './types';\nimport {Subject, Observable} from 'rxjs';\nimport {isEqual} from \"lodash\";\n\nconst MULTISELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomMultiselectComponent),\n multi: true,\n};\n\n// tslint:disable-next-line: no-conflicting-lifecycle\n@Component({\n selector: 'custom-multiselect',\n templateUrl: './custom-multiselect.component.html',\n styleUrls: ['./custom-multiselect.component.scss'],\n providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectSearchFilter],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CustomMultiselectComponent implements OnInit,\n OnChanges,\n DoCheck,\n OnDestroy,\n ControlValueAccessor,\n Validator {\n\n private localIsVisible = false;\n private workerDocClicked = false;\n\n filterControl: FormControl = this.fb.control('');\n\n @Input() options: Array = [];\n optionsOld: Array = [];\n @Input() settings: IMultiSelectSettings;\n @Input() texts: IMultiSelectTexts;\n @Input() disabled = false;\n @Input() disabledSelection = false;\n @Input() searchFunction: (str: string) => RegExp = this._escapeRegExp;\n\n @Output() selectionLimitReached = new EventEmitter();\n @Output() dropdownClosed = new EventEmitter();\n @Output() dropdownOpened = new EventEmitter();\n @Output() added = new EventEmitter();\n @Output() removed = new EventEmitter();\n @Output() lazyLoad = new EventEmitter();\n @Output() filter: Observable = this.filterControl.valueChanges;\n @Input()\n extraClass: string = '';\n\n @Input()\n filterName: string = '';\n\n @ViewChild('customCb', {static: false}) customCb: ElementRef | undefined;\n @ViewChild('selectBtn', {static: false}) selectBtn!: ElementRef;\n\n get focusBack(): boolean {\n return !!(this.settings.focusBack) && this._focusBack;\n }\n\n destroyed$ = new Subject();\n\n filteredOptions: IMultiSelectOption[] = [];\n lazyLoadOptions: IMultiSelectOption[] = [];\n renderFilteredOptions: IMultiSelectOption[] = [];\n model: any[] = [];\n prevModel: any[] = [];\n parents: any[] = [];\n title: string = '';\n differ: any;\n numSelected = 0;\n\n set isVisible(val: boolean) {\n this.localIsVisible = val;\n this.workerDocClicked = val ? false : this.workerDocClicked;\n }\n\n get isVisible(): boolean {\n return this.localIsVisible;\n }\n\n renderItems = true;\n checkAllSearchRegister = new Set();\n checkAllStatus = false;\n loadedValueIds: any[] = [];\n _focusBack = false;\n focusedItem: IMultiSelectOption | undefined;\n\n defaultSettings: IMultiSelectSettings = {\n displayAllSelectedText: true,\n itemClasses: 'custom-menu-item',\n closeOnClickOutside: true,\n pullRight: false,\n enableSearch: false,\n searchRenderLimit: 0,\n searchRenderAfter: 1,\n searchMaxLimit: 0,\n searchMaxRenderedItems: 0,\n checkedStyle: 'checkboxes',\n buttonClasses: 'btn-dropdown',\n containerClasses: 'dropdown-inline',\n selectionLimit: 0,\n minSelectionLimit: 0,\n closeOnSelect: false,\n autoUnselect: false,\n showCheckAll: false,\n showUncheckAll: false,\n fixedTitle: false,\n dynamicTitleMaxItems: 3,\n maxHeight: '300px',\n isLazyLoad: false,\n stopScrollPropagation: false,\n loadViewDistance: 1,\n selectAddedValues: false,\n ignoreLabels: false,\n maintainSelectionOrderInTitle: false,\n focusBack: true\n };\n defaultTexts: IMultiSelectTexts = {\n checkAll: 'Select all',\n uncheckAll: 'Unselect all',\n checked: 'selected',\n checkedPlural: 'selected',\n searchPlaceholder: 'Search...',\n searchEmptyResult: 'Nothing found...',\n searchNoRenderText: 'Type in search box to see results...',\n defaultTitle: 'Select',\n allSelected: 'All selected',\n };\n\n isLoaded: boolean = false;\n\n get searchLimit(): number | undefined {\n return this.settings.searchRenderLimit;\n }\n\n get searchRenderAfter(): number | undefined {\n return this.settings.searchRenderAfter;\n }\n\n get searchLimitApplied(): boolean {\n return !!this.searchLimit && this.searchLimit > 0 && this.options.length > this.searchLimit;\n }\n\n constructor(\n private fb: FormBuilder,\n private searchFilter: MultiSelectSearchFilter,\n differs: IterableDiffers,\n private cdRef: ChangeDetectorRef\n ) {\n this.differ = differs.find([]).create(undefined);\n this.settings = this.defaultSettings;\n this.texts = this.defaultTexts;\n this.title = this.defaultTexts.searchEmptyResult ?? ''\n }\n\n clickedOutside(): void {\n if (!this.isVisible || !this.settings.closeOnClickOutside) {\n return;\n }\n\n this.isVisible = false;\n this._focusBack = true;\n this.dropdownClosed.emit();\n }\n\n getItemStyle(option: IMultiSelectOption): any {\n const style = {};\n if (!option.isLabel) {\n style['cursor'] = 'pointer';\n }\n if (option.disabled) {\n style['cursor'] = 'default';\n }\n }\n\n getItemStyleSelectionDisabled(): any {\n if (this.disabledSelection) {\n return {cursor: 'default'};\n }\n }\n\n ngOnInit(): void {\n this.title = this.defaultTexts.searchEmptyResult ?? ''\n this.filterControl.valueChanges.pipe(takeUntil(this.destroyed$)).subscribe(() => {\n this.updateRenderItems();\n if (this.settings.isLazyLoad) {\n this.load();\n }\n });\n\n }\n\n ngAfterContentInit() {\n this.isLoaded = true;\n\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options'] && Array.isArray(this.options)) {\n this.options = this.options ?? [];\n this.parents = this.options\n .filter(option => typeof option.parentId === 'number')\n .map(option => option.parentId);\n\n this.updateRenderItems();\n\n if (\n this.settings.isLazyLoad &&\n this.settings.selectAddedValues &&\n this.loadedValueIds.length === 0\n ) {\n this.loadedValueIds = this.loadedValueIds.concat(\n changes['options'].currentValue.map(value => value.id)\n );\n }\n if (\n this.settings.isLazyLoad &&\n this.settings.selectAddedValues &&\n changes['options'].previousValue\n ) {\n const addedValues = changes['options'].currentValue.filter(\n value => this.loadedValueIds.indexOf(value.id) === -1\n );\n this.loadedValueIds.concat(addedValues.map(value => value.id));\n if (this.checkAllStatus) {\n this.addChecks(addedValues);\n } else if (this.checkAllSearchRegister.size > 0) {\n this.checkAllSearchRegister.forEach((searchValue: any) =>\n this.addChecks(this.applyFilters(addedValues, searchValue.toString()))\n );\n }\n }\n\n if (this.texts) {\n this.updateTitle();\n }\n\n this.fireModelChange();\n }\n\n if (changes['settings'] && !changes['settings'].isFirstChange()) {\n this.settings = {...this.defaultSettings, ...this.settings};\n }\n\n if (changes['texts'] && !changes['texts'].isFirstChange()) {\n this.texts = {...this.defaultTexts, ...this.texts};\n if (!changes['texts'].isFirstChange()) {\n this.updateTitle();\n }\n }\n\n }\n\n\n ngOnDestroy() {\n //this.onChanges.complete();\n }\n\n updateRenderItems() {\n this.renderItems =\n !this.searchLimitApplied || !(!!this.searchRenderAfter && this.filterControl.value.length < this.searchRenderAfter);\n this.filteredOptions = this.applyFilters(\n this.options,\n this.settings.isLazyLoad ? '' : this.filterControl.value\n );\n this.renderFilteredOptions = this.renderItems ? this.filteredOptions : [];\n this.focusedItem = undefined;\n }\n\n applyFilters(options: IMultiSelectOption[], value: string): IMultiSelectOption[] {\n return this.searchFilter.transform(\n options,\n value,\n this.settings.searchMaxLimit,\n this.settings.searchMaxRenderedItems,\n this.searchFunction\n );\n }\n\n fireModelChange(): void {\n if (this.model != this.prevModel) {\n setTimeout(() => {\n this.prevModel = this.model;\n this.onModelChange(this.model);\n this.onModelTouched();\n this.cdRef.markForCheck();\n });\n }\n }\n\n onModelChange: Function = (_: any) => {\n };\n onModelTouched: Function = () => {\n };\n\n writeValue(value: any): void {\n if (value !== undefined && value !== null) {\n this.model = Array.isArray(value) ? value : [value];\n this.ngDoCheck();\n } else {\n this.model = [];\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n ngDoCheck() {\n const changes = this.differ.diff(this.model);\n if (changes) {\n this.updateNumSelected();\n this.updateTitle();\n }\n }\n\n validate(_c: AbstractControl): { [key: string]: any } | null {\n if (this.model && this.model.length) {\n return {\n required: {\n valid: false\n }\n };\n }\n\n if (this.options.filter(o => this.model.indexOf(o.id) && !o.disabled).length === 0) {\n return {\n selection: {\n valid: false\n }\n };\n }\n\n return null;\n }\n\n registerOnValidatorChange(_fn: () => void): void {\n throw new Error('Method not implemented.');\n }\n\n clearSearch(event: Event) {\n this.maybeStopPropagation(event);\n this.filterControl.setValue('');\n }\n\n toggleDropdown(e?: Event) {\n if (this.isVisible) {\n this._focusBack = true;\n }\n\n this.isVisible = !this.isVisible;\n this.isVisible ? this.dropdownOpened.emit() : this.dropdownClosed.emit();\n this.focusedItem = undefined;\n }\n\n closeDropdown(e?: Event) {\n this.isVisible = true;\n this.toggleDropdown(e);\n }\n\n isSelected(option: IMultiSelectOption): boolean {\n return this.model && this.model.indexOf(option.id) > -1;\n }\n\n setSelected(_event: Event, option: IMultiSelectOption) {\n if (option.isLabel) {\n return;\n }\n\n if (option.disabled) {\n return;\n }\n\n if (this.disabledSelection) {\n return;\n }\n\n setTimeout(() => {\n this.maybeStopPropagation(_event);\n this.maybePreventDefault(_event);\n const index = this.model.indexOf(option.id);\n const isAtSelectionLimit = !!this.settings.selectionLimit &&\n this.settings.selectionLimit > 0 &&\n this.model.length >= this.settings.selectionLimit;\n const removeItem = (idx, id): void => {\n this.model.splice(idx, 1);\n this.removed.emit(id);\n if (\n this.settings.isLazyLoad &&\n this.lazyLoadOptions.some(val => val.id === id)\n ) {\n this.lazyLoadOptions.splice(\n this.lazyLoadOptions.indexOf(\n this.lazyLoadOptions.find(val => val.id === id)!\n ),\n 1\n );\n }\n };\n\n if (index > -1) {\n if (\n this.settings.minSelectionLimit === undefined ||\n this.numSelected > this.settings.minSelectionLimit\n ) {\n removeItem(index, option.id);\n }\n const parentIndex =\n option.parentId && this.model.indexOf(option.parentId);\n if (parentIndex > -1) {\n removeItem(parentIndex, option.parentId);\n } else if (this.parents.indexOf(option.id) > -1) {\n this.options\n .filter(\n child =>\n this.model.indexOf(child.id) > -1 &&\n child.parentId === option.id\n )\n .forEach(child =>\n removeItem(this.model.indexOf(child.id), child.id)\n );\n }\n } else if (isAtSelectionLimit && !this.settings.autoUnselect) {\n this.selectionLimitReached.emit(this.model.length);\n return;\n } else {\n const addItem = (id): void => {\n this.model.push(id);\n this.added.emit(id);\n if (\n this.settings.isLazyLoad &&\n !this.lazyLoadOptions.some(val => val.id === id)\n ) {\n this.lazyLoadOptions.push(option);\n }\n };\n\n addItem(option.id);\n if (!isAtSelectionLimit) {\n if (option.parentId && !this.settings.ignoreLabels) {\n const children = this.options.filter(\n child =>\n child.id !== option.id && child.parentId === option.parentId\n );\n if (children.every(child => this.model.indexOf(child.id) > -1)) {\n addItem(option.parentId);\n }\n } else if (this.parents.indexOf(option.id) > -1) {\n const children = this.options.filter(\n child =>\n this.model.indexOf(child.id) < 0 && child.parentId === option.id\n );\n children.forEach(child => addItem(child.id));\n }\n } else {\n removeItem(0, this.model[0]);\n }\n }\n if (this.settings.closeOnSelect) {\n this.toggleDropdown();\n }\n this.model = this.model.slice();\n this.fireModelChange();\n\n }, 0)\n }\n\n updateNumSelected() {\n this.numSelected =\n this.model.filter(id => this.parents.indexOf(id) < 0).length || 0;\n }\n\n updateTitle() {\n let numSelectedOptions = this.options.length;\n if (this.settings.ignoreLabels) {\n numSelectedOptions = this.options.filter(\n (option: IMultiSelectOption) => !option.isLabel\n ).length;\n }\n if (this.numSelected === 0 || this.settings.fixedTitle) {\n //this.title = this.defaultTexts.searchEmptyResult ?? 'Nothing found...'\n this.title = this.texts ? this.texts.defaultTitle! : '';\n } else if (\n this.settings.displayAllSelectedText &&\n this.model.length === numSelectedOptions\n ) {\n const useOptions =\n this.settings.isLazyLoad && this.lazyLoadOptions.length\n ? this.lazyLoadOptions\n : this.options;\n\n let titleSelections: Array;\n\n if (this.settings.maintainSelectionOrderInTitle) {\n const optionIds = useOptions.map((selectOption: IMultiSelectOption, idx: number) => selectOption.id);\n titleSelections = this.model\n .map((selectedId) => optionIds.indexOf(selectedId))\n .filter((optionIndex) => optionIndex > -1)\n .map((optionIndex) => useOptions[optionIndex]);\n } else {\n titleSelections = useOptions.filter((option: IMultiSelectOption) => this.model.indexOf(option.id) > -1);\n }\n this.title = titleSelections.map((option: IMultiSelectOption) => option.id).join(', ');\n this.title = this.title.length > 0 ? this.title : '';\n //this.title = this.texts ? this.texts.allSelected! : '';\n } else if (\n this.settings.dynamicTitleMaxItems &&\n this.settings.dynamicTitleMaxItems >= this.numSelected\n ) {\n const useOptions =\n this.settings.isLazyLoad && this.lazyLoadOptions.length\n ? this.lazyLoadOptions\n : this.options;\n\n let titleSelections: Array;\n\n if (this.settings.maintainSelectionOrderInTitle) {\n const optionIds = useOptions.map((selectOption: IMultiSelectOption, idx: number) => selectOption.id);\n titleSelections = this.model\n .map((selectedId) => optionIds.indexOf(selectedId))\n .filter((optionIndex) => optionIndex > -1)\n .map((optionIndex) => useOptions[optionIndex]);\n } else {\n titleSelections = useOptions.filter((option: IMultiSelectOption) => this.model.indexOf(option.id) > -1);\n }\n\n this.title = titleSelections.map((option: IMultiSelectOption) => option.id).join(', ');\n this.title = this.title.length > 0 ? this.title : '';\n } else {\n /*this.title =\n this.numSelected +\n ' ' +\n (this.numSelected === 1\n ? this.texts.checked\n : this.texts.checkedPlural);*/\n const useOptions =\n this.settings.isLazyLoad && this.lazyLoadOptions.length\n ? this.lazyLoadOptions\n : this.options;\n\n let titleSelections: Array;\n\n if (this.settings.maintainSelectionOrderInTitle) {\n const optionIds = useOptions.map((selectOption: IMultiSelectOption, idx: number) => selectOption.id);\n titleSelections = this.model\n .map((selectedId) => optionIds.indexOf(selectedId))\n .filter((optionIndex) => optionIndex > -1)\n .map((optionIndex) => useOptions[optionIndex]);\n } else {\n titleSelections = useOptions.filter((option: IMultiSelectOption) => this.model.indexOf(option.id) > -1);\n }\n\n this.title = titleSelections.map((option: IMultiSelectOption) => option.id).join(', ');\n this.title = this.title.length > 0 ? this.title : '';\n }\n this.cdRef.markForCheck();\n }\n\n searchFilterApplied() {\n return (\n this.settings.enableSearch &&\n this.filterControl.value &&\n this.filterControl.value.length > 0\n );\n }\n\n addChecks(options) {\n const checkedOptions = options\n .filter((option: IMultiSelectOption) => {\n if (\n !option.disabled &&\n (\n this.model.indexOf(option.id) === -1 &&\n !(this.settings.ignoreLabels && option.isLabel)\n )\n ) {\n this.added.emit(option.id);\n return true;\n }\n return false;\n })\n .map((option: IMultiSelectOption) => option.id);\n\n this.model = this.model.concat(checkedOptions);\n }\n\n checkAll(): void {\n if (!this.disabledSelection) {\n this.addChecks(\n !this.searchFilterApplied() ? this.options : this.filteredOptions\n );\n if (this.settings.isLazyLoad && this.settings.selectAddedValues) {\n if (this.searchFilterApplied() && !this.checkAllStatus) {\n this.checkAllSearchRegister.add(this.filterControl.value);\n } else {\n this.checkAllSearchRegister.clear();\n this.checkAllStatus = true;\n }\n this.load();\n }\n this.fireModelChange();\n }\n }\n\n uncheckAll(): void {\n if (!this.disabledSelection) {\n const checkedOptions = this.model;\n let unCheckedOptions = !this.searchFilterApplied()\n ? this.model\n : this.filteredOptions.map((option: IMultiSelectOption) => option.id);\n // set unchecked options only to the ones that were checked\n unCheckedOptions = checkedOptions.filter(item => unCheckedOptions.indexOf(item) > -1);\n this.model = this.model.filter((id: number) => {\n if (\n (unCheckedOptions.indexOf(id) < 0 &&\n this.settings.minSelectionLimit === undefined) || !(!!this.settings.minSelectionLimit) ||\n unCheckedOptions.indexOf(id) < this.settings.minSelectionLimit\n ) {\n return true;\n } else {\n this.removed.emit(id);\n return false;\n }\n });\n if (this.settings.isLazyLoad && this.settings.selectAddedValues) {\n if (this.searchFilterApplied()) {\n if (this.checkAllSearchRegister.has(this.filterControl.value)) {\n this.checkAllSearchRegister.delete(this.filterControl.value);\n this.checkAllSearchRegister.forEach((searchTerm: any) => {\n const filterOptions = this.applyFilters(this.options.filter(option => unCheckedOptions.indexOf(option.id) > -1), searchTerm.toString());\n this.addChecks(filterOptions);\n });\n }\n } else {\n this.checkAllSearchRegister.clear();\n this.checkAllStatus = false;\n }\n this.load();\n }\n this.fireModelChange();\n }\n }\n\n preventCheckboxCheck(event: Event, option: IMultiSelectOption): void {\n if (\n option.disabled ||\n (\n this.settings.selectionLimit &&\n !this.settings.autoUnselect &&\n this.model.length >= this.settings.selectionLimit &&\n this.model.indexOf(option.id) === -1 &&\n void this.maybePreventDefault(event)\n )\n ) {\n this.maybePreventDefault(event);\n }\n }\n\n isCheckboxDisabled(option?: IMultiSelectOption): boolean {\n return this.disabledSelection && (this.disabledSelection || option && option.disabled);\n }\n\n checkScrollPosition(ev): void {\n const scrollTop = ev.target.scrollTop;\n const scrollHeight = ev.target.scrollHeight;\n const scrollElementHeight = ev.target.clientHeight;\n const roundingPixel = 1;\n const gutterPixel = 1;\n\n if (\n scrollTop >=\n scrollHeight -\n (1 + this.settings.loadViewDistance!) * scrollElementHeight -\n roundingPixel -\n gutterPixel\n ) {\n this.load();\n }\n }\n\n checkScrollPropagation(ev, element): void {\n const scrollTop = element.scrollTop;\n const scrollHeight = element.scrollHeight;\n const scrollElementHeight = element.clientHeight;\n\n if (\n (ev.deltaY > 0 && scrollTop + scrollElementHeight >= scrollHeight) ||\n (ev.deltaY < 0 && scrollTop <= 0)\n ) {\n ev = ev || window.event;\n this.maybePreventDefault(ev);\n ev.returnValue = false;\n }\n }\n\n trackById(idx: number, selectOption: IMultiSelectOption): void {\n return selectOption.id;\n }\n\n load(): void {\n this.lazyLoad.emit({\n length: this.options.length,\n filter: this.filterControl.value,\n checkAllSearches: this.checkAllSearchRegister,\n checkAllStatus: this.checkAllStatus,\n });\n }\n\n focusItem(dir: number, e?: Event): void {\n if (!this.isVisible) {\n return;\n }\n\n this.maybePreventDefault(e);\n\n const idx = this.filteredOptions.indexOf(this.focusedItem!);\n\n if (idx === -1) {\n this.focusedItem = this.filteredOptions[0];\n return;\n }\n\n const nextIdx = idx + dir;\n const newIdx =\n nextIdx < 0\n ? this.filteredOptions.length - 1\n : nextIdx % this.filteredOptions.length;\n\n this.focusedItem = this.filteredOptions[newIdx];\n }\n\n private maybePreventDefault(e?: Event): void {\n if (e && e.preventDefault) {\n e.preventDefault();\n }\n }\n\n private maybeStopPropagation(e?: Event): void {\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n }\n\n private _escapeRegExp(str: string): RegExp {\n const regExpStr = str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n return new RegExp(regExpStr, 'i');\n }\n\n fakeBlur(e: Event) {\n this.selectBtn['_elementRef'].nativeElement.focus();\n }\n\n}\n\n//EFF. PROBLEM FILTER VALUES table=\"DDT_EFFICIENCY_PROBLEM\"; search_key=\"EFFICIENCY_PROBLEM_ID\";return_value= \"[EFFICIENCY_PROBLEM_DESCR]\"\n\n//where clausole extra DAMAGE_ID in (SELECT DAMAGE_ID FROM ddt_damage_efficiency_problem WHERE efficiency_problem_id in (filter))\n","\n","import {NgModule} from '@angular/core';\nimport {CustomMultiselectComponent} from './custom-multiselect.component';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {MultiSelectSearchFilter} from './search-filter.pipe';\nimport {AutofocusDirective} from './autofocus.directive';\nimport {OffClickDirective} from './off-click.directive';\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatSelectModule} from \"@angular/material/select\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\n\n@NgModule({\n declarations: [CustomMultiselectComponent, MultiSelectSearchFilter, AutofocusDirective, OffClickDirective],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatIconModule,\n MatSelectModule,\n FormsModule,\n MatTooltipModule,\n ],\n exports: [CustomMultiselectComponent, MultiSelectSearchFilter],\n})\nexport class CustomMultiselectModule {\n}\n","import {Directive, HostListener} from '@angular/core';\nimport {EventEmitter} from '@angular/core';\nimport {Output} from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[offClick]',\n})\n\nexport class OffClickDirective {\n @Output('offClick') onOffClick = new EventEmitter();\n\n private _clickEvent!: MouseEvent;\n private _touchEvent!: TouchEvent;\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n this._clickEvent = event;\n }\n\n @HostListener('touchstart', ['$event'])\n public onTouch(event: TouchEvent): void {\n this._touchEvent = event;\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (event !== this._clickEvent) {\n this.onOffClick.emit(event);\n }\n }\n\n @HostListener('document:touchstart', ['$event'])\n public onDocumentTouch(event: TouchEvent): void {\n if (event !== this._touchEvent) {\n this.onOffClick.emit(event);\n }\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {IMultiSelectOption} from './types';\n\ninterface StringHashMap {\n [k: string]: T;\n}\n\n@Pipe({\n name: 'searchFilter'\n})\nexport class MultiSelectSearchFilter implements PipeTransform {\n\n private _lastOptions: IMultiSelectOption[] = [];\n private _searchCache: StringHashMap = {};\n private _searchCacheInclusive: StringHashMap = {};\n private _prevSkippedItems: StringHashMap = {};\n\n transform(\n options: IMultiSelectOption[],\n str = '',\n limit = 0,\n renderLimit = 0,\n searchFunction: (str: string) => RegExp,\n ): IMultiSelectOption[] {\n str = str.toLowerCase();\n\n // Drop cache because options were updated\n if (options !== this._lastOptions) {\n this._lastOptions = options;\n this._searchCache = {};\n this._searchCacheInclusive = {};\n this._prevSkippedItems = {};\n }\n\n const filteredOpts = this._searchCache.hasOwnProperty(str)\n ? this._searchCache[str]\n : this._doSearch(options, str, limit, searchFunction);\n\n const isUnderLimit = options.length <= limit;\n\n return isUnderLimit\n ? filteredOpts\n : this._limitRenderedItems(filteredOpts, renderLimit);\n }\n\n private _getSubsetOptions(\n options: IMultiSelectOption[],\n prevOptions: IMultiSelectOption[],\n prevSearchStr: string\n ) {\n const prevInclusiveOrIdx = this._searchCacheInclusive[prevSearchStr];\n\n if (prevInclusiveOrIdx === true) {\n // If have previous results and it was inclusive, do only subsearch\n return prevOptions;\n } else if (typeof prevInclusiveOrIdx === 'number') {\n // Or reuse prev results with unchecked ones\n return [...prevOptions, ...options.slice(prevInclusiveOrIdx)];\n }\n\n return options;\n }\n\n private _doSearch(options: IMultiSelectOption[], str: string, limit: number, searchFunction: (str: string) => RegExp) {\n const prevStr = str.slice(0, -1);\n const prevResults = this._searchCache[prevStr];\n const prevResultShift = this._prevSkippedItems[prevStr] || 0;\n\n if (prevResults) {\n options = this._getSubsetOptions(options, prevResults, prevStr);\n }\n\n const optsLength = options.length;\n const maxFound = limit > 0 ? Math.min(limit, optsLength) : optsLength;\n const regexp = searchFunction(str);\n const filteredOpts: IMultiSelectOption[] = [];\n\n let i = 0, founded = 0, removedFromPrevResult = 0;\n\n const doesOptionMatch = (option: IMultiSelectOption) => regexp.test(option.name);\n const getChildren = (option: IMultiSelectOption) =>\n options.filter(child => child.parentId === option.id);\n const getParent = (option: IMultiSelectOption) =>\n options.find(parent => option.parentId === parent.id);\n const foundFn = (item: any) => {\n filteredOpts.push(item);\n founded++;\n };\n const notFoundFn = prevResults ? () => removedFromPrevResult++ : () => {\n };\n\n for (; i < optsLength && founded < maxFound; ++i) {\n const option = options[i];\n const directMatch = doesOptionMatch(option);\n\n if (directMatch) {\n foundFn(option);\n continue;\n }\n\n if (typeof option.parentId === 'undefined') {\n const childrenMatch = getChildren(option).some(doesOptionMatch);\n\n if (childrenMatch) {\n foundFn(option);\n continue;\n }\n }\n\n if (typeof option.parentId !== 'undefined') {\n const parentMatch = doesOptionMatch(getParent(option)!);\n\n if (parentMatch) {\n foundFn(option);\n continue;\n }\n }\n\n notFoundFn();\n }\n\n const totalIterations = i + prevResultShift;\n\n this._searchCache[str] = filteredOpts;\n this._searchCacheInclusive[str] = i === optsLength || totalIterations;\n this._prevSkippedItems[str] = removedFromPrevResult + prevResultShift;\n\n return filteredOpts;\n }\n\n private _limitRenderedItems(items: T[], limit: number): T[] {\n return items.length > limit && limit > 0 ? items.slice(0, limit) : items;\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'custom-select-values',\n templateUrl: './custom-select-values.component.html',\n styleUrls: ['./custom-select-values.component.scss']\n})\nexport class CustomSelectValuesComponent implements OnInit {\n\n @Input()\n options: any[] = [];\n\n @Input()\n title?: string;\n\n @Output()\n optionsChange: EventEmitter = new EventEmitter();\n\n @Input()\n disable: boolean = false;\n\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n select(id) {\n if (!this.disable) {\n this.options = this.options.map(opt => {\n if (opt['ID'] == id) {\n opt['SELECTED'] = !opt['SELECTED'];\n }\n return opt;\n })\n }\n\n }\n\n}\n","
\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n
\n \n \n warninginfoinfo\n \n \n {{ option['LABEL'] }}\n
\n
\n","import {Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {MatSelect, MatSelectChange} from \"@angular/material/select\";\n\nexport interface SelectType\n{\n\tlabel: String;\n\tvalue: any;\n}\n\n@Component({\n\tselector: 'custom-select',\n\ttemplateUrl: './custom-select.component.html',\n\tstyleUrls: ['./custom-select.component.scss']\n})\nexport class CustomSelectComponent implements OnInit, OnChanges\n{\n\t@Input()\n\tlabel: String | undefined;\n\n\t@Input()\n\tplaceholder: String | undefined;\n\n\t@Input()\n\tvalues?: any[];\n\n\t@Input()\n\tdefaultValue: any;\n\n\t@Input()\n\tdisabled: boolean | undefined = false;\n\n\t@Output()\n\tdefaultValueChange: EventEmitter = new EventEmitter();\n\n\t@Input()\n\tcolumnName?: string;\n\n\t@Output()\n\tcolumnChange: EventEmitter = new EventEmitter()\n\n\t@Input()\n\textraClass: string = '';\n\n\t@Input()\n\tpreventIdChange: boolean = false;\n\n\t@Input()\n\tsearchable: boolean = false;\n\n\n\tsearchValue: string = \"\"; //The ID rendered are filtered by this value\n\n\tfilterValues: any[] | undefined; //Contains the filter values on selector\n\n\t@ViewChild('selectElement') selectElement: MatSelect | undefined;\n\t@ViewChild('searchInput') searchInput: ElementRef | undefined;\n\n\tconstructor()\n\t{\n\t}\n\n\tngOnInit(): void\n\t{\n\n\t\tif (!this.defaultValue && this.values?.length)\n\t\t{\n\t\t\tthis.defaultValue = this.values[0].id;\n\t\t\tthis.onChange(this.values[0].id);\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges)\n\t{\n\t\tif(changes[\"values\"]){\n\t\t\tthis.filterValues = [...changes[\"values\"].currentValue];\n\t\t}\n\t}\n\n\tonChange(event: MatSelectChange): void\n\t{\n\n\t\tlet value = event.value;\n\t\tif (!this.preventIdChange)\n\t\t{\n\t\t\tif (this.values)\n\t\t\t\tthis.defaultValue = this.values.find(elem => elem.id == value)\n\t\t}\n\t\tthis.defaultValueChange.emit(value);\n\t\tthis.columnChange.emit(this.columnName ?? '');\n\t}\n\n\tonSearchValueChange(event: any){\n\t\tif(event){\n\t\t\tthis.filterValues = this.values?.filter(option => option.id.toUpperCase().includes(event.toUpperCase()) || option.name.toUpperCase().includes(event.toUpperCase()));\n\t\t}else{\n\t\t\tthis.searchValue = \"\";\n\t\t\tthis.filterValues = this.values;\n\t\t}\n\t}\n\n\topenedChange(event: any) {\n\t\t//Scroll to the top\n\t\tlet panel = this.selectElement?.panel?.nativeElement as HTMLDivElement;\n\t\tif(panel){\n\t\t\tpanel.scrollTop = 0;\n\t\t}\n\n\t\t//Give focus to the input so the user can search immediately\n\t\tthis.searchInput?.nativeElement.focus();\n\t}\n}\n","
\n\t\n\n\t\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t{{ option.name }}\n\t\t\n\n\t\t
\n\t\t\tNo result found\n\t\t
\n\n\t
\n\n\n
\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {DataTableComponent} from '../data-table/data-table.component';\n\n@Component({\n selector: 'custom-table-paginator',\n templateUrl: './custom-table-paginator.component.html',\n styleUrls: ['./custom-table-paginator.component.scss'],\n})\nexport class CustomTablePaginatorComponent implements OnInit {\n @Input()\n paginatorLoaderTitle!: string;\n\n @Input()\n paginatorLoader: number = 50;\n\n @Input()\n paginatorLoaderList: Array = [50, 100, 250];\n\n @Input()\n page!: number;\n\n @Input()\n numElementsLoaded!: number;\n\n @Input()\n numElementsSize!: number;\n\n isAllLoaded: boolean = false;\n\n @Output()\n onPaginatorChange: EventEmitter = new EventEmitter();\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n ngOnChanges() {\n }\n\n\n onPageChange(evt: any) {\n this.page = Math.floor(this.numElementsLoaded / this.paginatorLoader);\n this.isAllLoaded = this.numElementsSize - this.numElementsLoaded <= 0;\n if (!this.isAllLoaded) {\n this.onPaginatorChange.emit({\n pageIndex: this.page,\n previousPageIndex: this.page - 1,\n loader: this.paginatorLoader,\n size: this.numElementsSize,\n });\n }\n }\n\n onLoadClick(event: MouseEvent) {\n\n event.preventDefault()\n this.isAllLoaded = this.numElementsSize - this.numElementsLoaded <= 0;\n if (!this.isAllLoaded) {\n this.page = this.page + 1;\n this.onPaginatorChange.emit({\n pageIndex: this.page,\n previousPageIndex: this.page - 1,\n loader: this.paginatorLoader,\n size: this.numElementsSize,\n });\n }\n }\n}\n\n\nexport interface PageEventType {\n pageIndex: number;\n previousPageIndex: number;\n loader: number;\n size: number;\n}\n","
\n
\n \n \n {{ option }}\n \n \n
\n \n
\n \n\n = numElementsSize)\">{{ 'LABEL_LOAD_MORE' | translate }}\n \n
\n
\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {MatFormFieldAppearance} from '@angular/material/form-field';\nimport {RegExpInterface} from \"../../../models/RegExpInterface\";\nimport {RegexParser} from \"../../../utils/generic\";\n\n@Component({\n\tselector: \"custom-text-field\",\n\ttemplateUrl: \"./custom-text-field.component.html\",\n\tstyleUrls: [\"./custom-text-field.component.scss\"]\n})\nexport class CustomTextFieldComponent implements OnInit, AfterViewInit\n{\n\t@ViewChild('customInput') inputToCheck;\n\n\t@Input()\n\tvalue: any = \"\";\n\n\t@Output()\n\tvalueChange: EventEmitter = new EventEmitter();\n\n\t@Input()\n\tonError?: boolean = false;\n\n\t@Output()\n\tonErrorChange: EventEmitter = new EventEmitter();\n\n\t@Input()\n\tappearance!: MatFormFieldAppearance;\n\n\t@Input()\n\tlabel: String | undefined;\n\n\t@Input()\n\tplaceholder: String | undefined;\n\n\t@Input()\n\tdisabled: Boolean | undefined = false;\n\n\t@Input()\n\tisNumber: Boolean = false;\n\n\t@Input()\n\tisMandatory: Boolean = true;\n\n\t@Input()\n\tformControl;\n\n\t@Input()\n\tmatAutocomplete;\n\n\t@Input()\n\tmin = 0;\n\n\t@Input()\n\tminlength;\n\n\t@Input()\n\tmaxlength;\n\n\t@Input()\n\tcolumnId = \"\";\n\n\t@Input()\n\tregexps: RegExpInterface[] = []\n\n\t@Input()\n\tpattern = '';\n\n\t@Input()\n\tmywidth = 0;\n\n\t@Input()\n\tcolumnType = '';\n\n\n\tconstructor()\n\t{\n\t}\n\n\tngOnInit(): void\n\t{\n\t\tif (!!this.inputToCheck)\n\t\t{\n\t\t\tthis.onErrorChange.emit(!this.inputToCheck.nativeElement.validity.valid)\n\t\t}\n\t}\n\n\n\n\tngAfterViewInit()\n\t{\n\t\tif (!!this.inputToCheck)\n\t\t{\n\n\t\t\tthis.onErrorChange.emit(!this.inputToCheck.nativeElement.validity.valid)\n\t\t}\n\t}\n\n\tonValueChange($event: any)\n\t{\n\t\tif (this.isNumber)\n\t\t{\n\t\t\tthis.valueChange.emit(+this.value);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.valueChange.emit(this.value);\n\t\t}\n\n\t}\n\n\tonInputChange = (value) =>\n\t{\n\t\tif (this.regexps.length > 0)\n\t\t{\n\t\t\tthis.regexps.forEach(regExp =>\n\t\t\t{\n\t\t\t\tvalue.target.value = value.target.value.replace(RegexParser(regExp.regExp), regExp.replaceValue)\n\t\t\t})\n\n\t\t\t/*this.regexps.forEach(regExp => {\n\n\t\t\t value.target.value = value.target.value.replace(RegexParser(regExp.regExp), regExp.replaceValue)\n\t\t\t})*/\n\t\t}\n\t\tthis.onErrorChange.emit(!this.inputToCheck.nativeElement.validity.valid)\n\n\t}\n\n}\n\n","
\n
\n \n \n
\n
\n\n
0\">\n
\n \n \n
\n
","import {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component, ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges, ViewChild,\n ViewChildren\n} from \"@angular/core\";\nimport {TableControllerService} from 'src/app/services/table-controller.service';\nimport {keyExistsIn} from 'src/app/utils/generic';\nimport * as _ from 'lodash';\nimport {PageEventType} from '../custom-table-paginator/custom-table-paginator.component';\nimport {MatDialog} from '@angular/material/dialog';\nimport {cloneDeep} from \"lodash\";\nimport {ActionSet} from \"../../../models/layout\";\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n@Component({\n selector: \"data-table\",\n templateUrl: \"./data-table.component.html\",\n styleUrls: [\"./data-table.component.scss\"],\n})\nexport class DataTableComponent implements OnInit, AfterViewInit, AfterContentChecked {\n public ITEM_SIZE = 48;\n\n @ViewChild(CdkVirtualScrollViewport, {static: false})\n public viewPort?: CdkVirtualScrollViewport;\n\n @Input()\n pageEvent: PageEventType = {\n pageIndex: 0,\n previousPageIndex: 0,\n loader: 50,\n size: 50,\n };\n\n @Input()\n length: number = 0;\n\n @Input()\n numElementsLoaded: number = 0;\n\n @ViewChildren(\"checkboxes\")\n checkboxes: any;\n\n itemsArray: any[] = [];\n\n @Input()\n datasets;\n\n @Input()\n actionsets?: ActionSet;\n\n pageable: any;\n\n @Output()\n onActionEmit: EventEmitter = new EventEmitter();\n\n @Output()\n onRowClick: EventEmitter = new EventEmitter();\n\n @Output()\n onResetSort: EventEmitter = new EventEmitter();\n\n @Input()\n tableController!: TableControllerService;\n\n @Input()\n disabledColumns: string[] = [];\n\n @Input()\n defaultCheckedValue: string[] = [];\n\n @Input()\n disabledActions: { id: string; motivation: string }[] = [];\n\n @Input()\n isDetail: Boolean = false;\n\n @Input()\n isSortable: Boolean = true;\n\n\n @Input()\n actionsToCheck: string[] = [\n \"ACT_DELETE\",\n \"ACT_CANCEL\",\n \"ACT_EDIT\",\n \"ACT_CARD_DOWNLOAD\",\n \"ACT_CARD_UPLOAD\",\n \"ACT_SAVE\",\n \"ACT_SAVE_REWORK\",\n \"ACT_SHOW_CAMERA\",\n \"ACT_EDIT_PROBLEM\",\n \"ACT_EDIT_DAM\",\n \"ACT_SHOW_DETAIL\",\n \"ACT_PREVIEW\"\n ];\n\n\n //ACT_EDIT', 'ACT_ADD', 'ACT_CANCEL\n @Input()\n visibleItems: number = 1;\n\n @ViewChild(\"scrollViewport\")\n private cdkVirtualScrollViewport;\n\n @ViewChild(\"tableTr\", {static: false})\n private tableTr?: ElementRef;\n\n private trWidth = 0;\n\n public columnSize = {};\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n public dialog: MatDialog\n ) {\n }\n\n\n ngAfterContentChecked(): void {\n //console.log(this.tableTr)\n }\n\n ngOnInit(): void {\n this.getDataset();\n }\n\n ngOnChanges(change: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n\n this.tableController.calculateColumnWidth = (table: ElementRef | undefined = this.tableTr) => {\n if (!!table) {\n // const trWidth = table.nativeElement.offsetWidth;\n // [MB 03/10/2024] ITEUR-77: cannot get width from table because grid size can change\n const trWidth = this.viewPort?.elementRef.nativeElement.offsetWidth || table.nativeElement.offsetWidth;\n\n const totalSizeColumn = (Object.keys(this.tableController.columnWeight).map(key => this.tableController.columnWeight[key]) ?? []).reduce((accumulator, currentValue) => accumulator + currentValue, 1)\n\n Object.keys(this.tableController.columnWeight).forEach(key => {\n this.tableController.columnSize[key] = Math.floor((totalSizeColumn < trWidth) ? ((trWidth / totalSizeColumn) * this.tableController.columnWeight[key]) : this.tableController.columnWeight[key])\n })\n\n }\n\n }\n\n //this.viewPort?.setTotalContentSize(this.tableController.dataSet.length * this.ITEM_SIZE); // ITEM_SIZE is the height of each item in pixels\n }\n\n\n getDataset() {\n }\n\n onCheckboxClick() {\n /*this.tableController.selectedRow = this.checkboxes\n .toArray()\n .filter((elementRef) => elementRef.nativeElement.checked)\n .map((elementRef) => elementRef.nativeElement.value);\n\n ////(this.tableController.selectedRow);*/\n }\n\n editRow(index: number) {\n this.tableController.editRow(index);\n }\n\n editRowId(index: number, action: string) {\n this.tableController.commitEditDetail(index);\n\n\n this.actionEmitter(action + \"_ID\");\n }\n\n exitRow(index: number) {\n this.tableController.exitRow(index);\n this.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n }\n\n commitEdit(index: number, action: string) {\n this.tableController.rowNumber = index;\n if (!this.tableController.dataSet[index].newRow) {\n this.tableController.commitEdit(index);\n this.datasets.datas.forEach((column) => {\n if (\n this.tableController.dataSet[index][column.columnName] !=\n this.tableController.dataSet[index].backup[column.columnName]\n ) {\n this.tableController.dataSet[index][\"edited\"] = true;\n }\n });\n }\n this.actionEmitter(action);\n }\n\n keyExistsIn(obj, key) {\n return keyExistsIn(obj, key);\n }\n\n onInputChange(index: number) {\n ////(this.tableController.dataSet[index]);\n this.tableController.dataSet[index].edited = true;\n }\n\n onAddClick() {\n ////(this.datasets)\n let newRowObject = {};\n\n if (\n !!this.tableController.dataSet &&\n this.tableController.dataSet.length > 0 &&\n !!this.tableController.dataSet[0] &&\n Object.keys(this.tableController.dataSet[0]).length > 0\n ) {\n newRowObject = _.cloneDeep(this.tableController.dataSet[0]);\n Object.keys(newRowObject).forEach((key) => {\n if (this.defaultCheckedValue.indexOf(key) > -1) {\n newRowObject[key] = true;\n } else {\n newRowObject[key] = \"\";\n }\n });\n } else {\n newRowObject = cloneDeep({});\n this.datasets.datas.forEach((column) => {\n if (this.defaultCheckedValue.indexOf(column.columnName) > -1) {\n newRowObject[column.columnName] = true;\n } else {\n newRowObject[column.columnName] = \"\";\n }\n });\n }\n\n this.tableController.dataSet = this.tableController.onAddClick(_.cloneDeep(newRowObject));\n\n this.onRowClick.emit(0);\n }\n\n deleteRow(index: number, rollback: boolean = false) {\n this.tableController.dataSet = this.tableController.deleteRow(index, rollback);\n\n if (!rollback) {\n this.actionEmitter(\"ACT_DELETE_ID\");\n } else {\n this.actionEmitter(\"ACT_ROLLBACK\");\n }\n\n console.log(this.tableController.dataSet);\n }\n\n cancelClaimRow(index: number, rollback: boolean = false) {\n if (index != -1) {\n this.tableController.dataSet = this.tableController.deleteRow(index, rollback);\n if (!rollback) {\n this.actionEmitter(\"ACT_WITHDRAW_ID\");\n } else {\n this.actionEmitter(\"ACT_ROLLBACK\");\n }\n } else {\n this.tableController.selection.selected.forEach((row) => {\n this.tableController.deletedRows.push(row);\n });\n this.actionEmitter(\"ACT_WITHDRAW_ID\");\n }\n }\n\n saveRow(index: number, isEditing: Boolean) {\n if (isEditing) {\n this.tableController.commitEdit(index);\n } else {\n this.tableController.dataSet = this.tableController.saveRow(index);\n }\n }\n\n onCancelClick() {\n this.getDataset();\n }\n\n onPageChange(pageEvent: any) {\n this.tableController.onPaginationChange.emit(pageEvent);\n }\n\n actionEmitter(action: string, index?: number) {\n if (action.endsWith(\"_ALL\")) {\n this.tableController.commitEditDetail(-1);\n }\n this.onActionEmit.emit(action);\n }\n\n convertValue(column: any, dataSetElementElement: any, row: number) {\n return (\n column.optionValues.filter((option) => option.id == dataSetElementElement)[0]?.name ??\n this.tableController.dataSet[row][column.columnName]\n );\n }\n\n onRadioButtonClick(column: any, i: number) {\n\n this.tableController.dataSet[i].edited = true;\n this.tableController.dataSet[i][column.columnName] = !this.tableController.dataSet[i][column.columnName];\n column.radioGroup?.forEach((columnName) => {\n this.tableController.dataSet[i][columnName] = !this.tableController.dataSet[i][column.columnName];\n });\n console.log(this.tableController.dataSet[i])\n }\n\n sortColumn(name: string) {\n let poolMap: Map = new Map();\n this.tableController.sortedColumns.forEach((value, key, map) => {\n poolMap.set(key, value);\n });\n if (\n !!this.tableController.sortedColumns &&\n !!this.tableController.sortedColumns.get(name) &&\n (this.tableController.sortedColumns.get(name)?.type == \"asc\" ||\n this.tableController.sortedColumns.get(name)?.type == \"desc\")\n ) {\n poolMap.delete(name);\n if (this.tableController.sortedColumns.get(name)?.type == \"asc\") {\n const order = this.tableController.sortedColumns.get(name)?.order ?? 0;\n this.tableController.sortedColumns = new Map();\n this.tableController.sortedColumns.set(name, {order: order, type: \"desc\"});\n poolMap.forEach((value, key, map) => {\n this.tableController.sortedColumns.set(key, value);\n });\n } else {\n const order = this.tableController.sortedColumns.get(name)?.order ?? 0;\n this.tableController.sortedColumns.delete(name);\n this.tableController.sortedColumns.forEach((value, key, map) => {\n this.tableController.sortedColumns.set(key, {\n order: value.order > order ? value.order - 1 : value.order,\n type: value.type,\n });\n });\n }\n } else {\n if (!this.tableController.sortedColumns.get(name)) {\n let maxIndex = 0;\n this.tableController.sortedColumns.forEach((value, key, map) => {\n maxIndex = maxIndex < value.order ? value.order : maxIndex;\n });\n this.tableController.sortedColumns.set(name, {order: maxIndex + 1, type: \"asc\"});\n }\n }\n\n this.tableController.onSortChange.emit({\n sorting: this.tableController.sortedColumns,\n pageEvent: this.pageEvent,\n });\n }\n\n onClearSortClick() {\n this.tableController.sortedColumns = new Map();\n\n this.tableController.onSortChange.emit({\n sorting: this.tableController.sortedColumns,\n pageEvent: this.pageEvent,\n });\n }\n\n compare(act: { id: string; motivation: string }, id: string) {\n return act.id == id;\n }\n\n public get inverseOfTranslation(): string {\n if (!this.viewPort) {\n return \"-0px\";\n }\n const offset = this.viewPort.getOffsetToRenderedContentStart();\n\n return `-${offset}px`;\n }\n\n calculateContainerHeight(): string {\n const numberOfItems = this.tableController.dataSet?.length ?? 1;\n // This should be the height of your item in pixels\n const itemHeight = 48;\n // The final number of items you want to keep visible\n const visibleItems = 3;\n\n setTimeout(() => {\n // Makes CdkVirtualScrollViewport to refresh its internal size values after\n // changing the container height. This should be delayed with a \"setTimeout\"\n // because we want it to be executed after the container has effectively\n // changed its height. Another option would be a resize listener for the\n // container and call this line there but it may requires a library to detect\n // the resize event.\n\n this.cdkVirtualScrollViewport.checkViewportSize();\n }, 300);\n\n // It calculates the container height for the first items in the list\n // It means the container will expand until it reaches `200px` (20 * 10)\n // and will keep this size.\n if (numberOfItems <= visibleItems) {\n return `${itemHeight * numberOfItems}px`;\n }\n\n // This function is called from the template so it ensures the container will have\n // the final height if number of items are greater than the value in \"visibleItems\".\n return `${itemHeight * visibleItems}px`;\n }\n\n onResetSortClick() {\n this.onResetSort.emit(null)\n }\n\n\tget actReportAction(): any {\n\t \tlet actReport = this.actionsets?.actions?.filter(act => act.id === 'ACT_REPORT');\n\t\t if(actReport && actReport.length > 0) {\n\t\t\t return actReport[0]\n\t\t }else{\n\t\t\t return null;\n\t\t }\n\n\t}\n\n get actAddLanguage(): any {\n let actReport = this.actionsets?.actions?.filter(act => act.id === 'ACT_ADD_LANGUAGE');\n if(actReport && actReport.length > 0) {\n return actReport[0]\n }else{\n return null;\n }\n\n }\n\n\tget actExportReportAction(): any {\n\t\tlet actReport = this.actionsets?.actions?.filter(act => act.id === 'ACT_EXPORT_REPORT');\n\t\tif(actReport && actReport.length > 0) {\n\t\t\treturn actReport[0];\n\t\t}else{\n\t\t\treturn null;\n\t\t}\n\t}\n}\n","
\n
\n
0\n && (('ACT_EXPORT' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_DELETE' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_SEND' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_SAVE_REWORK' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_DRAFT' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_CARDS_DOWNLOAD' | haveAction: (actionsets?.actions ?? []) | async))\" ngbDropdown>\n \n {{ 'LABEL_ACTIONS' | translate }} \n \n
0\n && (('ACT_EXPORT' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_WITHDRAW' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_SAVE_REWORK' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_DELETE' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_SEND' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_DRAFT' | haveAction: (actionsets?.actions ?? []) | async)\n || ('ACT_CARDS_DOWNLOAD' | haveAction: (actionsets?.actions ?? []) | async))\"\n aria-labelledby=\"dropdownBasic1\" ngbDropdownMenu>\n \n \n \n\n \n\n \n \n \n \n \n
\n
\n\n\n \n \n \n \n \n\t\t\n\t\t\n\n\n \n
\n \n\n
\n \n \n \n {{\n \"ACT_REPORT\" |\n translate\n }}\n \n \n\n \n \n \n {{\n \"ACT_EXPORT_REPORT\" |\n translate\n }}\n \n \n\n \n \n \n {{\n \"ACT_ADD_LANGUAGE\" |\n translate\n }}\n \n \n\n 0\" class=\"clear-sort-btn\"\n color=\"primary\">{{\n \"ACT_CLEAR_SORT\" |\n translate\n }}\n \n 0\" class=\"reset-sort-btn\"\n color=\"primary\">{{\n \"ACT_RESET_SORT\" |\n translate\n }}\n \n\n 0\"\n [numElementsLoaded]=\"numElementsLoaded\" [numElementsSize]=\"length\"\n [page]=\"pageEvent.pageIndex\"\n [paginatorLoaderList]=\"[50, 100, 250]\"\n [paginatorLoaderTitle]=\"('LABEL_TABLE_PAGINATOR' | translate)\"\n [paginatorLoader]=\"50\" class=\"right\">\n \n \n
\n {{ \"ACT_ADD\" | translate }}\n \n
\n
\n {{\n \"ACT_ADD\"\n | translate\n }}\n \n
\n
\n {{\n \"ACT_ADD\"\n | translate\n }}\n \n
\n
\n {{\n \"ACT_ADD\"\n | translate\n }}\n \n
\n
\n
\n\n
\n\n
\n
\n \n \n \n \n \n\n \n 0) && ((actionsets?.actions ?? []) | haveOneAction : actionsToCheck)\"\n class=\"actions\">\n \n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n 0) && ((actionsets?.actions ?? []) | haveOneAction : actionsToCheck)\"\n class=\"actions\">\n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n\n\n\n \n \n \n\n \n \n \n\n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n\n \n\n \n
\n \n \n \n \n {{ column.columnLabel | translate }}\n \n arrow_upward\n arrow_downward\n {{ tableController.sortedColumns.get(column.columnName)?.order }}\n \n
\n
{{ \"LABEL_NO_DATA_FOUND\" | translate }}
\n
\n \n \n \n \n error\n \n warning\n \n info\n \n \n\n \n \n \n \n \n \n {{\n (((tableController.filterValues) | getListTooltipV2: column.columnName:\n tableController.dataSet[i][column.columnName] :\n tableController.dataSet[i][column.columnName] : i) | async) ??\n tableController.dataSet[i][column.columnName]\n }}\n\n\n \n\n \n \n \n \n\n {{\n (((tableController.filterValues) | getListTooltipV2: column.columnName:\n tableController.dataSet[i][column.columnName] :\n tableController.dataSet[i][column.columnName] : i) | async) ??\n tableController.dataSet[i][column.columnName]\n }}\n\n \n\n \n \n \n {{\n (((tableController.filterValues) | getListTooltipV2: column.columnName:\n tableController.dataSet[i][column.columnName] :\n tableController.dataSet[i][column.columnName] : i) | async) ??\n tableController.dataSet[i][column.columnName]\n }}\n\n \n\n \n \n \n \n \n \n \n \n \n check_small\n \n \n \n \n \n \n {{ tableController.dataSet[i][column.columnName] }}\n \n\n \n \n \n \n {{ tableController.dataSet[i][column.columnName] }}\n\n \n\n \n \n \n \n {{ tableController.dataSet[i][column.columnName] }}\n\n \n\n \n \n \n {{ tableController.dataSet[i][column.columnName] }}\n \n \n \n \n \n \n \n \n\n \n \n \n\n \n {{\n tableController.dataSet[i][column.columnName]\n }}\n\n \n \n \n \n \n \n \n \n check_small\n \n \n \n \n {{ tableController.dataSet[i][column.columnName] }}\n\n \n \n \n \n \n\n \n -1)))\"\n *ngIf=\"(column.type == 'DTY_NVAR' || column.type == 'DTY_INT' || column.type == 'DTY_FLOAT')\"\n [(value)]=\"tableController.dataSet[i][column.columnName]\" [columnId]=\"column.id\"\n [disabled]=\"(!column.editable && !(!!tableController.dataSet[i].newRow)) || (disabledColumns.indexOf(column.columnName) > -1)\"\n [isNumber]=\"column.type == 'DTY_INT' || column.type == 'DTY_FLOAT'\"\n\t\t\t\t\t\t\t\t [columnType]=\"column.type\"\n [maxlength]=\"column.maxLength\"\n [mywidth]=\"tableController.columnSize[column.columnName]\"\n [onError]=\"tableController.getErrors(i, column.columnName)\"\n [pattern]=\"column.patternInfo\"\n [regexps]=\"column.regExpList\">\n\n\n \n\n\n \n -1)\"\n [values]=\"(tableController.filterValues | async)[column.columnName]\"\n\t\t\t\t\t\t\t [searchable]=\"true\"\n\t\t\t\t>\n \n\n \n \n -1 )))\"\n *ngIf=\"column.type == 'DTY_LIST'\"\n [(value)]=\"tableController.dataSet[i][column.columnName]\"\n [disabled]=\"(!column.editable && !(!!tableController.dataSet[i].newRow)) || (disabledColumns.indexOf(column.columnName) > -1)\"\n [isNumber]=\"column.type == 'DTY_INT' || column.type == 'DTY_FLOAT'\"\n\t\t\t\t\t\t\t\t [columnType]=\"column.type\"\n [maxlength]=\"column.maxLength\"\n [mywidth]=\"tableController.columnSize[column.columnName]\"\n [onError]=\"tableController.getErrors(i, column.columnName)\"\n [pattern]=\"column.patternInfo\"\n [regexps]=\"column.regExpList\">\n\n\n \n\n \n\n -1)\">\n \n\n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
\n\n
\n
\n
\n\n
\n","import {Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {AlertService} from '../alert/alert.service';\nimport {GeneralService} from 'src/app/services/crud/general.service';\nimport {TableControllerService} from 'src/app/services/table-controller.service';\nimport {lastValueFrom} from 'rxjs';\nimport {ALERT_TYPE} from '../alert/alert.enumerate';\nimport * as saveAs from \"file-saver\";\nimport {Action} from \"../../../models/layout\";\n\n\nexport interface File {\n id: string,\n path: string,\n name: string,\n type: string,\n parent: string,\n category: string,\n url: string\n}\n\n@Component({\n selector: 'app-dialog-download',\n templateUrl: './dialog-download.component.html',\n styleUrls: ['./dialog-download.component.scss'],\n providers: [TableControllerService],\n})\nexport class DialogDownloadComponent {\n docList: any[] = [];\n fileId: any = \"\";\n apiParent: string = \"documents\";\n\n//////\n attachments: File[] = [];\n\n\n/////\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialog,\n private generalService: GeneralService,\n public alertService: AlertService,\n public tableController: TableControllerService,\n ) {\n console.log(this.data)\n this.docList = data.content\n this.attachments = data.content\n this.fileId = data.content.LOADING_CARDS_ID;\n\n console.log(this.docList)\n console.log(this.attachments)\n\n }\n\n ngOnInit() {\n\n }\n\n haveTableAction(actions: Action[] | undefined) {\n\n return actions?.some(action => ['ACT_EDIT', 'ACT_SAVE', 'ACT_TO_PROBLEM', 'ACT_EDIT_PROBLEM'].some(act => act == action.id)) ?? false;\n }\n\n deletePicture(id: string) {\n\n lastValueFrom(this.generalService.deleteAttachment(id))\n .then((res) => {\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"Delete document success\",\n timeout: 5000,\n selfClose: null,\n });\n\n this.attachments = this.attachments.filter(f => f.id !== id)\n\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Delete document was wrong\",\n timeout: 5000,\n selfClose: null,\n });\n });\n window.location.reload;\n }\n\n /*\n lastValueFrom(\n this.generalService.deleteDocOrPhoto(id)\n )\n .then((blob) => {\n if (blob.size == 0) {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message:\n \"There is no file associated with the loading card \" + this.tableController.row[\"LOADING_CARDS_ID\"],\n timeout: 5000,\n selfClose: null,\n });\n return;\n } else {\n //saveAs(blob, nome);\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"Resource deleted successfully\",\n timeout:5000,\n selfClose:null,\n\n }),\n window.location.reload();\n\n }\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Something went wrong during the delete \",\n timeout: 5000,\n selfClose: null,\n\n });\n\n });*/\n\n downlaodFile(file: File) {\n saveAs(file.url, file.name)\n }\n\n download(nome: string, id: string) {\n\n console.log(nome)\n console.log(id)\n\n\n lastValueFrom(\n this.generalService.downloadCard(\"documents/cards\" + \"/download\", id)\n )\n .then((blob) => {\n if (blob.size == 0) {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message:\n \"There is no file associated with the loading card \" + this.tableController.row[\"LOADING_CARDS_ID\"],\n timeout: 5000,\n selfClose: null,\n });\n return;\n } else {\n saveAs(blob, nome);\n }\n })\n .catch((err) => {\n this.alertService.add({\n type: ALERT_TYPE.WARNING,\n message: \"Something went wrong during the download \",\n timeout: 5000,\n selfClose: null,\n\n });\n\n });\n }\n}\n\n\n\n\n\n","
\n
\n \n\n
\n \n\n \n
\n
\n
\n\n\n \n\n","import {Component, EventEmitter, Inject, OnInit, Output} from \"@angular/core\";\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\nimport {DialogComponent} from \"../dialog.component\";\nimport {MessagingService} from \"../../../../services/utils/messaging.service\";\n\n@Component({\n selector: 'application-information',\n templateUrl: './app-info.component.html',\n styleUrls: ['./app-info.component.scss']\n})\nexport class AppInfoComponent implements OnInit {\n\n @Output()\n onConfirm: EventEmitter = new EventEmitter();\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public messager: MessagingService\n ) {\n dialogRef.disableClose = true;\n }\n\n onNoClick() {\n this.onConfirm.emit(false);\n this.dialogRef.close();\n }\n\n onConfirmClick() {\n this.onConfirm.emit(true);\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n }\n\n}\n","

{{ data.title }}

\n
\n

{{ data.content }}

\n

{{ data.content2 }}

\n {{ 'LABEL_STORE_HTTP' | translate }}\n
\n
\n \n \n
\n","import {Component, EventEmitter, Inject, OnInit, Output} from '@angular/core';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss']\n})\nexport class DialogComponent {\n\n @Output()\n onConfirm: EventEmitter = new EventEmitter();\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n dialogRef.disableClose = true;\n }\n\n onNoClick() {\n this.onConfirm.emit(false);\n this.dialogRef.close();\n }\n\n onConfirmClick() {\n this.onConfirm.emit(true);\n this.dialogRef.close();\n }\n}\n","

{{ data.title | translate }}

\n
\n

{{ data.content | translate }}

\n

{{ data.content2 | translate }}

\n
\n
\n \n \n
\n","import {Component, EventEmitter, Inject, OnInit, Output} from '@angular/core';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n@Component({\n selector: 'save-confirm',\n templateUrl: './save-confirm.component.html',\n styleUrls: ['./save-confirm.component.scss']\n})\nexport class SaveConfirmComponent {\n\n @Output()\n onConfirm: EventEmitter = new EventEmitter();\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n dialogRef.disableClose = true;\n }\n\n onNoClick() {\n this.onConfirm.emit('no');\n this.dialogRef.close();\n }\n\n onConfirmClick() {\n this.onConfirm.emit('one');\n this.dialogRef.close();\n }\n\n onAllConfirmClick() {\n this.onConfirm.emit('all');\n this.dialogRef.close();\n }\n}\n","

{{ data.title | translate }}

\n
\n

{{ data.content | translate }}

\n

{{ data.content2 | translate }}

\n
\n
\n \n \n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-dnd',\n templateUrl: './dnd.component.html',\n styleUrls: ['./dnd.component.scss'],\n})\nexport class DndComponent implements OnInit {\n public files: any = [];\n public dialog: { [key: string]: any };\n\n //'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n\n ANY_FILE = '*/*'\n IMAGE_FILE = 'image/* image/webp image/avif image/bmp image/gif image/vnd.microsoft.icon image/jpeg image/png image/svg+xml image/tiff'\n acceptFileType = this.ANY_FILE;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { [key: string]: any }\n ) {\n this.dialog = data;\n if (!!data['type']) {\n if (data['type'] == 'any') {\n this.acceptFileType = '*/*';\n } else if (data['type'] == 'image') {\n this.acceptFileType = 'image/* image/webp image/avif image/bmp image/gif image/vnd.microsoft.icon image/jpeg image/png image/svg+xml image/tiff';\n }\n }\n if (!!data['files']) {\n this.files = data['files']\n }\n }\n\n ngOnInit(): void {\n }\n\n /**\n * on file drop handler\n */\n onFileDropped($event: any) {\n this.prepareFilesList($event);\n }\n\n /**\n * handle file from browsing\n */\n fileBrowseHandler(evt: any) {\n const files = evt.target.files;\n this.prepareFilesList(files);\n }\n\n /**\n * Delete file from files list\n * @param index (File index)\n */\n deleteFile(index: number) {\n this.files.splice(index, 1);\n }\n\n /**\n * Convert Files list to normal array list\n * @param files (Files List)\n */\n prepareFilesList(files: Array) {\n const accepted_file = this.acceptFileType.split(' ');\n for (const item of files) {\n if (this.acceptFileType !== '*/*' && accepted_file.includes(item.type)) {\n item.progress = 0;\n this.files.push(item);\n } else if (this.acceptFileType == '*/*') {\n item.progress = 0;\n this.files.push(item);\n }\n }\n }\n\n /**z\n * format bytes\n * @param bytes (File size in bytes)\n * @param decimals (Decimals point)\n */\n formatBytes(bytes: any, decimals: any) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals || 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n}\n","

{{ dialog['title'] }}

\n\n
\n \n \n \n

Drag and drop files here

\n

or

\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

\n {{ file?.name }}\n

\n

\n {{ formatBytes(file?.size, 0) }}\n

\n
\n\n
\n \n \n \n
\n
\n
\n
\n\n \n \n\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-email-preview',\n templateUrl: './email-preview.component.html',\n styleUrls: ['./email-preview.component.scss']\n})\nexport class EmailPreviewComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","

email-preview works!

\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FILTER_TYPE, FilterInterface} from './filter.interface';\nimport {IMultiSelectOption, IMultiSelectSettings} from \"../../custom-multiselect/types\";\nimport {GeneralService} from \"../../../../services/crud/general.service\";\nimport {Observable} from \"rxjs\";\n\n@Component({\n selector: \"custom-filter[filterModel]\",\n templateUrl: \"./custom-filter.component.html\",\n styleUrls: [\"./custom-filter.component.scss\"],\n})\nexport class CustomFilterComponent implements OnInit {\n filterType = FILTER_TYPE;\n\n @Input()\n filterModel!: FilterInterface;\n\n @Input()\n filterValues?: Observable;\n\n @Output()\n filterModelChange: EventEmitter = new EventEmitter();\n\n @Output()\n onEnterEmit: EventEmitter = new EventEmitter();\n\n multisSelectSettings : IMultiSelectSettings = {\n\t displayAllSelectedText: true,\n\t itemClasses: 'custom-menu-item',\n\t closeOnClickOutside: true,\n\t pullRight: false,\n\t enableSearch: true,\n\t searchRenderLimit: 0,\n\t searchRenderAfter: 1,\n\t searchMaxLimit: 0,\n\t searchMaxRenderedItems: 0,\n\t checkedStyle: 'checkboxes',\n\t buttonClasses: 'btn-dropdown',\n\t containerClasses: 'dropdown-inline',\n\t selectionLimit: 0,\n\t minSelectionLimit: 0,\n\t closeOnSelect: false,\n\t autoUnselect: false,\n\t showCheckAll: false,\n\t showUncheckAll: false,\n\t fixedTitle: false,\n\t dynamicTitleMaxItems: 3,\n\t maxHeight: '300px',\n\t isLazyLoad: false,\n\t stopScrollPropagation: false,\n\t loadViewDistance: 1,\n\t selectAddedValues: false,\n\t ignoreLabels: false,\n\t maintainSelectionOrderInTitle: false,\n\t focusBack: true\n }\n\n constructor(private generalDataService: GeneralService) {\n }\n\n ngOnInit(): void {\n }\n\n onChange(event: any): void {\n //(this.filterModel);\n this.filterModel.filterSelectedOption = this.filterModel.lFilterOptions.filter((f) => f.id == event)[0];\n this.filterModelChange.emit(this.filterModel);\n }\n\n onFirstFilterChange(event: any): void {\n this.filterModel.firstValue = event;\n this.filterModelChange.emit(this.filterModel);\n }\n\n onSecondFilterChange(event: any): void {\n this.filterModel.secondValue = event;\n this.filterModelChange.emit(this.filterModel);\n }\n\n onClearClick() {\n ////(this.filterModel);\n }\n\n onEnter($event: any) {\n this.onEnterEmit.emit();\n }\n}\n","
\n \n
\n\n
\n \n
\n \n \n \n \n \n
\n\n \n
\n \n \n \n \n
\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n \n
\n \n \n \n
\n\n
\n \n\n
\n\n
\n","import {IMultiSelectOption} from \"../../custom-multiselect/types\";\n\nexport interface FilterOption {\n id: string;\n name: string;\n haveSecondParam: boolean;\n}\n\nexport enum FILTER_TYPE {\n TEXT = 'FLT_STRING',\n NUMBER = 'FLT_NUMBER',\n DATE = 'FLT_DATE',\n SELECTION = 'FLT_SELECTION',\n MULTI_SELECTION = 'FLT_MULTI_SELECTION'\n}\n\nexport function getKeyByValue(value: string) {\n const indexOfS = Object.values(FILTER_TYPE).indexOf(value as unknown as FILTER_TYPE);\n\n return Object.keys(FILTER_TYPE)[indexOfS];\n}\n\nexport interface FilterValue {\n value: any;\n label: String;\n}\n\nexport interface FilterInterface {\n\n lFilterOptions: IMultiSelectOption[];\n filterId: string;\n filterValueSearch: string;\n filterType: FILTER_TYPE;\n columnLabel: string;\n columnName: string,\n selectedOption: string;\n filterSelectedOption: IMultiSelectOption;\n filterValues: IMultiSelectOption[];\n firstValue: any;\n secondValue: any;\n isHide: Boolean;\n isResultsetLinked: boolean;\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FILTER_TYPE, FilterInterface} from \"../custom-filter/filter.interface\";\nimport {MatDialog} from '@angular/material/dialog';\nimport {\n DialogData,\n FilterSettingsComponent,\n} from '../filter-settings/filter-settings.component';\nimport {FilterControllerService} from '../../../../services/filter-controller.service';\nimport {AuthService} from \"../../../../services/auth.service\";\nimport {cloneDeep} from \"lodash\";\nimport {MatAccordion} from '@angular/material/expansion';\n\n@Component({\n selector: 'filter-panel[pageReference]',\n templateUrl: './filter-panel.component.html',\n styleUrls: ['./filter-panel.component.scss'],\n})\nexport class FilterPanelComponent {\n @Input()\n filterModels: FilterInterface[] = [];\n\n\n @ViewChild(MatAccordion) expansionPanelContainer?: MatAccordion;\n\n @Output()\n onFilterClick: EventEmitter = new EventEmitter();\n\n @Input()\n filterController!: FilterControllerService;\n\n @Input()\n pageReference!: string;\n\n @Output()\n onResetFilterClick: EventEmitter = new EventEmitter();\n\n constructor(public dialog: MatDialog, private authService: AuthService) {\n }\n\n openDndDialog(event: MouseEvent) {\n event.stopPropagation();\n const dialogRef = this.dialog.open(FilterSettingsComponent, {\n data: {\n dataTitle: 'FILTER_SETTINGS',\n viewList: cloneDeep(this.filterController.filterModels\n .filter((fil) => !fil.isHide)\n .map((fil) => {\n return {\n id: fil.filterId,\n label: fil.columnLabel,\n };\n })),\n hideList: cloneDeep(this.filterController.filterModels\n .filter((fil) => fil.isHide)\n .map((fil) => {\n return {\n id: fil.filterId,\n label: fil.columnLabel,\n };\n }))\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n ////('The dialog was closed');\n ////(result);\n if (result?.action == 'reset') {\n this.resetFilter();\n } else if (!!result.hideList) {\n const hideList = result.hideList.map((fil) => fil.id);\n console.log(result.viewList);\n this.filterController.filterModels = this.filterController.filterModels.map((filter) => {\n\n filter.isHide = hideList.some((elem) => elem === filter.filterId);\n return filter;\n }).sort((a, b) => {\n return result.viewList.findIndex(filter => filter.id == a.filterId) - result.viewList.findIndex(filter => filter.id == b.filterId)\n });\n const filterSettings = localStorage.getItem('filter');\n if (!!filterSettings) {\n const filters = JSON.parse(filterSettings);\n filters[this.pageReference] = {\n instance: cloneDeep(this.filterController.filterModels).map((model) => {\n model.firstValue = null;\n return model;\n }),\n instant: new Date(),\n };\n localStorage.setItem('filter', JSON.stringify(filters));\n this.authService.setFilter(JSON.stringify(filters)).subscribe(res => {\n this.filterController.refreshViewedFilter();\n });\n } else {\n const filters = {};\n filters[this.pageReference] = {\n instance: cloneDeep(this.filterController.filterModels).map((model) => {\n model.firstValue = null;\n return model;\n }),\n instant: new Date(),\n };\n localStorage.setItem('filter', JSON.stringify(filters));\n\n this.authService.setFilter(JSON.stringify(filters)).subscribe(res => {\n this.filterController.refreshViewedFilter();\n });\n }\n }\n\n }\n );\n }\n\n applyFilter() {\n this.expansionPanelContainer?.closeAll();\n this.onFilterClick.emit(true);\n }\n\n clearFilter() {\n //(this.filterController);\n this.filterController.filterModels.forEach((model) => {\n model.firstValue = null;\n model.filterSelectedOption = model.lFilterOptions[0];\n });\n\n }\n\n\n resetFilter() {\n const filterSettings = localStorage.getItem('filter');\n if (!!filterSettings) {\n let filters = JSON.parse(filterSettings);\n filters[this.pageReference] = {};\n delete filters[this.pageReference]\n localStorage.setItem('filter', JSON.stringify(filters));\n this.authService.setFilter(JSON.stringify(filters)).subscribe(res => {\n this.onResetFilterClick.emit(true)\n });\n\n }\n }\n\n}\n"," 0\"\n class=\"example-headers-align\"\n multi>\n \n \n \n {{ filterController.viewedFilter.length < 1 ? (\"FILTER_LABEL\" | translate) : ((\"FILTER_BY\" | translate) + \":\") }}  {{ filterController.viewedFilter.join('; ') }}\n \n \n \n settings\n \n \n \n\n
\n
\n
\n \n \n \n\n
\n
\n\n
\n \n {{ \"FILTER_SEARCH\" | translate }}\n \n\n \n {{ \"FILTER_CLEAR\" | translate }}\n \n\n \n
\n
\n\n\n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\nimport {CdkDragDrop, moveItemInArray, transferArrayItem} from \"@angular/cdk/drag-drop\";\n\nexport interface DialogFIlterItem {\n id: String,\n label: String\n}\n\nexport interface DialogData {\n dataTitle: String;\n viewList: DialogFIlterItem[];\n hideList: DialogFIlterItem[];\n}\n\n@Component({\n selector: 'filter-settings',\n templateUrl: './filter-settings.component.html',\n styleUrls: ['./filter-settings.component.scss']\n})\nexport class FilterSettingsComponent {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n ) {\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex,\n );\n }\n }\n\n transferArrayItem(itemIndex: number, to: 'view' | 'hide') {\n if (to === 'view') {\n transferArrayItem(\n this.data.hideList,\n this.data.viewList,\n itemIndex,\n this.data.viewList.length,\n );\n } else {\n transferArrayItem(\n this.data.viewList,\n this.data.hideList,\n itemIndex,\n this.data.hideList.length,\n );\n }\n\n }\n}\n","

{{ ('' + data.dataTitle | translate) }}

\n
\n\n
\n

{{ 'FILTER_HIDDEN' | translate }}

\n
\n
\n {{ ('' + item.label) | translate }}\n \n arrow_forward_ios\n \n\n
\n
\n
\n
\n

{{ 'FILTER_VISIBLE' | translate }}

\n
\n
\n\n \n arrow_back_ios\n \n {{ ('' + item.label) | translate }}\n
\n
\n
\n
\n
\n {{ \"ACT_CANCEL\" | translate }}\n {{ \"FILTER_RESET\" | translate }}\n {{ \"LABEL_OK\" | translate }}\n \n
\n","import {Component, OnInit} from '@angular/core';\nimport {ThemePalette} from '@angular/material/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {ProgressSpinnerMode} from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n\n color: ThemePalette = 'primary';\n mode: ProgressSpinnerMode = 'indeterminate';\n value = 50;\n\n constructor(private dialogRef: MatDialogRef) {\n dialogRef.disableClose = true;\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n \n
\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges} from \"@angular/core\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {NavItem} from 'src/app/models/NavItem';\nimport {NavService} from 'src/app/services/nav.service';\nimport {DialogComponent} from \"../dialog/dialog.component\";\nimport {MatDialog} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-menu-list-item',\n templateUrl: './menu-list-item.component.html',\n styleUrls: ['./menu-list-item.component.scss'],\n animations: [\n trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition(\n 'expanded <=> collapsed',\n animate('225ms cubic-bezier(0.4,0.0,0.2,1)')\n ),\n ]),\n ],\n})\nexport class MenuListItemComponent implements OnInit {\n expanded: boolean = false;\n\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\n @Input() item!: NavItem;\n\n @Input() depth!: number;\n\n selected: boolean = false;\n\n constructor(public navService: NavService, public router: Router, public dialog: MatDialog, private activatedRoute: ActivatedRoute) {\n if (this.depth === undefined) {\n this.depth = 0;\n }\n\n }\n\n ngOnInit(): void {\n }\n\n onItemSelected(item: NavItem) {\n\n //(item)\n if (!item.children || !item.children.length || item.children.length <= 1) {\n sessionStorage.setItem('path', item.pageId ?? '$EMPTY$');\n\n this.navService.selectedItem = item;\n //localStorage.setItem('lastUrl', item.route)\n let selectedItm = item;\n if (item.children?.length == 1) {\n selectedItm = item.children[0];\n }\n if (!!localStorage.getItem('changes') && localStorage.getItem('changes') == 'true') {\n const dialogRef = this.dialog.open(DialogComponent, {\n data: {\n title: 'Unsaved changes',\n content: `If you leave this page the creations or changes you have made so far will not be saved. How would you like to proceed?`,\n cancelButtonLabel: 'Stay',\n cancelButtonColor: 'basic',\n confirmButtonLabel: 'Leave',\n confirmButtonColor: 'accent',\n },\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res && res == true) {\n this.router.navigate([selectedItm.route], {\n queryParams: {\n id: selectedItm.pageId,\n title: selectedItm.displayName\n }\n });\n }\n });\n } else {\n this.router.navigate([selectedItm.route], {\n queryParams: {\n id: selectedItm.pageId,\n title: selectedItm.displayName\n }\n });\n }\n\n this.navService.closeNav();\n }\n if (item.children && item.children.length) {\n this.expanded = !this.expanded;\n }\n }\n\n isSelected(item: NavItem): boolean {\n const sessionPageId = sessionStorage.getItem('path')\n /*if{\n\n }\n return !!(item.route && window.location.pathname.includes(item.route))*/\n console.log(sessionPageId);\n console.log(item)\n return !!(sessionPageId && sessionPageId != '$EMPTY$' && sessionPageId == item.pageId)\n }\n}\n","\n {{ item.iconName }}\n \n {{\n item.displayName\n }}\n 1\" fxFlex>\n \n \n expand_more\n \n \n\n
1\">\n \n \n
\n","import {Component, ElementRef, EventEmitter, forwardRef, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild} from '@angular/core';\nimport {MatSelect, MatSelectChange} from \"@angular/material/select\";\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\nimport {CustomMultiselectComponent} from \"../custom-multiselect/custom-multiselect.component\";\n\nconst MULTISELECT_VALUE_ACCESSOR: any = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => MultiSelectComponent),\n\tmulti: true,\n};\n\n@Component({\n selector: 'multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.scss'],\n providers:[MULTISELECT_VALUE_ACCESSOR]\n})\nexport class MultiSelectComponent implements OnChanges,ControlValueAccessor {\n\t@Input()\n\tlabel: String | undefined;\n\n\t@Input()\n\tplaceholder: String | undefined;\n\n\t@Input()\n\toptions?: any[];\n\n\t@Input()\n\tvalue: string = '';\n\n\t@Input()\n\tdisabled: boolean | undefined = false;\n\n\t@Output()\n\tonSelectionChange: EventEmitter = new EventEmitter()\n\n\t@Input()\n\textraClass: string = '';\n\n\t@Input()\n\tsearchable: boolean = false;\n\n\tsearchValue: string = \"\"; //The ID rendered are filtered by this value\n\n\tfilterOptions: any[] | undefined; //Contains the filter options on selector\n\n\t@ViewChild('selectElement') selectElement: MatSelect | undefined;\n\t@ViewChild('searchInput') searchInput: ElementRef | undefined;\n\n\tconstructor()\n\t{\n\t}\n\n\t/**\n\t * Responds to changes in the component's input properties.\n\t * Specifically, updates the `filterOptions` array when the `options` input changes.\n\t *\n\t * @param changes - An object of current and previous property values.\n\t */\n\tngOnChanges(changes: SimpleChanges)\n\t{\n\t\tif(changes[\"options\"]?.currentValue){\n\t\t\tthis.filterOptions = [...changes[\"options\"].currentValue];\n\t\t}\n\t}\n\n\t/**\n\t * Handles the selection change event from the MatSelect component.\n\t * Invokes the registered onChange callback with the new selected value.\n\t *\n\t * @param event - The MatSelectChange event containing the new selection value.\n\t */\n\toncSelectionChange(event: MatSelectChange): void\n\t{\n\t\tlet value = event.value;\n\t\tthis.onChange(value);\n\t}\n\n\t/**\n\t * Updates the `filterOptions` based on the search input value.\n\t * If a search value is provided, filters the `options` array to include\n\t * only those options whose `id` includes the search value.\n\t * If no search value is provided, resets `searchValue` and sets\n\t * `filterOptions` to the full `options` array.\n\t *\n\t * @param event - The search input value used to filter options.\n\t */\n\tonSearchValueChange(event: any){\n\t\tif(event){\n\t\t\tthis.filterOptions = this.filterOptions?.filter(option => option.id.toUpperCase().includes(event.toUpperCase()) || option.name.toUpperCase().includes(event.toUpperCase()));\n\t\t}else{\n\t\t\tthis.searchValue = \"\";\n\t\t\tthis.filterOptions = this.options;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the scroll position of the MatSelect panel to the top\n\t * when the dropdown is opened.\n\t *\n\t * @param event - The event triggered when the dropdown is opened.\n\t */\n\topenedChange(event: any) {\n\t\tlet panel : HTMLDivElement = this.selectElement?.panel?.nativeElement as HTMLDivElement;\n\t\tif(panel){\n\t\t\tpanel.scrollTop = 0;\n\t\t}\n\n\t\tthis.searchInput?.nativeElement.focus();\n\t}\n\n\tonChange: (value: string) => void = () => {};\n\tonTouched: () => void = () => {};\n\n\twriteValue(value: string): void {\n\t\tthis.value = value || '';\n\t}\n\n\tregisterOnChange(fn: (value: string) => void): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n}\n","
\n\t\n\n\t\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t{{ option.name }}\n\t\t\n\n\t\t
\n\t\t\tNo result found\n\t\t
\n\n\t
\n\n\n
\n","import {Component, OnDestroy, OnInit} from \"@angular/core\";\nimport {HttpParams} from \"@angular/common/http\";\nimport {TableControllerService} from \"../../../../services/table-controller.service\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {BehaviorSubject, filter, firstValueFrom, forkJoin, Observable, Subject, Subscription, takeUntil} from \"rxjs\";\nimport {map, tap} from \"rxjs/operators\";\nimport {GeneralService} from \"../../../../services/crud/general.service\";\nimport {FilterControllerService} from \"../../../../services/filter-controller.service\";\nimport * as saveAs from \"file-saver\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {DialogComponent} from \"../../dialog/dialog.component\";\nimport {\n\tget_tex_size,\n\thasSubArray,\n\trefactorName,\n\treplacer,\n\treviver,\n\ttransformIdToValueFromList\n} from \"../../../../utils/generic\";\nimport {PageEventType} from \"../../custom-table-paginator/custom-table-paginator.component\";\nimport {ActionSet, Data, DataSet, Layout, SectionLayout} from \"../../../../models/layout\";\nimport {SpinnerService} from \"../../../../services/spinner.service\";\nimport {LayoutServiceService} from \"../../../../services/layout.service\";\nimport {ALERT_TYPE} from \"../../alert/alert.enumerate\";\nimport {AlertService} from \"../../alert/alert.service\";\nimport {NavigationService} from \"../../../../services/utils/navigation.service\";\nimport {DndComponent} from \"../../dnd/dnd.component\";\nimport {FILTER_TYPE, FilterInterface} from \"../../filter/custom-filter/filter.interface\";\nimport {IMultiSelectOption} from \"../../custom-multiselect/types\";\nimport {cloneDeep, first} from \"lodash\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport {TitleCasePipe} from \"@angular/common\";\nimport {Document} from \"src/app/components/pages/documents/documents.component\";\nimport {SaveConfirmComponent} from \"../../dialog/save-confirm/save-confirm.component\";\nimport {AddLanguageComponent} from \"../language/add-language/add-language.component\";\n\n@Component({\n\tselector: \"layout-general\",\n\ttemplateUrl: \"./general.component.html\",\n\tstyleUrls: [\"./general.component.scss\"],\n\tproviders: [TableControllerService, FilterControllerService],\n\thost: {'class': 'h-100'}\n})\nexport class GeneralComponent implements OnDestroy, OnInit\n{\n\tprivate searchSubscription?: Subscription;\n\n\tprivate _interactionCycle: Subject = new Subject();\n\tprivate _pageCycle: Subject = new Subject();\n\n\tprivate _routeUrl: BehaviorSubject = new BehaviorSubject('');\n\n\tprivate url$: Observable = this.route.url.pipe(map((segments) => segments.join(\"/\"))).pipe(\n\t\tmap((url) =>\n\t\t{\n\t\t\tthis.spinner.hideAll();\n\t\t\tthis.apiUrl = url;\n\t\t\tthis.route.parent?.url.pipe(map((segments) => segments.join(\"/\"))).subscribe((finalParentUrl) =>\n\t\t\t{\n\t\t\t\tthis.apiParent = finalParentUrl;\n\t\t\t});\n\t\t\treturn url;\n\t\t}),\n\t\tfilter(url => url !== this._routeUrl.value),\n\t\ttap(url =>\n\t\t{\n\t\t\tthis._routeUrl.next(url);\n\t\t\tthis.tableController.dataSet = [];\n\n\t\t\tthis._interactionCycle.next()\n\t\t\tconsole.log('loading for:', url)\n\t\t\tthis.getQueryParam();\n\t\t}),\n\t\ttakeUntil(this._pageCycle)\n\t)\n\n\tconstructor(\n\t\tprivate spinner: SpinnerService,\n\t\tpublic tableController: TableControllerService,\n\t\tpublic filterController: FilterControllerService,\n\t\tprivate route: ActivatedRoute,\n\t\tprivate router: Router,\n\t\tprivate generalDataService: GeneralService,\n\t\tpublic dialog: MatDialog,\n\t\tpublic layoutService: LayoutServiceService,\n\t\tpublic alertService: AlertService,\n\t\tprivate navigation: NavigationService,\n\t\tprivate translateService: TranslateService,\n\t\tprivate titlePageTranslate: TitleCasePipe\n\t)\n\t{\n\t\tthis.spinner.hideAll();\n\n\n\t\tthis.tableController.onPaginationChange.subscribe((event) =>\n\t\t{\n\t\t\tthis.savedPaginator = event;\n\t\t\tthis.onSearch(event.pageIndex, event.loader, this.sortedColumns, this.savedFilter);\n\t\t});\n\n\t\tthis.tableController.onSortChange.subscribe((event) =>\n\t\t{\n\t\t\tthis.sortedColumns = event.sorting;\n\t\t\tsessionStorage.setItem(\"sort_\" + this.pageId, JSON.stringify(event.sorting, replacer));\n\t\t\tthis.onSearch(0, this.tableController.dataSet.length, event.sorting, this.savedFilter, this.dts, true);\n\t\t});\n\n\t\tthis.tableController.validateActions.set(\"ACT_WITHDRAW\", (row) =>\n\t\t{\n\t\t\treturn !!row[\"STATUS\"] && row[\"STATUS\"] != \"CANCELLED\";\n\t\t});\n\n\t\tthis.tableController.validateActions.set(\"ACT_DELETE\", (row) =>\n\t\t{\n\t\t\treturn !(!!row[\"STATUS\"] && row[\"STATUS\"] != \"CANCELLED\");\n\t\t});\n\n\t\tthis.tableController.validateActions.set(\"ACT_EDIT_DAM\", (row) =>\n\t\t{\n\t\t\treturn !!row[\"STATUS\"] && row[\"STATUS\"] != \"CANCELLED\";\n\t\t});\n\n\t\tthis.tableController.validateActions.set(\"ACT_CREATE_SCORECARD_DAM\", (row) =>\n\t\t{\n\t\t\treturn !!row[\"STATUS\"] && (row.STATUS == 'OPEN' || row.STATUS == 'REOPEN' || row.STATUS == 'MODIFIED')\n\t\t});\n\n\t\tthis.tableController.validateActions.set(\"ACT_EDIT_SCR\", (row) =>\n\t\t{\n\t\t\treturn false;\n\t\t});\n\n\n\t\ttableController.customizeAfterAddClick = (newRowObj: any): any =>\n\t\t{\n\t\t\t//newRowObj[newRowObj.obackupDTO]=null\n\t\t\tdelete newRowObj.lDocuments;\n\t\t\tdelete newRowObj.backup;\n\t\t\treturn newRowObj\n\t\t}\n\t\t//setto nill e return constr altrimneti delete, + problem detail componetn\n\t\t//per il mom\n\t}\n\n\tngOnDestroy(): void\n\t{\n\t\tif (!!this.searchSubscription)\n\t\t{\n\t\t\tthis.searchSubscription.unsubscribe();\n\t\t}\n\t\tconsole.log('destroying page');\n\t\tthis._pageCycle.next();\n\t}\n\n\tngOnInit(): void\n\t{\n\t\tconsole.log('building page')\n\t\tthis.url$.subscribe();\n\t}\n\n\t_LayoutSubject: BehaviorSubject = new BehaviorSubject(null);\n\t_LayoutObservable = this._LayoutSubject.asObservable();\n\n\tlayout: Layout | undefined;\n\tviewOnly: boolean = false\n\tpageActionset: ActionSet[] = [];\n\tpageDataset: DataSet[] = [];\n\n\tdataSet: any[] = [];\n\n\tapiUrl: string = \"\";\n\n\tapiParent: string = \"\";\n\n\tsavedFilter: any = [];\n\n\ttitlePage: string = \"\";\n\tpageId: string = \"\";\n\n\tattachments: Document[] = [];\n\n\n\tsavedParams: HttpParams = new HttpParams();\n\n\tsavedPaginator: PageEventType = {\n\t\tpageIndex: 0,\n\t\tpreviousPageIndex: 0,\n\t\tloader: 50,\n\t\tsize: 0\n\t};\n\n\tsortedColumns: Map = new Map();\n\n\ttoDamageDetail = {};\n\n\tdisabledColumns: string[] = [\"INSERT_USER\", \"INSERT_DATE\", \"UPDATE_USER\", \"UPDATE_DATE\"];\n\n\tdts: string = \"\";\n\n\tats: string = \"\";\n\n\tvisibleItems!: number;\n\n\tcheckStringOrNumberValidity = (value: any | null) =>\n\t{\n\t\tconsole.log(value, value !== undefined && value !== null)\n\t\treturn value !== undefined && value !== null\n\t}\n\n\trefreshData(\n\t\tsrtdClmns: Map<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\torder: number;\n\t\t\t\ttype: \"asc\" | \"desc\";\n\t\t\t}\n\t\t> = new Map(),\n\t\tnewFilter: Array = new Array()\n\t)\n\t{\n\t\tthis.onSearch(0, this.savedPaginator.loader, srtdClmns, newFilter, this.dts, true);\n\t}\n\n\tgetQueryParam()\n\t{\n\t\tthis.route.queryParams.pipe(\n\t\t\ttakeUntil(this._interactionCycle),\n\t\t\tmap((params) =>\n\t\t\t{\n\t\t\t\tthis.pageId = params[\"id\"] ?? [];\n\t\t\t\tthis.titlePage = params[\"title\"] ?? \"\";\n\n\t\t\t\tconst sorted = sessionStorage.getItem(\"sort_\" + this.pageId);\n\t\t\t\tif (sorted)\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.sortedColumns = JSON.parse(sorted, reviver);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.sortedColumns = new Map();\n\t\t\t\t}\n\n\t\t\t\tconst flt = sessionStorage.getItem(\"FLT_\" + this.pageId);\n\t\t\t\tif (flt)\n\t\t\t\t{\n\t\t\t\t\tthis.filterController.filterModels = JSON.parse(flt, reviver)\n\t\t\t\t\tthis.onFilterClick(null, false);\n\t\t\t\t}\n\n\t\t\t\tthis.getPageLayout(this.pageId);\n\n\t\t\t\treturn params;\n\t\t\t})\n\t\t).subscribe({\n\t\t\tnext: (params) =>\n\t\t\t{\n\t\t\t},\n\t\t\terror: (err) =>\n\t\t\t{\n\t\t\t\t//(err)\n\t\t\t\tthis.alertService.add({\n\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\tmessage: \"Some error occurred on layout retrive\",\n\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\tselfClose: null\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tonFilterClick(event: any, isSearching: boolean = true)\n\t{\n\t\tconst newFilter: any = [];\n\n\t\tsessionStorage.setItem(\"FLT_\" + this.pageId, JSON.stringify(this.filterController.filterModels, replacer));\n\t\tconst _filterList = this.filterController.filterModels.filter((model) => !model.isHide);\n\t\t//(_filterList);\n\t\t_filterList.forEach((filter) =>\n\t\t{\n\t\t\tconsole.log(filter)\n\t\t\tif (filter.filterSelectedOption.haveSecondParam && filter.filterSelectedOption.id == \"_-d_\")\n\t\t\t{\n\t\t\t\tif (this.checkStringOrNumberValidity(filter.firstValue)) newFilter.push(filter.columnName + \"_>d_\" + filter.firstValue);\n\t\t\t\tif (this.checkStringOrNumberValidity(filter.secondValue)) newFilter.push(filter.columnName + \"__\" + filter.firstValue);\n\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.secondValue)) newFilter.push(filter.columnName + \"_<_\" + filter.secondValue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (filter.filterSelectedOption.haveFirstParam)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.firstValue) && filter.firstValue.length > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (filter.filterType == FILTER_TYPE.MULTI_SELECTION)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewFilter.push(filter.columnName + filter.filterSelectedOption.id + filter.firstValue.join(\"§\"));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewFilter.push(filter.columnName + filter.filterSelectedOption.id + filter.firstValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfilter.firstValue = []\n\t\t\t\t\t\tnewFilter.push(filter.columnName + filter.filterSelectedOption.id + \"#\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t});\n\t\tthis.savedFilter = newFilter;\n\t\tthis.filterController.refreshViewedFilter();\n\n\t\tif (isSearching)\n\t\t{\n\t\t\tthis.tableController.dataSet = [];\n\t\t\tthis.onSearch(0, this.savedPaginator.loader, this.sortedColumns, newFilter);\n\t\t}\n\n\t}\n\n\tonCancelClick()\n\t{\n\t\tthis.tableController.deletedRows = [];\n\t\tthis.tableController.selection.clear();\n\t\tthis.tableController.dataSet = [];\n\t\tthis.onSearch(0, this.savedPaginator.loader, this.sortedColumns, this.savedFilter);\n\t}\n\n\t/*onSaveClick(event) {\n\t event.stopPropagation();\n\n\t this.spinner.show();\n\t if (!!this.tableController.deletedRows && this.tableController.deletedRows.length > 0) {\n\t\tlastValueFrom(\n\t\t this.generalDataService.deleteData(this.apiParent + \"/\" + this.apiUrl, this.tableController.deletedRows)\n\t\t)\n\t\t .then((res) => {\n\t\t\tthis.tableController.deletedRows = [];\n\t\t\tthis.spinner.hide();\n\t\t })\n\t\t .finally(() => {\n\t\t\tthis.spinner.show();\n\t\t\tlastValueFrom(\n\t\t\t this.generalDataService.postData(\n\t\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\t\tthis.tableController.dataSet\n\t\t\t\t .filter((row) => row.edited != undefined)\n\t\t\t\t .map((elem) => {\n\t\t\t\t\tdelete elem.edited;\n\t\t\t\t\tdelete elem.checked;\n\t\t\t\t\treturn elem;\n\t\t\t\t })\n\t\t\t )\n\t\t\t).finally(() => {\n\t\t\t this.spinner.hide();\n\t\t\t this.onCancelClick();\n\t\t\t});\n\t\t });\n\t } else {\n\t\tlastValueFrom(\n\t\t this.generalDataService.postData(\n\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\tthis.tableController.dataSet\n\t\t\t .filter((row) => row.edited != undefined)\n\t\t\t .map((elem) => {\n\t\t\t\tdelete elem.edited;\n\t\t\t\tdelete elem.checked;\n\t\t\t\treturn elem;\n\t\t\t })\n\t\t )\n\t\t).finally(() => {\n\t\t this.spinner.hide();\n\t\t this.onCancelClick();\n\t\t});\n\t }\n\t} */\n\n\tonExportAllClick(event)\n\t{\n\t\tevent.stopPropagation();\n\n\t\tif (!!this.layout)\n\t\t\tthis.savedParams = this.savedParams.set(\n\t\t\t\t\"dataset\",\n\t\t\t\tthis.layout[\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t);\n\t\tthis.generalDataService.exportDataExcel(this.apiParent + \"/\" + this.apiUrl, \"excel\", this.savedParams, []).pipe(\n\t\t\ttakeUntil(this._interactionCycle)\n\t\t).subscribe((blob) =>\n\t\t{\n\t\t\tsaveAs(blob, `${this.titlePage}.xlsx`);\n\t\t\tthis.spinner.hide();\n\t\t});\n\t}\n\n\tonSearch(\n\t\tpage: number,\n\t\tsize: number,\n\t\tsorting: Map,\n\t\tfilters: Array,\n\t\tdts: string = this.dts,\n\t\trefresh: boolean = false\n\t)\n\t{\n\t\tlet params = new HttpParams().set(\"page\", page).set(\"size\", size).set(\"dts\", dts);\n\t\tnew Map([...sorting.entries()].sort((a, b) => a[1].order - b[1].order)).forEach((value, key, map) =>\n\t\t{\n\t\t\tif (!!!params.get(\"sort\")) params = params.set(\"sort\", refactorName(key) + (value.type == \"desc\" ? \",desc\" : \"\"));\n\t\t\telse params = params.append(\"sort\", refactorName(key) + (value.type == \"desc\" ? \",desc\" : \"\"));\n\t\t});\n\t\tfilters.forEach((filter) =>\n\t\t{\n\t\t\tif (!filter.includes(\"&\"))\n\t\t\t{\n\t\t\t\tif (!!!params.get(\"search\")) params = params.set(\"search\", filter);\n\t\t\t\telse params = params.append(\"search\", filter);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfilter.split(\"&\").forEach((value) =>\n\t\t\t\t{\n\t\t\t\t\tif (!!!params.get(\"search\")) params = params.set(\"search\", value);\n\t\t\t\t\telse params = params.append(\"search\", value);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tthis.savedParams = params;\n\n\t\tthis.spinner.showWithTitle(\"data\", this.translateService.instant('LOADING_RESULTSET'));\n\n\t\tthis.tableController.selection.clear(); //[LM - 24/09/2024] Clear the row selection when reload the dataset...\n\n\t\t//.getData(this.apiParent + \"/\" + this.apiUrl, undefined, params)\n\t\tthis.searchSubscription = this.generalDataService.getData(this.apiParent + \"/\" + this.apiUrl, undefined, params).pipe(\n\t\t\ttakeUntil(this._interactionCycle)\n\t\t)\n\t\t//.getData(!!this.apiParent? (this.apiParent+ \"/\" + this.apiUrl) : this.apiUrl , undefined, params)\n\t\t.subscribe({\n\t\t\tnext: (res) =>\n\t\t\t{\n\t\t\t\tif (refresh)\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.dataSet = res[\"oContent\"][\"rs\"][\"content\"];\n\t\t\t\t\tif (!!this.layout) this.catchAllSelectedOptions(this.layout);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.dataSet = !!this.tableController.dataSet\n\t\t\t\t\t\t? hasSubArray(this.tableController.dataSet, res[\"oContent\"][\"rs\"][\"content\"])\n\t\t\t\t\t\t: res[\"oContent\"][\"content\"][\"rs\"];\n\n\t\t\t\t}\n\n\t\t\t\tthis.tableController.numElementsLoaded = this.tableController.dataSet.length;\n\t\t\t\tthis.tableController.numElementsSize = res[\"oContent\"][\"rs\"].totalElements;\n\n\t\t\t\tthis.filterController._filterValues.next(res[\"oContent\"][\"fv\"]);\n\t\t\t\tthis.tableController._filterValues.next(res[\"oContent\"][\"tv\"]);\n\t\t\t\tthis.calculateSizeComplete();\n\t\t\t\tthis.spinner.hide();\n\t\t\t},\n\t\t\terror: (error) =>\n\t\t\t{\n\t\t\t\tthis.spinner.hide();\n\t\t\t}\n\t\t});\n\t}\n\n\tactionCatcher(event: string)\n\t{\n\t\tif (event.endsWith(\"_ALL\"))\n\t\t{\n\t\t\tif (event.startsWith(\"ACT_IMPORT\"))\n\t\t\t{\n\n\t\t\t\tconst dialogEvent = this.dialog.open(DndComponent, {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttitle: \"UPLOADING\",\n\t\t\t\t\t\tcode: \"Upload file: \",\n\t\t\t\t\t\tmessage: \"Are you sure you want to upload this file?\",\n\t\t\t\t\t\tbtn: \"Upload\",\n\t\t\t\t\t\ttype: \"any\",\n\t\t\t\t\t\tcancelBtn: \"Close\"\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tdialogEvent.afterClosed().subscribe(async (dndResponse) =>\n\t\t\t\t{\n\t\t\t\t\tif (!!dndResponse && dndResponse.send)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst uploadFiles: File[] = dndResponse.files;\n\n\t\t\t\t\t\tfor (let file of uploadFiles)\n\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_IMPORT') + ' ' + this.titlePage);\n\t\t\t\t\t\t\tawait firstValueFrom(\n\t\t\t\t\t\t\t\tthis.generalDataService.importExcel(\n\t\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl + \"/import\",\n\t\t\t\t\t\t\t\t\tfile\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t).then((res) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(res.type === 'application/json'){\n\t\t\t\t\t\t\t\t\t//The response is Blob\n\t\t\t\t\t\t\t\t\tres.text().then(stringResponse=>{\n\t\t\t\t\t\t\t\t\t\tlet response = JSON.parse(stringResponse);\n\t\t\t\t\t\t\t\t\t\tif(response.data.iResponseCode !== 200){\n\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\t\tmessage: response.data.oContent,\n\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}else{\n this.alertService.add({\n type: ALERT_TYPE.SUCCESS,\n message: \"File Uploaded\",\n timeout: 5000,\n selfClose: null\n });\n }\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tif (res.size != 0)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsaveAs(res, `${this.titlePage}_RESULT.xlsx`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\tmessage: \"File Uploaded with Errors\",\n\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tthis.onSearch(0, this.savedPaginator.loader, this.sortedColumns, this.savedFilter, this.dts, true);\n\t\t\t\t\t\t\t}).catch((err) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsole.log(err)\n\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\tmessage: \"Something went wrong, please try again or contact webmaster\",\n\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}).finally(() =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t\telse\n\t\t\t\tif (event.startsWith(\"ACT_EXPORT_REPORT\"))\n\t\t\t\t{\n\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_EXPORT_REPORT') + ' ' + this.titlePage);\n\t\t\t\t\tthis.generalDataService.exportDataExcel(\n\t\t\t\t\t\t//this.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t(!!this.apiUrl ? this.apiParent + \"/\" + this.apiUrl : this.apiParent),\n\t\t\t\t\t\t\"report-excel\",\n\t\t\t\t\t\tthis.savedParams.set(\n\t\t\t\t\t\t\t\"dataset\",\n\t\t\t\t\t\t\tthis.layout![\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\t(this.tableController.selection.selected.length > 0 ? this.tableController.selection.selected : [])\n\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe((blob) =>\n\t\t\t\t\t{\n\t\t\t\t\t\t//saveAs(blob, `${this.titlePage}.xlsx`);\n\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tif (event.startsWith(\"ACT_EXPORT\"))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (this.tableController.numElementsSize > 5000)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst dialogRef = this.dialog.open(DialogComponent, {\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitle: this.translateService.instant(\"LABEL_LARGE_AMOUNT_DATA\"),\n\t\t\t\t\t\t\t\t\tcontent: this.translateService.instant(\"LABEL_LARGE_AMOUNT_DATA_CONFIRM\"),\n\t\t\t\t\t\t\t\t\tcancelButtonLabel: this.translateService.instant(\"ACT_NO\"),\n\t\t\t\t\t\t\t\t\tcancelButtonColor: \"basic\",\n\t\t\t\t\t\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"ACT_YES\"),\n\t\t\t\t\t\t\t\t\tconfirmButtonColor: \"warn\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tdialogRef.afterClosed().subscribe((res) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (res)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_EXPORT') + ' ' + this.titlePage);\n\t\t\t\t\t\t\t\t\tthis.generalDataService.exportDataExcel(\n\t\t\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t\t\t\t\t\"excel\",\n\t\t\t\t\t\t\t\t\t\tthis.savedParams.set(\n\t\t\t\t\t\t\t\t\t\t\t\"dataset\",\n\t\t\t\t\t\t\t\t\t\t\tthis.layout![\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe((blob) =>\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsaveAs(blob, `${this.titlePage}.xlsx`);\n\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_EXPORT') + ' ' + this.titlePage);\n\t\t\t\t\t\t\tthis.generalDataService.exportDataExcel(\n\t\t\t\t\t\t\t\t//this.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t\t\t(!!this.apiUrl ? this.apiParent + \"/\" + this.apiUrl : this.apiParent),\n\t\t\t\t\t\t\t\t\"excel\",\n\t\t\t\t\t\t\t\tthis.savedParams.set(\n\t\t\t\t\t\t\t\t\t\"dataset\",\n\t\t\t\t\t\t\t\t\tthis.layout![\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe((blob) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsaveAs(blob, `${this.titlePage}.xlsx`);\n\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tif (event.startsWith(\"ACT_REPORT\"))\n\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_EXPORT_REPORT') + ' ' + this.titlePage);\n\t\t\t\t\t\t\tthis.generalDataService.reportEndUseRegime(this.apiParent + \"/\" + this.apiUrl + '/report').subscribe({\n\t\t\t\t\t\t\t\tnext: res =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.spinner.hideAll();\n\t\t\t\t\t\t\t\t\tif (res.iResponseCode !== 200)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\t\tmessage: `${res.iResponseCode} - ${this.translateService.instant(res.sResponseMessage)}`,\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.refreshData();\n\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\tmessage: `${res.iResponseCode} - ${res.sResponseMessage}`,\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\tmessage: `${err.error.data.iResponseCode} - ${err.error.data.sResponseMessage}`,\n\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t\tif (event.startsWith(\"ACT_CONVERT_FILE\"))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst dialogEvent = this.dialog.open(DndComponent, {\n\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: \"UPLOADING\",\n\t\t\t\t\t\t\t\t\t\t\tcode: \"Upload file: \",\n\t\t\t\t\t\t\t\t\t\t\tmessage: \"Are you sure you want to upload this file?\",\n\t\t\t\t\t\t\t\t\t\t\tbtn: \"Upload\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"any\",\n\t\t\t\t\t\t\t\t\t\t\tcancelBtn: \"Close\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tdialogEvent.afterClosed().subscribe(async (dndResponse) =>\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif (!!dndResponse && dndResponse.send)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tconst uploadFiles: File[] = dndResponse.files;\n\n\t\t\t\t\t\t\t\t\t\t\tfor (let file of uploadFiles)\n\t\t\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_CONVERTED_FILE'));\n\t\t\t\t\t\t\t\t\t\t\t\tawait firstValueFrom(\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.generalDataService.importExcel(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl + \"/convert-file\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfile\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t).then((res) =>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (res.size != 0)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaveAs(res, `${this.titlePage}_CONVERTED.xlsx`);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"File converted\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}).catch((err) =>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(err)\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"Something went wrong, please try again or contact webmaster\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}).finally(() =>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t}\n\t\t}\n\t\telse\n\t\t\tif (event.endsWith(\"_ID\"))\n\t\t\t{\n\t\t\t\tif (event.startsWith(\"ACT_DELETE\"))\n\t\t\t\t{\n\t\t\t\t\tconst dialogRef = this.dialog.open(DialogComponent, {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttitle: this.translateService.instant(\"LABEL_DELETE_TITLE\"),\n\t\t\t\t\t\t\tcontent: this.translateService.instant(\"LABEL_CONFIRM\"),\n\t\t\t\t\t\t\tcancelButtonLabel: this.translateService.instant(\"ACT_NO\"),\n\t\t\t\t\t\t\tcancelButtonColor: \"basic\",\n\t\t\t\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"ACT_YES\"),\n\t\t\t\t\t\t\tconfirmButtonColor: \"warn\"\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tdialogRef.afterClosed().subscribe((res) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (res)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_DELETE'));\n\t\t\t\t\t\t\tthis.generalDataService.deleteData(this.apiParent + \"/\" + this.apiUrl, [this.tableController.dataSet[this.tableController.rowNumber]], \"d\").pipe(takeUntil(this._interactionCycle)).subscribe({\n\t\t\t\t\t\t\t\tnext: (res) =>\n\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\tthis.tableController.dataSet.splice(this.tableController.rowNumber, 1);\n\n\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\tmessage: res.iResponseCode + \" - \" + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.onCancelClick();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\tmessage: err.error.data.iResponseCode + \" - \" + err.error.data.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (event.startsWith(\"ACT_SAVE\"))\n\t\t\t\t{\n\t\t\t\t\tconst rowNumber = cloneDeep(this.tableController.rowNumber);\n\t\t\t\t\tthis.tableController.rowNumber = -1;\n\n\t\t\t\t\tconst committedRow = cloneDeep(this.tableController.dataSet[rowNumber]);\n\n\t\t\t\t\tlet dateRow = this.layout?.sectionLayouts?.[2]?.dataset?.[0]?.datas\n\t\t\t\t\t?.filter(data => data.type === 'DTY_DATE')\n\t\t\t\t\t?.map(data => data.columnName) || [];\n\n\t\t\t\t\tlet validDate = this.dateRowAnalyze(dateRow,committedRow);\n\n\t\t\t\t\tif (!committedRow.edited)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\tmessage: \"No data change\",\n\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t});\n\t\t\t\t\t}else if(!validDate){\n\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t type: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t message: \"Invalid Date\",\n\t\t\t\t\t\t timeout: 5000,\n\t\t\t\t\t\t selfClose: null,\n\t\t\t\t\t\t});\n\t\t\t\t\t }\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tconst filter_row = this.tableController.dataSet.filter((row) => row.edited);\n\t\t\t\t\t\tif (filter_row.length == 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_SAVE'))\n\t\t\t\t\t\t\tdelete committedRow.editing;\n\t\t\t\t\t\t\tdelete committedRow.checked;\n\n\t\t\t\t\t\t\tthis.generalDataService.postData(\n\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t\t\tcloneDeep([committedRow]),\n\t\t\t\t\t\t\t\tnew HttpParams().set('new', (committedRow.newRow ?? false))\n\t\t\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe({\n\t\t\t\t\t\t\t\tnext: (res) =>\n\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t// this.refreshData(new Map(), new Array());\n\t\t\t\t\t\t\t\t\tif (res.iResponseCode != 200)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.spinner.hideAll();\n\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + this.translateService.instant(res.sResponseMessage), //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet[rowNumber].editing = true\n\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\t//this.refreshData();\n\n\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + res.sResponseMessage, //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\tthis.onSearch(0, this.savedPaginator.loader, this.sortedColumns, this.savedFilter, this.dts, true);\n\n\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet[rowNumber] = res.oContent;\n\n\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\n\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\tmessage: err.error.data.iResponseCode + \" - \" + err.error.data.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst dialogRef = this.dialog.open(SaveConfirmComponent, {\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\ttitle: this.translateService.instant(\"LABEL_SAVE_ALL\"),\n\t\t\t\t\t\t\t\t\tcontent: this.translateService.instant(\"LABEL_MANY_PENDING_CHANGES\"),\n\t\t\t\t\t\t\t\t\tcancelButtonLabel: this.translateService.instant(\"ACT_NO\"),\n\t\t\t\t\t\t\t\t\tcancelButtonColor: \"basic\",\n\t\t\t\t\t\t\t\t\tallButtonLabel: this.translateService.instant(\"Save all\"),\n\t\t\t\t\t\t\t\t\tallButtonColor: \"accent\",\n\t\t\t\t\t\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"ACT_YES\"),\n\t\t\t\t\t\t\t\t\tconfirmButtonColor: \"accent\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tdialogRef.afterClosed().subscribe((res) =>\n\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\tif (res == 'one')\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_SAVE'))\n\t\t\t\t\t\t\t\t\tdelete committedRow.editing;\n\t\t\t\t\t\t\t\t\tdelete committedRow.checked;\n\n\n\t\t\t\t\t\t\t\t\tthis.generalDataService.postData(\n\t\t\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t\t\t\t\tcloneDeep([committedRow]),\n\t\t\t\t\t\t\t\t\t\tnew HttpParams().set('new', (committedRow.newRow ?? false))\n\t\t\t\t\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe({\n\t\t\t\t\t\t\t\t\t\tnext: (res) =>\n\t\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\t\t// this.refreshData(new Map(), new Array());\n\n\n\t\t\t\t\t\t\t\t\t\t\tif (res.iResponseCode != 200)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hideAll();\n\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + this.translateService.instant(res.sResponseMessage), //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet[rowNumber].editing = true\n\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\t\t\t//this.refreshData();\n\n\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + res.sResponseMessage, //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet[rowNumber] = res.oContent;\n\n\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\n\t\t\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\t\tmessage: err.error.data.iResponseCode + \" - \" + err.error.data.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tif (res == 'all')\n\t\t\t\t\t\t\t\t\t{\n\n\n\n\n\t\t\t\t\t\t\t\t\t\tconst filter_row = this.tableController.dataSet.filter((row) => row.edited);\n\n\n\t\t\t\t\t\t\t\t\t\tlet valid = true;\n\t\t\t\t\t\t\t\t\t\tlet index = 0;\n\n\t\t\t\t\t\t\t\t\t\twhile(valid && index\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlet dateRow = this.layout?.sectionLayouts?.[2]?.dataset?.[0]?.datas\n\t\t\t\t\t\t\t\t\t\t?.filter(data => data.type === 'DTY_DATE')\n\t\t\t\t\t\t\t\t\t\t?.map(data => data.columnName) || [];\n\n\t\t\t\t\t\t\t\t\t\tif(!this.dateRowAnalyze(dateRow,cmtedRow))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\tmessage: \"Invalid Date\",\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\n\n\n\t\t\t\t\t\t\t\t\t\telse{\n\t\t\t\t\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_SAVE'))\n\t\t\t\t\t\t\t\t\t\t\tdelete cmtedRow.editing;\n\t\t\t\t\t\t\t\t\t\t\tdelete cmtedRow.checked;\n\n\n\t\t\t\t\t\t\t\t\t\t\tthis.generalDataService.postData(\n\t\t\t\t\t\t\t\t\t\t\t\tthis.apiParent + \"/\" + this.apiUrl,\n\t\t\t\t\t\t\t\t\t\t\t\tcloneDeep([cmtedRow]),\n\t\t\t\t\t\t\t\t\t\t\t\tnew HttpParams().set('new', (cmtedRow.newRow ?? false))\n\t\t\t\t\t\t\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe({\n\t\t\t\t\t\t\t\t\t\t\t\tnext: (res) =>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this.refreshData(new Map(), new Array());\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.log(res)\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (res.iResponseCode != 200)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + this.translateService.instant(res.sResponseMessage), //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//this.tableController.dataSet[rowNumber] = cmtedRow.backup;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: \"\" + res.iResponseCode + \" - \" + res.sResponseMessage, //res.iResponseCode + ' - ' + res.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//this.refreshData();\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.onSearch(0, this.savedPaginator.loader, this.sortedColumns, this.savedFilter, this.dts, true);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet[rowNumber] = res.oContent;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.dataSet = cloneDeep(this.tableController.dataSet);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmessage: err.error.data.iResponseCode + \" - \" + err.error.data.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\n\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\n\t\t\t\tif (this.tableController.selection.selected.length == 0 && this.apiParent != 'rework')\n\t\t\t\t{\n\n\t\t\t\t\tconst dialogRef = this.dialog.open(DialogComponent, {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttitle: \"No row selected\",\n\t\t\t\t\t\t\tcontent: `Please select at least 1 row...`,\n\t\t\t\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"LABEL_OK\"),\n\t\t\t\t\t\t\tconfirmButtonColor: \"basic\"\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (event.startsWith(\"ACT_EXPORT\"))\n\t\t\t\t{\n\t\t\t\t\tif (!!this.layout)\n\t\t\t\t\t\tthis.savedParams = this.savedParams.append(\n\t\t\t\t\t\t\t\"dataset\",\n\t\t\t\t\t\t\tthis.layout[\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t\t\t\t);\n\n\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_EXPORT') + ' ' + this.titlePage);\n\t\t\t\t\tthis.generalDataService.exportDataExcel(\n\t\t\t\t\t\t(!!this.apiUrl ? this.apiParent + \"/\" + this.apiUrl : this.apiParent),\n\t\t\t\t\t\t\"excel\",\n\t\t\t\t\t\tthis.savedParams.set(\n\t\t\t\t\t\t\t\"dataset\",\n\t\t\t\t\t\t\tthis.layout![\"sectionLayouts\"].filter((sectionLayout) => sectionLayout.id == \"LYO_SECTABLE\").pop()?.dataset[0].id ?? \"\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tthis.tableController.selection.selected\n\t\t\t\t\t).pipe(takeUntil(this._interactionCycle)).subscribe((blob) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tsaveAs(blob, `${this.titlePage}.xlsx`);\n\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (event.startsWith(\"ACT_DELETE\"))\n\t\t\t\t{\n\n\t\t\t\t\tconst dialogRef = this.dialog.open(DialogComponent, {\n\t\t\t\t\t\t// width: '250px',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\ttitle: this.translateService.instant(\"LABEL_DELETE_TITLE\"),\n\t\t\t\t\t\t\tcontent: this.translateService.instant(\"LABEL_DELETE_CONFIRM\"),\n\t\t\t\t\t\t\t//content: `Are you sure you want map Original Final Destination [ ${data.oldRecord.finalDestination} ] Destination CID [\"${data.oldRecord.destinationCid}\"] to \"${data.record.rdcName}\"?`,\n\t\t\t\t\t\t\tcancelButtonLabel: this.translateService.instant(\"ACT_NO\"),\n\t\t\t\t\t\t\tcancelButtonColor: \"basic\",\n\t\t\t\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"ACT_YES\"),\n\t\t\t\t\t\t\tconfirmButtonColor: \"warn\"\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tdialogRef.afterClosed().subscribe((res) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!!res)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (this.tableController.selection.selected.length > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst myselection: any [] = this.tableController.selection.selected;\n\n\t\t\t\t\t\t\t\tthis.spinner.showWithTitle('data', this.translateService.instant('LOADING_DELETE'));\n\t\t\t\t\t\t\t\tforkJoin(myselection.map((value, i, _) =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treturn this.generalDataService.deleteData(this.apiParent + \"/\" + this.apiUrl, [myselection[i]], \"d\")\n\t\t\t\t\t\t\t\t})).pipe(\n\t\t\t\t\t\t\t\t\ttap(res => this.spinner.hide()),\n\t\t\t\t\t\t\t\t\ttakeUntil(this._interactionCycle)\n\t\t\t\t\t\t\t\t).subscribe({\n\t\t\t\t\t\t\t\t\tnext: (res) =>\n\t\t\t\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\t\t\t\tres.forEach((value, i) =>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: value.iResponseCode < 300 ? ALERT_TYPE.SUCCESS : ALERT_TYPE.DANGER,\n\t\t\t\t\t\t\t\t\t\t\t\tmessage: value.iResponseCode + \" - \" + value.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\t\ttimeout: 3000,\n\t\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\tif (!res.some(r => r.iResponseCode >= 300))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.selection.clear();\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tthis.onCancelClick();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\terror: (err) =>\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tthis.tableController.selection.clear();\n\t\t\t\t\t\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\t\t\t\t\t\tthis.tableController.rowNumber = -1;\n\t\t\t\t\t\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t\t\t\t\t\tmessage: err.error.data.iResponseCode + \" - \" + err.error.data.sResponseMessage,\n\t\t\t\t\t\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\t\t\t\t\t\tselfClose: null\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t//this.onCancelClick();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\n\t\t\t\t/*if (event.startsWith(\"ACT_CARDS_DOWNLOAD_MULTI\")) {\n\t\t\t\t const loadingCardIds = this.tableController.selection.selected.map((card) => card.LOADING_CARDS_ID);\n\n\t\t\t\t lastValueFrom(\n\t\t\t\t\tthis.generalDataService.downloadCard(this.apiParent + \"/\" + this.apiUrl + \"/download\", loadingCardIds)\n\t\t\t\t )\n\t\t\t\t\t.then((blob) => {\n\t\t\t\t\t if (blob.size == 0) {\n\t\t\t\t\t\tthis.alertService.add({\n\t\t\t\t\t\t type: ALERT_TYPE.WARNING,\n\t\t\t\t\t\t message: \"There is no file associated with the selected loading card.\",\n\t\t\t\t\t\t timeout: 5000,\n\t\t\t\t\t\t selfClose: null,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t } else {\n\t\t\t\t\t\tsaveAs(blob, loadingCardIds.length == 1 ? this.tableController.selection.selected[0].FILE_NAME : \"CARDS\");\n\t\t\t\t\t }\n\t\t\t\t\t this.tableController.selection.clear();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t this.alertService.add({\n\t\t\t\t\t\ttype: ALERT_TYPE.WARNING,\n\t\t\t\t\t\tmessage: \"Something went wrong during the download \",\n\t\t\t\t\t\ttimeout: 5000,\n\t\t\t\t\t\tselfClose: null,\n\t\t\t\t\t });\n\n\t\t\t\t\t this.tableController.selection.clear();\n\t\t\t\t\t});\n\t\t\t\t}*/\n\t\t\t}\n\t}\n\n\tdeleteOneRow()\n\t{\n\t\tconst dialogRef = this.dialog.open(DialogComponent, {\n\t\t\tdata: {\n\t\t\t\ttitle: this.translateService.instant(\"LABEL_DELETION_TITLE\"),\n\t\t\t\tcontent: this.translateService.instant(\"LABEL_CONFIRM\"),\n\t\t\t\tcancelButtonLabel: this.translateService.instant(\"ACT_NO\"),\n\t\t\t\tcancelButtonColor: \"basic\",\n\t\t\t\tconfirmButtonLabel: this.translateService.instant(\"ACT_YES\"),\n\t\t\t\tconfirmButtonColor: \"warn\"\n\t\t\t}\n\t\t});\n\n\t\tdialogRef.afterClosed().subscribe((res) =>\n\t\t{\n\t\t\tif (!!res)\n\t\t\t{\n\t\t\t\tthis.spinner.show();\n\t\t\t\tthis.generalDataService.deleteData(this.apiParent + \"/\" + this.apiUrl, this.tableController.deletedRows, \"d\").pipe(takeUntil(this._interactionCycle)).subscribe((res) =>\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.deletedRows = [];\n\t\t\t\t\tthis.spinner.hide();\n\t\t\t\t\tthis.onCancelClick();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\trefreshDocumentData()\n\t{\n\t\tlet params = new HttpParams().set(\"id\", this.tableController[\"LOADING_CARD_ID\"]);\n\t\tthis.generalDataService.getDocumentsById(this.apiParent + \"/\" + this.apiUrl + \"/docs\", params).pipe(takeUntil(this._interactionCycle)).subscribe((res) =>\n\t\t{\n\t\t\tthis.attachments = res[\"oContent\"];\n\t\t});\n\t}\n\n\tprivate catchAllSelectedOptions(layout?: Layout)\n\t{\n\t\tlayout?.sectionLayouts.map((sectionLayout: SectionLayout) =>\n\t\t{\n\t\t\tsectionLayout.dataset.map((dataset: DataSet) =>\n\t\t\t{\n\t\t\t\tdataset.datas?.map((data: Data) =>\n\t\t\t\t{\n\t\t\t\t\tif (\n\t\t\t\t\t\tdata.valuesFrom.includes(\"table\") &&\n\t\t\t\t\t\tdata.valuesFrom.includes(\"search_key\") &&\n\t\t\t\t\t\tdata.valuesFrom.includes(\"return_value\") &&\n\t\t\t\t\t\t!data.isResultsetLinked\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.generalDataService.getSelectionOption(this.replaceFilterValues(data.valuesFrom)).then((res) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata.optionValues = res;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif (data.fixListValues)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst list = data.fixListValues.split(\";\");\n\t\t\t\t\t\t\tdata.optionValues = list.map(\n\t\t\t\t\t\t\t\t(option) =>\n\t\t\t\t\t\t\t\t\t({\n\t\t\t\t\t\t\t\t\t\tid: option,\n\t\t\t\t\t\t\t\t\t\tname: option\n\t\t\t\t\t\t\t\t\t} as IMultiSelectOption)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tdataset.filterset?.map((filter: FilterInterface) =>\n\t\t\t\t{\n\t\t\t\t\tif (filter.filterType == FILTER_TYPE.MULTI_SELECTION || filter.filterType == FILTER_TYPE.SELECTION)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (filter.filterValues)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tfilter.filterValueSearch.includes(\"table\") &&\n\t\t\t\t\t\t\t\tfilter.filterValueSearch.includes(\"search_key\") &&\n\t\t\t\t\t\t\t\tfilter.filterValueSearch.includes(\"return_value\") &&\n\t\t\t\t\t\t\t\t!filter.isResultsetLinked\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.generalDataService.getSelectionOption(this.replaceFilterValues(filter.filterValueSearch)).then((res) =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfilter.filterValues = res;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst list = filter.filterValueSearch.split(\";\");\n\t\t\t\t\t\t\t\tfilter.filterValues = list.map(\n\t\t\t\t\t\t\t\t\t(option) =>\n\t\t\t\t\t\t\t\t\t\t({\n\t\t\t\t\t\t\t\t\t\t\tid: option,\n\t\t\t\t\t\t\t\t\t\t\tname: option\n\t\t\t\t\t\t\t\t\t\t} as IMultiSelectOption)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn filter;\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate getPageLayout(pageId: string)\n\t{\n\t\tthis.spinner.showWithTitle(\"data\", this.translateService.instant('LOADING_LAYOUT_OF') + this.titlePageTranslate.transform(this.titlePage));\n\t\t//this.spinner.showWithTitle(\"data\", \"layout of \" + this.titlePageTranslate.transform(this.titlePage));\n\t\tconst newFilter: any = [];\n\t\tthis.layoutService.getPageLayout(pageId).pipe(\n\t\t\tmap((res) =>\n\t\t\t{\n\t\t\t\tthis.layout = res?.layouts[0] ?? undefined;\n\n\t\t\t\tthis.dts =\n\t\t\t\t\tfirst(\n\t\t\t\t\t\tthis.layout?.sectionLayouts.filter((section) => section.id == \"LYO_SECTABLE\") ?? ([] as SectionLayout[])\n\t\t\t\t\t)?.dataset[0]?.id ?? \"\";\n\n\t\t\t\tthis.ats =\n\t\t\t\t\tfirst(\n\t\t\t\t\t\tthis.layout?.sectionLayouts.filter((section) => section.id == \"LYO_SECTABLE\") ?? ([] as SectionLayout[])\n\t\t\t\t\t)?.actionset[0]?.id ?? \"\";\n\n\n\t\t\t\tconst filterSettings = sessionStorage.getItem(\"filter\");\n\t\t\t\tif (!!filterSettings)\n\t\t\t\t{\n\t\t\t\t\tconst filters = JSON.parse(filterSettings);\n\t\t\t\t\tif (!!filters[this.pageId] && !!filters[this.pageId].instance)\n\t\t\t\t\t{\n\n\t\t\t\t\t\tlet oldFilters: FilterInterface[] = [];\n\t\t\t\t\t\tconst flt = sessionStorage.getItem(\"FLT_\" + this.pageId);\n\t\t\t\t\t\tif (flt)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toldFilters = JSON.parse(flt, replacer)\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toldFilters = cloneDeep(filters[this.pageId].instance);\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tconst newFilters = cloneDeep(\n\t\t\t\t\t\t\tthis.layout?.sectionLayouts?.filter((sectionLayout) => sectionLayout.id == \"LYO_SECFILT\").flatMap((section) => section.dataset).flatMap((datasets) => datasets.filterset).filter((flts) => flts != null)\n\t\t\t\t\t\t) as FilterInterface[];\n\t\t\t\t\t\t/*const newFilters = cloneDeep(this.layout?.sectionLayouts.filter((sectionLayout) => sectionLayout.id == \"LYO_SECFILT\").pop()\n\t\t\t\t\t\t ?.dataset[0]?.filterset ?? [])*/\n\t\t\t\t\t\tthis.filterController.filterModels = newFilters.map((fltInt) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor (let f of oldFilters)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst flt = cloneDeep(f);\n\t\t\t\t\t\t\t\tif (fltInt.filterId == flt.filterId)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfltInt.firstValue = flt.firstValue;\n\t\t\t\t\t\t\t\t\tfltInt.filterType = flt.filterType;\n\t\t\t\t\t\t\t\t\tfltInt.lFilterOptions = flt.lFilterOptions;\n\t\t\t\t\t\t\t\t\tfltInt.columnLabel = flt.columnLabel;\n\t\t\t\t\t\t\t\t\tfltInt.columnName = flt.columnName;\n\t\t\t\t\t\t\t\t\tfltInt.filterValues = flt.filterValues;\n\t\t\t\t\t\t\t\t\tfltInt.filterValueSearch = flt.filterValueSearch;\n\t\t\t\t\t\t\t\t\tfltInt.selectedOption = flt.selectedOption;\n\t\t\t\t\t\t\t\t\tfltInt.filterSelectedOption = flt.filterSelectedOption;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn fltInt;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.filterController.filterModels =\n\t\t\t\t\t\t\tthis.layout?.sectionLayouts.filter((sectionLayout) => sectionLayout.id == \"LYO_SECFILT\").pop()?.dataset[0]?.filterset ?? [];\n\t\t\t\t\t}\n\t\t\t\t\tthis.filterController.refreshViewedFilter();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.filterController.filterModels =\n\t\t\t\t\t\tthis.layout?.sectionLayouts.filter((sectionLayout) => sectionLayout.id == \"LYO_SECFILT\").pop()?.dataset[0]?.filterset ?? [];\n\t\t\t\t\tthis.filterController.refreshViewedFilter();\n\t\t\t\t}\n\n\t\t\t\tconst filterString = sessionStorage.getItem(\"FLT_\" + this.pageId);\n\t\t\t\tif (!!filterString)\n\t\t\t\t{\n\t\t\t\t\tconst _filterList: FilterInterface[] = JSON.parse(filterString, replacer);\n\n\t\t\t\t\tif (_filterList.length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.filterController.filterModels = this.filterController.filterModels.map((flt) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (_filterList.some((filter) => filter.columnName == flt.columnName))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn _filterList.filter((f) => (f.columnName == flt.columnName))[0];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn flt;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.filterController.filterModels.filter((model) => !model.isHide).forEach((filter) =>\n\t\t\t\t\t{\n\t\t\t\t\t\t//(filter)\n\t\t\t\t\t\tif (filter.filterSelectedOption.haveSecondParam && filter.filterSelectedOption.id == \"_-d_\")\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.firstValue)) newFilter.push(filter.columnName + \"_>d_\" + filter.firstValue);\n\t\t\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.secondValue)) newFilter.push(filter.columnName + \"__\" + filter.firstValue);\n\t\t\t\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.secondValue)) newFilter.push(filter.columnName + \"_<_\" + filter.secondValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (filter.filterSelectedOption.haveFirstParam)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (this.checkStringOrNumberValidity(filter.firstValue) && filter.firstValue.length > 0)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif (filter.filterType == FILTER_TYPE.MULTI_SELECTION)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tnewFilter.push(\n\t\t\t\t\t\t\t\t\t\t\t\tfilter.columnName + filter.filterSelectedOption.id + filter.firstValue.join(\"§\")\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tnewFilter.push(filter.columnName + filter.filterSelectedOption.id + filter.firstValue);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tnewFilter.push(filter.columnName + filter.filterSelectedOption.id + \"#\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.filterController.refreshViewedFilter();\n\t\t\t\t}\n\n\t\t\t\tconst layoutsString = localStorage.getItem(\"layout\");\n\n\t\t\t\tconst sorted = sessionStorage.getItem(\"sort_\" + this.pageId);\n\t\t\t\tif (sorted)\n\t\t\t\t{\n\t\t\t\t\tthis.tableController.sortedColumns = JSON.parse(sorted, reviver);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tconst dtArray: Data[] = Array.from(\n\t\t\t\t\t\tnew Set(\n\t\t\t\t\t\t\t(res?.layouts ?? ([] as Layout[])).flatMap((l) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn l.sectionLayouts;\n\t\t\t\t\t\t\t}).flatMap((sl) => sl.dataset).flatMap((dts) => dts.datas ?? ([] as Data[]))\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tconst ds = dtArray.filter((d) => d.sortOrder).sort((a, b) => a.sortOrder! - b.sortOrder!) ?? [];\n\t\t\t\t\tthis.sortedColumns = new Map(\n\t\t\t\t\t\tds.map((d) => [d.columnName, {order: d.sortOrder!, type: d.sortCriteria ?? \"desc\"}])\n\t\t\t\t\t);\n\t\t\t\t\tthis.tableController.sortedColumns = this.sortedColumns;\n\t\t\t\t}\n\n\t\t\t\tif (!!layoutsString)\n\t\t\t\t{\n\t\t\t\t\tlet layouts = JSON.parse(layoutsString);\n\t\t\t\t\tlayouts[pageId] = {\n\t\t\t\t\t\tinstance: res?.layouts[0],\n\t\t\t\t\t\tinstant: new Date()\n\t\t\t\t\t};\n\t\t\t\t\tlocalStorage.setItem(\"layout\", JSON.stringify(layouts));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet layouts = {};\n\t\t\t\t\tlayouts[pageId] = {\n\t\t\t\t\t\tinstance: res?.layouts[0],\n\t\t\t\t\t\tinstant: new Date()\n\t\t\t\t\t};\n\t\t\t\t\tlocalStorage.setItem(\"layout\", JSON.stringify(layouts));\n\t\t\t\t}\n\n\t\t\t})\n\t\t).pipe(takeUntil(this._interactionCycle)).subscribe((res) =>\n\t\t{\n\t\t\tthis.spinner.hide();\n\t\t\tthis.refreshData(this.tableController.sortedColumns, newFilter);\n\t\t});\n\t}\n\n\tdateRowAnalyze(dateRow: string[], committedRow: any[]): boolean {\n\t\t// Controlla se ci sono date da validare\n\t\tif (dateRow.length === 0) {\n\t\t return true\n\t\t}\n\t\t// Controlla se tutte le date nel committedRow sono valide\n\t\treturn dateRow.every(key => {\n\t\t const dateValue = committedRow[key];\n\t\t // Verifica se la data esiste e se è valida\n\t\t return dateValue !== undefined && this.isValidDate(dateValue);\n\t\t})\n\t }\n\n\t isValidDate(dateString: string): boolean {\n\t\t// Considera valida una stringa vuota\n\t\tif (dateString === \"\") {\n\t\t return true;\n\t\t}\n\t\telse if(dateString===null)\n\t\t\treturn true;\n\t\t// RegEx per validare il formato DD/MM/YYYY\n\t\tconst regex = /^(0[1-9]|[12][0-9]|3[01])\\/(0[1-9]|1[0-2])\\/\\d{4}$/;\n\t\treturn regex.test(dateString);\n\t }\n\n\n\tresetFilter(isResetting: boolean)\n\t{\n\t\tif (isResetting)\n\t\t{\n\t\t\tthis.getPageLayout(this.pageId);\n\t\t}\n\t}\n\n\treplaceFilterValues(valuesFrom: string)\n\t{\n\t\tlet researchString = cloneDeep(valuesFrom);\n\t\tconst replaceArray =\n\t\t\t\t valuesFrom.match(/_@[^\\ ]*@_/gm)?.map((substr) =>\n\t\t\t\t {\n\t\t\t\t\t return {\n\t\t\t\t\t\t toReplace: substr,\n\t\t\t\t\t\t raplaceWith: \"\"\n\t\t\t\t\t };\n\t\t\t\t }) ?? [];\n\n\t\tfor (let i = 0; i < replaceArray.length; i++)\n\t\t{\n\t\t\tresearchString = researchString.replace(\n\t\t\t\treplaceArray[i].toReplace,\n\t\t\t\t\"'\" + replaceArray[i]?.raplaceWith?.replace(/\\//gm, \"-\") + \"'\"\n\t\t\t);\n\t\t}\n\n\t\treturn researchString;\n\t}\n\n\tasync calculateSize()\n\t{\n\t\tlet sizes = {};\n\n\t\tlet dataSize: Map = new Map();\n\n\t\tif (this.layout)\n\t\t{\n\t\t\tconst dtArray: Data[] = Array.from(\n\t\t\t\tnew Set(this.layout.sectionLayouts.flatMap((sl) => sl.dataset).flatMap((dts) => dts.datas ?? ([] as Data[])))\n\t\t\t);\n\n\t\t\tfor (let j = 0; j < dtArray.length; j++)\n\t\t\t{\n\t\t\t\tconst objIndex: string = cloneDeep(dtArray[j].columnLabel);\n\t\t\t\tconst width = get_tex_size(this.translateService.instant(objIndex), \"table\").width > 300 ? 300 : get_tex_size(this.translateService.instant(objIndex), \"table\").width;\n\t\t\t\tconst values: any[] = cloneDeep(dtArray[j].optionValues);\n\t\t\t\tconst columnName: string = dtArray[j].columnName;\n\n\t\t\t\tif (dataSize.has(objIndex))\n\t\t\t\t{\n\t\t\t\t\tif (width > (dataSize.get(objIndex)?.width ?? 1))\n\t\t\t\t\t{\n\t\t\t\t\t\tdataSize.set(objIndex, {width: width + 16, optionValues: values});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tdataSize.set(objIndex, {width: width + 16, optionValues: values});\n\t\t\t\t}\n\n\t\t\t\tif (!sizes.hasOwnProperty(objIndex))\n\t\t\t\t{\n\t\t\t\t\tsizes[columnName] = [];\n\t\t\t\t}\n\n\t\t\t\tsizes[columnName].push(width + 16);\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < this.tableController.dataSet.length; i++)\n\t\t\t{\n\t\t\t\tconst obj = cloneDeep(this.tableController.dataSet[i]);\n\t\t\t\tObject.keys(obj).forEach((key) =>\n\t\t\t\t{\n\t\t\t\t\t// If the key doesn't exist in the sizes object, create an empty array\n\t\t\t\t\tif (!sizes.hasOwnProperty(key))\n\t\t\t\t\t{\n\t\t\t\t\t\tsizes[key] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst widthSize = get_tex_size(\"\" + (obj[key] ?? \"\"), \"table\").width;\n\t\t\t\t\t// Push the size of the value into the array for the corresponding key\n\t\t\t\t\tconst columnDetail: ColumnDetail | undefined = dataSize.get(key);\n\t\t\t\t\tif (columnDetail)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (columnDetail.optionValues && columnDetail.optionValues.length > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst translateServiceText = transformIdToValueFromList(columnDetail, obj[key], obj[key]);\n\t\t\t\t\t\t\tconst newWidthSize = get_tex_size(translateServiceText ?? \"\", \"table\").width;\n\n\t\t\t\t\t\t\tif (newWidthSize >= columnDetail.width)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsizes[key].push(newWidthSize + 16);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//sizes[key].push((newWidthSize >= (columnDetail.width)) ? newWidthSize : cloneDeep(columnDetail.width));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (widthSize >= columnDetail.width)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsizes[key].push(widthSize + 16);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//sizes[key].push((widthSize >= (columnDetail.width)) ? widthSize : cloneDeep(columnDetail.width));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tsizes[key].push(widthSize + 16);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn sizes;\n\t}\n\n\tresetSort()\n\t{\n\t\tconst dtArray: Data[] = Array.from(\n\t\t\tnew Set(this.layout?.sectionLayouts?.flatMap((sl) => sl.dataset).flatMap((dts) => dts.datas ?? ([] as Data[])))\n\t\t);\n\n\t\tconst ds = dtArray.filter((d) => d.sortOrder).sort((a, b) => a.sortOrder! - b.sortOrder!) ?? [];\n\t\tthis.sortedColumns = new Map(\n\t\t\tds.map((d) => [d.columnName, {order: d.sortOrder!, type: d.sortCriteria ?? \"desc\"}])\n\t\t);\n\t\tthis.tableController.sortedColumns = this.sortedColumns;\n\n\t\tsessionStorage.setItem(\"sort_\" + this.pageId, JSON.stringify(this.sortedColumns, replacer));\n\t\tthis.onSearch(0, this.tableController.dataSet.length, this.sortedColumns, this.savedFilter, this.dts, true);\n\t}\n\n\tprivate calculateSizeComplete()\n\t{\n\t\tthis.calculateSize().then((sizes) =>\n\t\t{\n\t\t\tlet columnWeight = {};\n\t\t\tObject.keys(sizes).forEach((key) =>\n\t\t\t{\n\t\t\t\tconst arrSum: number = sizes[key].reduce((acc: number, curr: number, idx: number) =>\n\t\t\t\t{\n\t\t\t\t\tacc = acc + curr;\n\t\t\t\t\treturn acc;\n\t\t\t\t});\n\n\t\t\t\tconst arrSumPosition: number = sizes[key].reduce((acc: number, curr: number, idx: number) =>\n\t\t\t\t{\n\t\t\t\t\tacc = acc + curr * idx;\n\t\t\t\t\treturn acc;\n\t\t\t\t});\n\n\t\t\t\t//const size = arrSum / sizes[key].length;\n\t\t\t\tlet size = Math.max(...sizes[key]);\n\t\t\t\tif(size > 500){\n\t\t\t\t\tsize = 500;\n\t\t\t\t}\n\t\t\t\t//TODO: Review this point to autosize column\n\t\t\t\tcolumnWeight[key] = ((size * 1.8) > 208 ? (size * 1.5) : 120);\n\t\t\t});\n\n\t\t\tthis.tableController.columnWeight = columnWeight;\n\t\t\tthis.tableController.calculateColumnWidth();\n\t\t});\n\t}\n\n\n}\n\ninterface ColumnDetail\n{\n\twidth: number;\n\toptionValues: any[];\n}\n","
\n

{{ titlePage | titlecase }}

\n \n \n
\n \n
\n \n \n
\n\n \n
\n {{ 'LABEL_BACK' | translate }}\n \n
\n
\n
\n
\n","import {Component, Inject, OnInit} from \"@angular/core\";\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\nimport {IMultiSelectOption} from \"../../../custom-multiselect/types\";\nimport {List} from \"lodash\";\n\n@Component({\n selector: 'add-language',\n templateUrl: './add-language.component.html',\n styleUrls: ['./add-language.component.scss']\n})\nexport class AddLanguageComponent implements OnInit {\n\n languageName: string = ''\n optionList: any[] = [\n {\n id: null,\n name: ''\n }\n ]\n selectedOption = null\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n dialogRef.disableClose = true;\n }\n\n ngOnInit(): void {\n this.optionList = this.data.availableLanguages.map((langModel) => ({id: langModel.id, name: langModel.id}))\n }\n\n onCancelClick() {\n this.dialogRef.close(false)\n }\n\n onSaveClick() {\n if (!!this.languageName) {\n this.dialogRef.close({\n name: this.languageName,\n selected: this.selectedOption,\n select: this.data.availableLanguages.find(language => language.id == this.selectedOption)?.content\n })\n }\n }\n}\n","
\n

{{ ('LABEL_ADD_LANGUAGE_TITLE' | translate) }}

\n\n
\n
\n
\n\n
\n
{{ ('LABEL_LANGUAGE_NAME' | translate) }}
\n
\n \n
\n
\n
\n\n
\n
{{ ('LABEL_TRANSLATE_TO_COPY' | translate) }}
\n
\n \n \n\n
\n
\n
\n
\n
\n\n
\n
\n {{ 'LABEL_BACK' | translate }}\n
\n {{ 'LABEL_SAVE' | translate }}\n \n
\n
\n","import {Component, Inject, OnInit} from \"@angular/core\";\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-add-translation',\n templateUrl: './add-translation.component.html',\n styleUrls: ['./add-translation.component.scss']\n})\nexport class AddTranslationComponent implements OnInit {\n\n translationKey: string = ''\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) {\n dialogRef.disableClose = true;\n }\n\n ngOnInit(): void {\n }\n\n\n onCancelClick() {\n this.dialogRef.close(false)\n }\n\n onSaveClick() {\n if (!!this.translationKey) {\n this.dialogRef.close({\n name: this.translationKey\n })\n }\n }\n\n}\n","
\n

{{ ('LABEL_ADD_TRANSLATE_TITLE' | translate) }}

\n\n
\n
\n
\n\n
\n
{{ ('LABEL_TRANSLATE_NAME' | translate) }}
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n {{ 'LABEL_BACK' | translate }}\n
\n {{ 'LABEL_SAVE' | translate }}\n \n
\n
\n","import {Component, OnInit} from \"@angular/core\";\nimport {Layout} from \"../../../../models/layout\";\nimport {MsalBroadcastService, MsalService} from \"@azure/msal-angular\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {LayoutServiceService} from \"../../../../services/layout.service\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {Location} from \"@angular/common\";\nimport {TableControllerService} from \"../../../../services/table-controller.service\";\nimport {GeneralService} from \"../../../../services/crud/general.service\";\n\nimport {cloneDeep, isEmpty, isEqual, merge} from \"lodash\";\nimport {AlertService} from \"../../alert/alert.service\";\nimport {SpinnerService} from \"../../../../services/spinner.service\";\nimport {NavigationService} from \"../../../../services/utils/navigation.service\";\nimport {\n IJEDataTranslation,\n IJEDataTranslationError,\n IJEPage,\n IJESort,\n IJEView,\n IJEViewType,\n LanguageModel,\n} from \"../../../../models/LanguageModel\";\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\nimport {AddLanguageComponent} from \"./add-language/add-language.component\";\nimport {ALERT_TYPE} from \"../../alert/alert.enumerate\";\nimport {DialogComponent} from \"../../dialog/dialog.component\";\nimport {AuthService} from \"../../../../services/auth.service\";\nimport { lastValueFrom } from \"rxjs\";\n\nfunction convertFormat(detailElement: any, columnName: string): string {\n if (columnName == \"INSERT_DATE\") {\n const newStringDate = detailElement?.replaceAll(\" \", \" \").replaceAll(\"/\", \" \");\n const newStringArray = newStringDate.split(\" \");\n return \"\" + newStringArray[2] + \"-\" + newStringArray[1] + \"-\" + newStringArray[0] + \" \" + newStringArray[3];\n }\n return detailElement;\n}\n\n@Component({\n selector: \"edit-language\",\n templateUrl: \"./language.component.html\",\n styleUrls: [\"./language.component.scss\"],\n providers: [TableControllerService],\n})\nexport class LanguageComponent {//implements OnInit {\n // layout: Layout | undefined;\n //\n // pageId: string = \"\";\n //\n // languages: Array = [];\n //\n // languagesBck: Array = [];\n //\n // htmlTableDiv: SafeHtml = \"\";\n //\n // //MAPPING VARIABLE\n // _languages: string[] = [];\n // _translationsBck: IJEDataTranslation[] = [];\n // _translations: IJEDataTranslation[] = [];\n // translations: IJEDataTranslation[] = [];\n // translationsBck: IJEDataTranslation[] = [];\n // _currentID = 1;\n // _currentIDBck = 1;\n // _view!: IJEView;\n // _page!: IJEPage;\n // _sort!: IJESort;\n //\n // searchValue?: string;\n //\n // isAdminIt: boolean = false;\n //\n // isDifference: boolean = false;\n //\n // constructor(\n // private msalService: MsalService,\n // private msalBroadcastService: MsalBroadcastService,\n // public router: Router,\n // private route: ActivatedRoute,\n // public layoutService: LayoutServiceService,\n // public dialog: MatDialog,\n // public efficiencyTableController: TableControllerService,\n // public problemsTableController: TableControllerService,\n // private generalDataService: GeneralService,\n // private spinner: SpinnerService,\n // private _location: Location,\n // public alertService: AlertService,\n // private navigation: NavigationService,\n // private sanitize: DomSanitizer,\n // private authService: AuthService,\n // ) {\n // this._defaultValues();\n // this.authService.roleObs.subscribe((role) => {\n // this.isAdminIt = role == 'ADMIN-IT';\n // });\n // }\n //\n // ngOnInit(): void {\n // this.refreshData();\n // this.spinner.hideAll();\n // this.route.queryParams.subscribe((params) => {\n // this.pageId = params[\"id\"] ?? [];\n //\n // const layoutsString = localStorage.getItem(\"layout\");\n // if (!!layoutsString) {\n // const layouts = JSON.parse(layoutsString);\n // if (!!layouts && !!layouts[this.pageId]) {\n // const pageLayout = layouts[this.pageId];\n // if (Math.abs((new Date(pageLayout[\"instant\"]).getTime() - new Date().getTime()) / 60000) < 360) {\n // this.layout = pageLayout[\"instance\"];\n // } else {\n // this.spinner.show();\n // this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n // this.layout = res?.layouts[0] ?? undefined;\n // const layoutsString = localStorage.getItem(\"layout\");\n // if (!!layoutsString) {\n // let layouts = JSON.parse(layoutsString);\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // } else {\n // let layouts = {};\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // }\n // ////(this.layout)\n // this.spinner.hide();\n // /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n // this.pageActionset = this.pageLayouts[0].actionset ?? [];\n // this.pageDataset = this.pageLayouts[0].dataset ?? [];\n // ////(this.pageActionset)\n // }*/\n // });\n // }\n // } else {\n // this.spinner.show();\n // this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n // this.layout = res?.layouts[0] ?? undefined;\n // const layoutsString = localStorage.getItem(\"layout\");\n // if (!!layoutsString) {\n // let layouts = JSON.parse(layoutsString);\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // } else {\n // let layouts = {};\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // }\n // ////(this.layout)\n // this.spinner.hide();\n // /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n // this.pageActionset = this.pageLayouts[0].actionset ?? [];\n // this.pageDataset = this.pageLayouts[0].dataset ?? [];\n // ////(this.pageActionset)\n // }*/\n // });\n // }\n // } else {\n // this.spinner.show();\n // this.layoutService.getPageLayout(this.pageId).subscribe((res) => {\n // this.layout = res?.layouts[0] ?? undefined;\n // const layoutsString = localStorage.getItem(\"layout\");\n // if (!!layoutsString) {\n // let layouts = JSON.parse(layoutsString);\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // } else {\n // let layouts = {};\n // layouts[this.pageId] = {\n // instance: res?.layouts[0],\n // instant: new Date(),\n // };\n // localStorage.setItem(\"layout\", JSON.stringify(layouts));\n // }\n // ////(this.layout)\n // this.spinner.hide();\n // /* if(!!this.pageLayouts && this.pageLayouts.length > 0){\n // this.pageActionset = this.pageLayouts[0].actionset ?? [];\n // this.pageDataset = this.pageLayouts[0].dataset ?? [];\n // ////(this.pageActionset)\n // }*/\n // });\n // }\n // });\n // }\n //\n // ngOnDestroy() {\n // localStorage.setItem(\"changes\", \"false\");\n // }\n //\n // actionCatcher(event: string) {\n // if (event.startsWith(\"ACT_ADD\")) {\n // }\n // }\n //\n // onSaveClick(event: MouseEvent) {\n // this._languages.forEach((language) => {\n // let o = {};\n // let send = false;\n // let langKey = '';\n // let currentLanguageTranslation = ''\n // this._translations\n // .filter((translation) => translation.valid)\n // .sort((a, b) => (a.key > b.key ? 1 : -1))\n // .forEach((translation) => {\n // if (translation.languages[language] && !this._translationsBck.some(tn => translation.id == tn.id && isEqual(tn.languages[language], translation.languages[language]))) {\n // o[translation.key] = translation.languages[language];\n // send = true;\n // langKey= translation.key\n // currentLanguageTranslation = translation.languages[language];\n // } else {\n // o[translation.key] = translation.languages[language];\n // }\n // });\n //\n // this._translationsBck.filter((translation) => translation.valid)\n // .sort((a, b) => (a.key > b.key ? 1 : -1))\n //\n // if (!send) {\n // o = {}\n // }\n //\n //\n // if (!isEmpty(o)) {\n // console.log(o)\n // var json = JSON.stringify(o, null, 2);\n // json = json.replace(/\\n/g, \"\");\n // this.generalDataService.setLanguage(language, {id: langKey, lang:language, value: currentLanguageTranslation}).subscribe({\n // next: (value) => {\n // this.refreshData();\n // this.alertService.add({\n // type: ALERT_TYPE.SUCCESS,\n // message: \"Language \" + language + \" saved correctly.\",\n // timeout: 3000,\n // selfClose: null\n // });\n // },\n // error: (err) => {\n // this.refreshData()\n // this.alertService.add({\n // type: ALERT_TYPE.DANGER,\n // message: \"An error occurred on save \" + language + \" language.\",\n // timeout: 5000,\n // selfClose: null\n // });\n // },\n // });\n // }\n //\n //\n // });\n // }\n //\n // /**\n // * Create the hierachy based on the key\n // */\n // private _transformKeysValues(key: string, value: string, o = {}) {\n // let separator = key.indexOf(\".\");\n // if (separator > 0) {\n // const _key = key.substring(0, separator);\n // if (!o[_key]) {\n // o[_key] = {};\n // }\n // this._transformKeysValues(key.substring(separator + 1), value, o[_key]);\n // } else if (!o[key] && typeof o !== \"string\") {\n // o[key] = value;\n // }\n // }\n //\n // refreshData() {\n // this.generalDataService.getAvailableLanguagesAndTranslations().subscribe((res) => {\n // this._currentID = 1;\n // this._currentIDBck = 1;\n // this.languages = res;\n // this.languagesBck = cloneDeep(res);\n // this._loadContent(this.languages, true);\n // this._loadContentBck(cloneDeep(this.languages), true);\n // this.search();\n // });\n // }\n //\n // private _loadContentBck(languageModel: LanguageModel[], wipe: boolean = false) {\n // const translate: any = {};\n // const keys: string[] = [];\n // if (wipe) {\n // this._translationsBck = [];\n // }\n //\n // languageModel.forEach((file: LanguageModel) => {\n // var language = file.id;\n // try {\n // let content = file.content;\n //\n // let keysValues = this._getKeysValues(content);\n //\n // for (let key in keysValues) {\n // if (keys.indexOf(key) === -1) {\n // keys.push(key);\n // }\n // }\n // translate[language] = keysValues;\n // } catch (e) {\n // translate[language] = {};\n // }\n // });\n //\n // keys.forEach((key: string) => {\n // const languages: any = {};\n // this._languages.forEach((language: string) => {\n // const value = translate[language][key];\n // languages[language] = value ? value : \"\";\n // });\n //\n // const t = this._createFactoryIJEDataTranslationBck();\n // t.key = key;\n // t.languages = languages;\n // //t.edits = (this._translationsBck.filter(trn => trn.key == key)[0])?.edits ?? []\n // this._insertBck(t);\n // });\n // }\n //\n // private _loadContent(languageModel: LanguageModel[], wipe: boolean = false) {\n // const translate: any = {};\n // const keys: string[] = [];\n // if (wipe) {\n // this._languages = [];\n // this._translations = [];\n // }\n // languageModel.forEach((file: LanguageModel) => {\n // var language = file.id;\n // if (this._languages.indexOf(language) === -1) {\n // this._languages.push(language);\n // }\n //\n // try {\n // let content = file.content;\n //\n // let keysValues = this._getKeysValues(content);\n //\n // for (let key in keysValues) {\n // if (keys.indexOf(key) === -1) {\n // keys.push(key);\n // }\n // }\n // translate[language] = keysValues;\n // } catch (e) {\n // translate[language] = {};\n // }\n // });\n //\n // keys.forEach((key: string) => {\n // const languages: any = {};\n // this._languages.forEach((language: string) => {\n // const value = translate[language][key];\n // languages[language] = value ? value : \"\";\n // });\n //\n // const t = this._createFactoryIJEDataTranslation();\n // t.key = key;\n // t.languages = languages;\n // //t.edits = (this._translations.filter(trn => trn.key == key)[0])?.edits ?? []\n // this._insert(t);\n // });\n // this.search();\n // }\n //\n // /**\n // * For each values get the unique key with hierachy separate by a separator\n // */\n // private _getKeysValues(obj: any, _key = \"\") {\n // let kv: any = {};\n // for (let key in obj) {\n // if (typeof obj[key] !== \"string\") {\n // kv = {...kv, ...this._getKeysValues(obj[key], _key + key + (\".\" || \"\"))};\n // } else {\n // kv[_key + key] = obj[key];\n // }\n // }\n // return kv;\n // }\n //\n // /**\n // * Factories\n // */\n // private _createFactoryIJEDataTranslation(): IJEDataTranslation {\n // return {\n // id: this._currentID++,\n // valid: true,\n // error: \"\",\n // key: \"\",\n // languages: {},\n // edits: []\n // };\n // }\n //\n // private _createFactoryIJEDataTranslationBck(): IJEDataTranslation {\n // return {\n // id: this._currentIDBck++,\n // valid: true,\n // error: \"\",\n // key: \"\",\n // languages: {},\n // edits: []\n // };\n // }\n //\n // private _insert(translation: IJEDataTranslation) {\n // this._translations.push(translation);\n // }\n //\n // private _insertBck(translation: IJEDataTranslation) {\n // this._translationsBck.push(cloneDeep(translation))\n // }\n //\n // private _defaultValues() {\n // this._view = {\n // type: IJEViewType.TABLE,\n // selectionId: 1,\n // };\n //\n // this._sort = {\n // column: \"KEY\",\n // ascending: true,\n // };\n //\n // this._page = {\n // pageSize: 10,\n // pageNumber: 1,\n // };\n // }\n //\n //\n // private _get(id: number = 0): IJEDataTranslation {\n // return this._translations.find((t) => t.id === id) ?? this._translations[0];\n // }\n //\n // sort(column: string, ascending: boolean, firstPage: boolean = false) {\n // this._sort.ascending = this._sort.column !== column ? true : ascending;\n // this._sort.column = column;\n // }\n //\n // onAddLanguage() {\n // const dialogRef = this.dialog.open(AddLanguageComponent, {\n // width: \"60vw\",\n // data: {\n // availableLanguages: this.languages,\n // confirmButtonLabel: \"Ok\",\n // confirmButtonColor: \"primary\",\n // cancelButtonLabel: \"Close\",\n // cancelButtonColor: \"accent\",\n // },\n // });\n //\n // dialogRef.afterClosed().subscribe((res) => {\n // if (res && res.name && res.select) {\n // let newLanguage: LanguageModel = {\n // id: res.name,\n // content: res.select,\n // };\n //\n // this.languages = this.languages.concat([cloneDeep(newLanguage)]);\n // this._loadContent(this.languages, true);\n // } else if (res && res.name) {\n // let newLanguage: LanguageModel = {\n // id: res.name,\n // content: this.languages.length > 0 ? this.languages[0].content : {},\n // };\n // this.languages = this.languages.concat([cloneDeep(newLanguage)]);\n // this._loadContent(this.languages, true);\n // }\n // });\n // }\n //\n // onAddTranslation() {\n // let newTranslation: IJEDataTranslation = this._createFactoryIJEDataTranslation();\n // this._translations = this._translations.concat(newTranslation);\n // this._translationsBck = this._translationsBck.concat(cloneDeep(newTranslation));\n // this.search();\n // }\n //\n // update(translation: IJEDataTranslation, event: any, id: number, lang?: string) /*: IJEDataTranslation*/ {\n // this._translations = this._translations.map((trans) => {\n // if (id == 0) {\n // if (trans.id == translation.id) {\n // trans.key = event;\n // }\n // } else {\n // if (lang) {\n // if (trans.id == translation.id) {\n // trans.languages[lang] = event.replace(/\\\\n/g, \"\\n\");\n // if (this._translationsBck.some(_trans => _trans.id == trans.id && _trans.languages[lang] == trans.languages[lang])) {\n // trans.edits = trans.edits.filter(la => la != lang);\n // } else {\n // if (trans.edits.indexOf(lang) == -1) {\n // trans.edits.push(lang)\n // }\n // }\n // }\n // }\n // }\n // return trans;\n // });\n // this.search();\n // }\n //\n // private _validateImpacted(translation: IJEDataTranslation, key?: string) {\n // if (key === \"\") {\n // return;\n // }\n //\n // const impacted = this._validatePath(translation, false);\n //\n // impacted.forEach((i) => {\n // if (\n // key === undefined ||\n // (!this._comparePath(this._split(translation.key), this._split(i.key)) &&\n // this._validatePath(i, true).length === 0)\n // ) {\n // i.valid = true;\n // i.error = \"\";\n // //this._manager.updateTranslation(i);\n // }\n // });\n // }\n //\n // private _validate(translation: IJEDataTranslation, keyChanged: boolean = false) {\n // if (translation.key === \"\") {\n // translation.valid = false;\n // translation.error = IJEDataTranslationError.KEY_NOT_EMPTY;\n // } else if (keyChanged) {\n // let separator = false;\n // //does not start or end with the separator or two consecutive separators\n // if (separator && new RegExp(`^${separator}|${separator}{2,}|${separator}$`).test(translation.key)) {\n // translation.valid = false;\n // translation.error = IJEDataTranslationError.INVALID_KEY;\n // } else if (this._validatePath(translation).length > 0) {\n // translation.valid = false;\n // translation.error = IJEDataTranslationError.DUPLICATE_PATH;\n // } else {\n // translation.valid = true;\n // translation.error = \"\";\n // }\n // }\n // }\n //\n // private _validatePath(translation: IJEDataTranslation, valid: boolean = true) {\n // const splitKey = this._split(translation.key);\n //\n // return this._translations.filter((t) => {\n // if (translation.id === t.id || t.valid !== valid) {\n // return false;\n // }\n // return this._comparePath(splitKey, t.key.split(\".\"));\n // });\n // }\n //\n // private _comparePath(a: string[], b: string[]) {\n // const _a = a.length >= b.length ? b : a;\n // const _b = a.length < b.length ? b : a;\n // return _a.every((v: string, i: number) => v === _b[i]);\n // }\n //\n // private _split(key: string) {\n // if (\".\") {\n // return key.split(\".\");\n // }\n // return [key];\n // }\n //\n // mark(id: number) {\n // console.log(id);\n //\n // const translation = this._get(id);\n // console.log(translation);\n // if (translation) {\n // this._view.selectionId = id;\n // }\n // }\n //\n // search(event?: any) {\n // if (event) this.searchValue = event;\n //\n // this.translations = this._translations.filter((t) => (event ? t.key.includes(event) : true));\n // this.translationsBck = this._translationsBck.filter((t) => (event ? t.key.includes(event) : true));\n //\n // }\n //\n // remove(key: string) {\n // console.log(\"id e key\")\n // //console.log(id)\n // console.log(key)\n // const dialogRef = this.dialog.open(DialogComponent, {\n // data: {\n // title: \"Confirm delete [\" + key + \"] key\",\n // content: `Are you sure to proceed?`,\n // cancelButtonLabel: \"No\",\n // cancelButtonColor: \"basic\",\n // confirmButtonLabel: \"Yes\",\n // confirmButtonColor: \"warn\",\n // },\n // });\n // dialogRef.afterClosed().subscribe((res) => {\n // if (res) {\n // this._translations = this._translations.filter((t) => t.key != key);\n // this.search();\n // }\n // });\n //\n // }\n //\n // removeTranslation(key: string) {\n // const dialogRef = this.dialog.open(DialogComponent, {\n // data: {\n // title: `Confirm delete [${key}] key`,\n // content: 'Are you sure to proceed?',\n // cancelButtonLabel: 'No',\n // cancelButtonColor: 'basic',\n // confirmButtonLabel: 'Yes',\n // confirmButtonColor: 'warn',\n // },\n // });\n //\n // dialogRef.afterClosed().subscribe(res => {\n // if (res) {\n // this.generalDataService.deleteLanguage(key).subscribe(\n // deleteRes => {\n // this.languages = this.languages.filter(languageModel => languageModel.id !== key);\n //\n // this._loadContent(this.languages, true);\n //\n // this.alertService.add({\n // type: ALERT_TYPE.SUCCESS,\n // message: 'Translation deleted successfully.',\n // timeout: 3000,\n // selfClose: null,\n // });\n // },\n // error => {\n // this.alertService.add({\n // type: ALERT_TYPE.WARNING,\n // message: 'An error occurred during Translation deletion.',\n // timeout: 5000,\n // selfClose: null,\n // });\n // },\n // () => {\n // this.refreshData();\n // }\n // );\n // }\n // });\n // }\n //\n // deleteLanguage(column: string) {\n // const dialogRef = this.dialog.open(DialogComponent, {\n // data: {\n // title: \"Confirm delete [\" + column + \"] language\",\n // content: `Are you sure to proceed?`,\n // cancelButtonLabel: \"No\",\n // cancelButtonColor: \"basic\",\n // confirmButtonLabel: \"Yes\",\n // confirmButtonColor: \"warn\",\n // },\n // });\n // dialogRef.afterClosed().subscribe(res => {\n // if (res) {\n // this.generalDataService.deleteLanguage(column).subscribe(res => {\n // this.languages = this.languages.filter(languageModel => languageModel.id != column);\n // this._loadContent(this.languages, true);\n // })\n // }\n // })\n //\n // }\n //\n // checkDifferences() {\n // if (isEqual(this.translations, this.translationsBck)) {\n // this.searchValue = undefined;\n // return false;\n // }\n // return true;\n // }\n\n\n}\n","import {\n Component,\n EventEmitter,\n Input,\n isDevMode,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {MatMenu} from '@angular/material/menu';\nimport {Router} from '@angular/router';\nimport {MsalService} from '@azure/msal-angular';\nimport {EMPTY, lastValueFrom, of} from 'rxjs';\nimport {AuthService} from 'src/app/services/auth.service';\nimport {Clipboard} from '@angular/cdk/clipboard';\nimport {GeneralService} from \"../../../services/crud/general.service\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {version} from '../../../version'\nimport {DialogComponent} from \"../dialog/dialog.component\";\nimport exportFromJSON from 'export-from-json'\nimport {AppInfoComponent} from \"../dialog/app-info/app-info.component\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport {catchError, tap} from \"rxjs/operators\";\n\n@Component({\n selector: 'app-topbar',\n templateUrl: './topbar.component.html',\n styleUrls: ['./topbar.component.scss'],\n})\nexport class TopbarComponent implements OnInit {\n @Input()\n pageTitle = '';\n @Input()\n version = '';\n @Input()\n actions: string[] = [];\n\n @ViewChild('account') public account!: MatMenu;\n\n @Output() onClickLogin: EventEmitter = new EventEmitter();\n @Output() onClickInfo: EventEmitter = new EventEmitter();\n @Output() onClickLogout: EventEmitter = new EventEmitter();\n @Output() onClickLogo: EventEmitter = new EventEmitter();\n @Output() toggleSidenav = new EventEmitter();\n\n name: string | undefined;\n email: string | undefined;\n role: string | undefined;\n\n appVersion: string = '';\n beVersion: string = '';\n\n usr!: string;\n\n availableUserRoles: any[] = [];\n\n constructor(\n protected router: Router,\n private msalService: MsalService,\n private authService: AuthService,\n private clipboard: Clipboard,\n private generalService: GeneralService,\n private dialog: MatDialog,\n public translate: TranslateService\n ) {\n }\n\n public errorHandler = (error: any) => {\n return EMPTY;\n };\n\n ngOnInit(): void {\n this.authService.emailObs.subscribe((email) => {\n this.email = email;\n });\n this.authService.nameObs.subscribe((name) => {\n this.name = name;\n });\n this.authService.roleObs.subscribe((role) => {\n //console.log(role)\n this.role = role.trim();\n this.authService.getAvailableRole().subscribe({\n next: value => {\n this.availableUserRoles = value.oContent.map(r => {\n\n return {\n id: r.ROLE_ID,\n name: r.ROLE_NAME\n }\n });\n }\n });\n });\n }\n\n isDevMode() {\n return isDevMode();\n }\n\n login() {\n this.onClickLogin.emit();\n }\n\n userInfo() {\n this.onClickInfo.emit();\n }\n\n logout() {\n this.onClickLogout.emit();\n }\n\n onLogoClick() {\n this.onClickLogo.emit();\n }\n\n isActionPresent(action: string) {\n if (this.actions.indexOf(action) > -1) return true;\n else return false;\n }\n\n arrayFrom(string: string) {\n return Array.from(string)['0'] + Array.from(string)['1'];\n }\n\n onMenuClick() {\n this.toggleSidenav.emit();\n }\n\n copyToken(): void {\n lastValueFrom(\n this.msalService.acquireTokenSilent({\n scopes: ['openid', 'profile', 'User.Read', 'email'],\n })\n ).then((token) => {\n this.clipboard.copy(token.idToken);\n });\n }\n\n info() {\n this.generalService.getVersion().pipe(\n catchError((error) => {\n return of({});\n }),\n tap(res => {\n this.beVersion = res['oContent'] ?? '';\n this.appVersion = version;\n const dialogRef = this.dialog.open(AppInfoComponent, {\n data: {\n title: 'EUR Application Information',\n content: `Web application version: ` + this.appVersion,\n content2: `Server application version: ` + this.beVersion,\n confirmButtonLabel: 'Refresh all & Close',\n confirmButtonColor: 'basic',\n cancelButtonLabel: 'Close',\n cancelButtonColor: 'accent'\n },\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res && res == true) {\n localStorage.clear();\n window.location.reload();\n }\n });\n })).subscribe()\n }\n\n downloadLog() {\n const data = JSON.parse(sessionStorage.getItem('httpLog') ?? '')\n const fileName = 'download_' + Date.now()\n const exportType = exportFromJSON.types.json\n exportFromJSON({data, fileName, exportType})\n }\n\n refreshAll() {\n localStorage.clear();\n window.location.reload();\n }\n\n switchLang(lang: string) {\n this.translate.use(lang);\n localStorage.setItem('selectedLanguage', lang);\n }\n\n onRoleChange(event: string) {\n if (this.role) {\n this.authService.setUserRole(this.role).subscribe(res => {\n localStorage.removeItem('layout');\n localStorage.removeItem('filter');\n Object.keys(sessionStorage).forEach(function (key) {\n if (!key.startsWith(\"sort\")) {\n sessionStorage.removeItem(key)\n }\n });\n window.location.reload();\n });\n }\n\n\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n

End Use Regime

\n
\n\n \n \n \n \n \n \"{{ \n \n \n \n\n \n\n \n
\n \n \n
\n
\n \n \n
\n
\n \n\n \n \n
\n \n
\n \n
\n
0\" class=\"account-action\">\n \n \n \n \n {{ \"BTN_LOGOUT\" | translate }}\n {{ \"BTN_LOGIN\" | translate }}\n
\n
\n Hard Refresh\n {{\"BTN_LOGOUT\" | translate }}\n {{\"BTN_LOGIN\" | translate }}\n
\n
\n
\n\n\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-user-settings',\n templateUrl: './user-settings.component.html',\n styleUrls: ['./user-settings.component.scss']\n})\nexport class UserSettingsComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","

user-settings works!

\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-virtual-scroll',\n templateUrl: './virtual-scroll.component.html',\n styleUrls: ['./virtual-scroll.component.scss']\n})\nexport class VirtualScrollComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","

virtual-scroll works!

\n","import {\n Directive,\n Output,\n Input,\n EventEmitter,\n HostBinding,\n HostListener\n} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]'\n})\nexport class DndDirective {\n @HostBinding('class.fileover') fileOver: boolean | undefined;\n @Output() fileDropped = new EventEmitter();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event'])\n public ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n let files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {NavigationService} from \"../../services/utils/navigation.service\";\nimport {Required} from \"../../utils/requiredInputs\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {DialogComponent} from \"../../components/shared/dialog/dialog.component\";\n\n@Directive({\n selector: '[backNavigation]'\n})\nexport class BackNavigationDirective {\n\n @Input()\n masterFrom: any;\n\n @Input()\n compareTo: any;\n\n @Input()\n withoutcompare?: boolean = false;\n\n constructor(private navigation: NavigationService, public dialog: MatDialog) {\n }\n\n @HostListener('click')\n onClick(): void {\n\n if (this.withoutcompare) {\n this.navigation.back();\n } else {\n this.navigation.compareAndBack(this.masterFrom, this.compareTo);\n }\n\n\n }\n\n\n}\n","import {Directive, HostListener, Input} from '@angular/core';\n\n@Directive({\n\tselector: '[framework-input]'\n})\n/**\n * Directive to restrict input based on specified type.\n *\n * This directive listens to 'keydown' and 'paste' events on an input element\n * and restricts the input based on the 'framework-input-type' attribute.\n *\n * Supported types:\n * - \"DTY_NVAR\": Allows any input.\n * - \"FLT_STRING\": Allows any input.\n * - \"DTY_FLOAT\": Allows numeric input and a single decimal point.\n *\n * On 'keydown', it prevents input of characters not allowed by the specified type.\n * On 'paste', it validates the pasted content against the allowed pattern for the type.\n *\n * @input {string} framework-input-type - The type of input restriction to apply.\n */\nexport class FrameworkTypeDirective\n{\n\n\t@Input('framework-input-type') inputType = \"DTY_NVAR\";\n\n\t@HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent)\n\t{\n\n\t\tif(this.inputType.length===0 || this.inputType === \"DTY_NVAR\" || this.inputType === \"FLT_STRING\"){\n\t\t\treturn; //If the input is String nothing to do, all is allowed\n\t\t}\n\n\t\tconst allowedKeys = ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'];\n\n\t\tif (this.inputType === \"DTY_FLOAT\")\n\t\t{\n\t\t\tallowedKeys.push('.'); //If is decimal also . is a valid character\n\t\t}\n\n\t\tconst isAllowedKey = allowedKeys.includes(event.key);\n\n\t\t//Current value of inout element\n\t\tconst inputElement = event.target as HTMLInputElement;\n\t\tconst currentValue = inputElement.value;\n\n\t\t//Decimal\n\t\tif (this.inputType === \"DTY_FLOAT\")\n\t\t{\n\t\t\tif (event.key === '.' && currentValue.includes('.'))\n\t\t\t{\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t//Check for decimal and number\n\t\tif (\n\t\t\tisAllowedKey ||\n\t\t\t(event.key >= '0' && event.key <= '9')\n\t\t)\n\t\t{\n\t\t\treturn; //Allow insert\n\t\t}\n\t\telse\n\t\t{\n\t\t\tevent.preventDefault(); //Block insert of other character\n\t\t}\n\t}\n\n\t@HostListener('paste', ['$event']) onPaste(event: ClipboardEvent)\n\t{\n\t\tif(this.inputType.length===0 || this.inputType === \"DTY_NVAR\" || this.inputType === \"FLT_STRING\"){ //If the input is String nothing to do\n\t\t\treturn;\n\t\t}\n\n\t\tconst clipboardData = event.clipboardData?.getData('text') || '';\n\t\tif (clipboardData)\n\t\t{\n\t\t\tlet regex : RegExp | null = null;\n\t\t\tif( this.inputType === 'DTY_FLOAT'){\n\t\t\t\tregex =/^\\d*\\.?\\d*$/;\n\t\t\t}else if(this.inputType === 'DTY_INT'){\n\t\t\t\tregex = /^\\d+$/;\n\t\t\t}\n\t\t\tif (regex && !regex.test(clipboardData))\n\t\t\t{\n\t\t\t\tevent.preventDefault(); //Block invalid content\n\t\t\t}\n\t\t}\n\t}\n}","import {Pipe, PipeTransform} from '@angular/core';\nimport {camelToSnakeCase, refactorName} from \"../utils/generic\";\n\n@Pipe({\n name: 'cml2snk'\n})\nexport class Camel2SnakePipe implements PipeTransform {\n\n transform(value: string | String, ...args: unknown[]): string {\n return camelToSnakeCase(value);\n }\n\n}\n","import {ChangeDetectorRef, Pipe, PipeTransform} from '@angular/core';\nimport {camelToSnakeCase, refactorName} from \"../utils/generic\";\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\n\n@Pipe({\n name: 'tableHeighCalculator'\n})\nexport class CdkHeightCalculatorPipe implements PipeTransform {\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n transform(numberOfItems: number = 1, visibleItems: number, viewPort?: CdkVirtualScrollViewport): string {\n\n if (numberOfItems == 0)\n numberOfItems = 2;\n\n // This should be the height of your item in pixels\n const itemHeight = 48;\n\n viewPort?.checkViewportSize();\n\n this.changeDetectorRef.detectChanges();\n\n // It calculates the container height for the first items in the list\n // It means the container will expand until it reaches `200px` (20 * 10)\n // and will keep this size.\n if (numberOfItems <= visibleItems) {\n return `${(itemHeight * numberOfItems) + 60}px`;\n }\n\n // This function is called from the template so it ensures the container will have\n // the final height if number of items are greater than the value in \"visibleItems\".\n return `${(itemHeight * visibleItems + 60)}px`;\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\nimport {isEqual} from 'lodash';\n\n@Pipe({\n name: 'isEdited'\n})\nexport class CompareEditingPipe implements PipeTransform {\n\n transform(value: any, compare: any): Observable {\n console.log(value, compare, !isEqual(value, compare))\n return of(!isEqual(value, compare));\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {filter, Observable, of, take} from \"rxjs\";\nimport {map, first} from \"rxjs/operators\";\n\n@Pipe({\n name: 'getListTooltipV2Classic',\n pure: false\n})\nexport class GetListTooltipV2ClassicPipe implements PipeTransform {\n\n transform(optionValues: {\n [key: string]: any[]\n }, columnName: string, defaultValue: string, dataSetElementElement: any): string {\n\n return optionValues[columnName].filter(option => option.id === dataSetElementElement).map((element) => element.name).pop()\n\n /*return optionValues.filter(\n (option) => option.id == dataSetElementElement\n )[0]?.name ?? defaultValue;*/\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {filter, Observable, of, take} from \"rxjs\";\nimport {map, first} from \"rxjs/operators\";\n\n@Pipe({\n name: 'getListTooltipV2',\n pure: false\n})\nexport class GetListTooltipV2Pipe implements PipeTransform {\n\n transform(optionValues: Observable, columnName: string, defaultValue: string, dataSetElementElement: any, row: number): Observable {\n\n return optionValues.pipe(\n filter((data) => !!data && columnName in data),\n map((data) => data[columnName]),\n map((optionArr) => optionArr?.find((option) => option.id === dataSetElementElement)),\n filter((element) => !!element),\n take(1),\n map((element) => element.name),\n first(name => !!name, defaultValue)\n );\n /*return optionValues.filter(\n (option) => option.id == dataSetElementElement\n )[0]?.name ?? defaultValue;*/\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\n\n@Pipe({\n name: 'getListTooltip',\n pure: false\n})\nexport class GetListTooltipPipe implements PipeTransform {\n\n transform(column: any, defaultValue: string, dataSetElementElement: any, row: number): string {\n return column.optionValues.filter(\n (option) => option.id == dataSetElementElement\n )[0]?.name ?? defaultValue;\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {IMultiSelectOption} from \"../components/shared/custom-multiselect/types\";\nimport {Observable, of} from \"rxjs\";\n\n@Pipe({\n name: 'getOptions'\n})\nexport class GetOptionsPipe implements PipeTransform {\n\n transform(value: any | any[], ...args: unknown[]): Observable {\n if (typeof value == 'string') {\n return of([] as IMultiSelectOption[]);\n } else if (Array.isArray(value)) {\n return of(value);\n } else {\n return of([] as IMultiSelectOption[]);\n }\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\n\n@Pipe({\n name: 'getValueOnConditionImpure',\n pure: false\n})\nexport class GetValueOnConditionImpurePipe implements PipeTransform {\n\n transform(arrayToCheck: any[], propertyToCompare: string, propertyToShow: string, propertyValue: any, defaultValue: string): string {\n try {\n return (arrayToCheck.filter(elem => elem[propertyToCompare] == propertyValue))\n [0][propertyToShow];\n } catch (e) {\n return defaultValue;\n }\n\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\n\n@Pipe({\n name: 'getValueOnCondition'\n})\nexport class GetValueOnConditionPipe implements PipeTransform {\n\n transform(arrayToCheck: any[], propertyToCompare: string, propertyToShow: string, propertyValue: any, defaultValue: string): Observable {\n try {\n return of(\n (arrayToCheck.filter(elem => elem[propertyToCompare] == propertyValue))\n [0][propertyToShow]\n );\n } catch (e) {\n return of(defaultValue)\n }\n\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from 'rxjs';\n\n@Pipe({\n name: 'haveAction',\n})\nexport class HaveActionPipe implements PipeTransform {\n transform(value: string, list: any[] | null): Observable {\n if (!!list)\n return of(list.some((action) => action['id'] == value));\n\n return of(false)\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\nimport {Action} from \"../models/layout\";\n\n@Pipe({\n name: 'haveOneAction',\n pure: false\n})\nexport class HaveOneActionPipe implements PipeTransform {\n\n transform(actions: Action[] | undefined, checks: string[]): boolean {\n return actions?.some(action => checks.some(act => act == action.id)) ?? false;\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {refactorName} from \"../utils/generic\";\n\n@Pipe({\n name: 'refactorName'\n})\nexport class RefactorNamePipe implements PipeTransform {\n\n transform(value: string | String, ...args: unknown[]): String {\n return refactorName(value);\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {camelToSnakeCase, refactorName} from \"../utils/generic\";\n\n@Pipe({\n name: 'rmDQ'\n})\nexport class RemoveDoubleQuotePipe implements PipeTransform {\n\n transform(value: string | String, ...args: unknown[]): string {\n return value.replace(/\"/g, \""\");\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {camelToSnakeCase, refactorName} from \"../utils/generic\";\n\n@Pipe({\n name: 'rmDQS'\n})\nexport class RemoveDoubleQuoteAndSlachPipe implements PipeTransform {\n\n transform(value: string | String, ...args: unknown[]): string {\n if (value == null){\n return '';\n }\n return value.replace(/\\n/g, '\\\\n').replace(/\"/g, '"');\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {DomSanitizer, SafeResourceUrl} from \"@angular/platform-browser\";\n\n@Pipe({\n name: 'safeUrl',\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {\n }\n\n transform(url: string): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {Observable, of} from \"rxjs\";\n\n@Pipe({\n name: 'sortArray',\n pure: false\n})\nexport class SortArrayPipe implements PipeTransform {\n\n transform(arrayToSort: any[], propertyToSort: string, type: 'DESC' | 'ASC'): any[] {\n try {\n return arrayToSort.sort((a: any, b: any) => {\n return type == 'DESC' ? (!!a[propertyToSort] ? 1 : 0) : (!!a[propertyToSort] ? 0 : 1);\n });\n } catch (e) {\n return arrayToSort;\n }\n\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {TranslatePipe, TranslateService} from \"@ngx-translate/core\";\n\n@Pipe({\n name: 'strarrTranslate'\n})\nexport class StringArrayTranslationPipe implements PipeTransform {\n\n\n constructor(private translate: TranslateService) {\n }\n\n transform(value: string | String, ...args: unknown[]): string {\n return value.split(';').map(val => this.translate.instant(val)).join('; ');\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {ExtendedAnnounce} from \"../app.component\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AnnounceService {\n\n\n private allectsBS: BehaviorSubject = new BehaviorSubject([]);\n\n public allerts$: Observable = this.allectsBS.asObservable();\n\n\n constructor() {\n\n }\n\n replaceAllert(a: ExtendedAnnounce[]) {\n this.allectsBS.next(a);\n }\n\n\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpHeaders,\n HttpInterceptor,\n HttpRequest,\n HttpErrorResponse,\n HttpResponse, HttpStatusCode\n} from \"@angular/common/http\";\nimport {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {from, Observable, of, throwError} from 'rxjs';\nimport {catchError, mergeMap, switchMap, tap} from \"rxjs/operators\";\nimport {MsalService} from '@azure/msal-angular';\nimport {environment} from 'src/environments/environment';\n\n@Injectable()\nexport class AuthInterceptorService implements HttpInterceptor {\n constructor(private msalService: MsalService, private _router: Router) {\n\n }\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n const started = Date.now();\n if (\n !req.url.includes('prod-157') &&\n !req.url?.includes('login.microsoftonline.com') &&\n !req.url.includes('assets/') &&\n !((req.url.includes('api/v1/translation') && req.method.toUpperCase() == 'GET'))\n ) {\n return this.getTokenAndHandleRequest(req, next).pipe(\n catchError((error: HttpErrorResponse) => {\n if ((req.url.includes('damages/detail/docs')) || (req.url.includes('attachment')) || (req.method.toUpperCase() != 'GET')) {\n return throwError(() => error);\n } else {\n if (error.status >= 500 || error.status == 404) {\n return throwError(() => error);\n } else {\n return this.handleTokenRefresh(req, next);\n }\n }\n })\n );\n } else {\n return next.handle(req).pipe(catchError((error: HttpErrorResponse) => {\n if (\n (error.status == 401 || error.status == 400) &&\n (req.url.includes('eur/api/') || req.url.includes('/auth/api/v2') && !(req.url.includes('damages/detail/docs') || (req.url.includes('attachment'))) && !req.url.includes('assets/version.json'))\n ) {\n return this.handleTokenRefresh(req, next);\n } else if (!(req.url.includes('damages/detail/docs') || (req.url.includes('attachment'))) && error.status != 404) {\n this._router.navigateByUrl('/400?message=' + error.message);\n return throwError(() => error);\n } else {\n return throwError(() => error);\n }\n }));\n }\n }\n\n private getTokenAndHandleRequest(req: HttpRequest, next: HttpHandler): Observable> {\n return this.msalService.acquireTokenSilent({\n scopes: environment.clientScope.split(' '),\n }).pipe(\n switchMap(token => {\n const headers = new HttpHeaders()\n .set('Authorization', `Bearer ${token.idToken}`)\n .set('Access-Control-Allow-Origin', '*');\n const reqAuthorized = req.clone({headers});\n return next.handle(reqAuthorized).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status == 400 || error.status == 401) {\n return this.authErrorHandler(error, req, next);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n\n private handleTokenRefresh(req: HttpRequest, next: HttpHandler): Observable> {\n return from(\n this.msalService.acquireTokenRedirect({\n scopes: environment.clientScope.split(' '),\n })\n ).pipe(\n switchMap(() => {\n return this.msalService.acquireTokenSilent({\n scopes: environment.clientScope.split(' '),\n });\n }),\n switchMap(token => {\n const headers = new HttpHeaders()\n .set('Authorization', `Bearer ${token.idToken}`)\n .set('Access-Control-Allow-Origin', '*');\n const reqAuthorized = req.clone({headers});\n return next.handle(reqAuthorized).pipe(\n catchError((err: HttpErrorResponse) => {\n if (err.status == 400) {\n this._router.navigateByUrl('/400?message=' + err.message);\n } else if (err.status == 401) {\n this._router.navigateByUrl('/400?message=' + err.message);\n }\n return throwError(() => err);\n })\n );\n })\n );\n }\n\n private authErrorHandler(err: HttpErrorResponse, req: HttpRequest, next: HttpHandler): Observable {\n //this._router.navigateByUrl('/400?message=' + err.message);\n if (err.status == 400) {\n this._router.navigateByUrl('/400?message=' + err.message);\n } else if (err.status == 401) {\n return this.handleTokenRefresh(req, next);\n }\n return throwError(() => err);\n }\n}\n","import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, of} from \"rxjs\";\nimport {environment} from 'src/environments/environment';\nimport {AppModule} from '../app.module';\nimport {MsalService} from \"@azure/msal-angular\";\n\n@Injectable()\nexport class AuthService {\n nameBS = new BehaviorSubject('');\n nameObs = this.nameBS.asObservable();\n\n emailBS = new BehaviorSubject('');\n emailObs = this.emailBS.asObservable();\n\n roleBS = new BehaviorSubject('');\n roleObs = this.roleBS.asObservable();\n\n test: String = 'test';\n\n constructor(private http: HttpClient, private msalService: MsalService) {\n }\n\n headers = new HttpHeaders();\n\n getMenu() {\n return this.http.get(environment.authApiUrl + 'layout/EUR', {});\n }\n\n getPages() {\n return this.http.get(environment.authApiUrl + 'pages/EUR', {});\n }\n\n getUser() {\n return this.http.get(environment.authApiUrl + 'users/EUR', {});\n }\n\n setFilter(filters: string) {\n return this.http.post(environment.authApiUrl + 'users/filter/EUR', {filters});\n }\n\n getAvailableRole() {\n const params: HttpParams = new HttpParams()\n return this.http.get(environment.authApiUrl + 'users/available-roles/EUR', {params});\n }\n\n setUserRole(\n role: string\n ): Observable {\n const httpoptions: Object = {\n params: new HttpParams().set('role', role).set('app', 'EUR')\n };\n return this.http.post(\n environment.authApiUrl + \"masterdata/user/active-role\",\n role,\n httpoptions\n );\n\n }\n\n refresh() {\n\n of(Object.keys(localStorage)\n .filter(key => !key.includes(\"appVersion\"))\n .map(key => localStorage.removeItem(key))\n ).subscribe(res =>\n this.msalService.logoutRedirect()\n );\n\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {interval} from \"rxjs\";\n\n\n@Injectable()\nexport class CheckForUpdateService {\n\n constructor(private http: HttpClient) {\n console.log('Version controller launched')\n const everySixHours$ = interval(/*6 **/ 60 * 60 * 1000);\n\n everySixHours$.subscribe(isCheckTime => {\n console.log('Check version...')\n this.checkVersion();\n })\n }\n\n checkVersion() {\n const savedVersion = localStorage.getItem('appVersion');\n\n this.http.get(`${window.location.origin}/eur/assets/version.json`, {responseType: 'text' as 'json'}).subscribe(\n (data) => {\n const deployedVersion = JSON.parse(data);\n if ((this.isVersionGreater(deployedVersion.version, savedVersion ? Number(savedVersion) : undefined))) {\n localStorage.clear();\n localStorage.setItem('appVersion', deployedVersion.version);\n Object.keys(sessionStorage).forEach(function (key) {\n if (!key.startsWith(\"sort\")) {\n sessionStorage.removeItem(key)\n }\n\n });\n if (confirm('A new version of EUR Desktop find. If you don\\'t refresh the site you could incurred in data issue. Do you want update EUR version?')) {\n window.location.reload();\n }\n }\n },\n (error) => {\n console.error('Error retrieving version information:', error);\n }\n );\n }\n\n isVersionGreater(v1: number, v2?: number): boolean {\n\n if (v2) {\n return v1 > v2;\n }\n return true;\n }\n}\n","import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {\n firstValueFrom, forkJoin,\n lastValueFrom,\n Observable,\n ObservableNotification,\n of\n} from \"rxjs\";\nimport {environment} from 'src/environments/environment';\nimport * as _ from 'lodash';\nimport {camelToSnakeCase} from '../../utils/generic';\nimport {map, switchMap} from \"rxjs/operators\";\nimport {cloneDeep} from \"lodash\";\nimport {AuthService} from \"../auth.service\";\nimport {v4} from 'uuid';\nimport {Announce} from \"../../app.component\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GeneralService {\n constructor(private httpClient: HttpClient, private authService: AuthService) {\n }\n\n getData(\n apiPath: string,\n id?: string,\n params: HttpParams = new HttpParams()\n ): Observable {\n if (!!id) params = params.set('id', id);\n\n return this.httpClient.get(environment.apiUrl + apiPath, {params});\n }\n\n getDetail(\n apiPath: string,\n id?: string,\n params: HttpParams = new HttpParams()\n ): Observable {\n //(id)\n if (!!id) params = params.set('id', id);\n\n return this.httpClient.get(environment.apiUrl + apiPath, {params});\n }\n\n postData(\n apiPath: string,\n rows: any[],\n params: HttpParams = new HttpParams()\n ): Observable {\n const httpoptions: Object = {\n params,\n };\n return this.httpClient.post(\n environment.apiUrl + apiPath,\n rows,\n httpoptions\n );\n }\n\n postOneData(\n apiPath: string,\n row: any,\n params: HttpParams = new HttpParams()\n ): Observable {\n const httpoptions: Object = {\n params,\n };\n return this.httpClient.post(\n environment.apiUrl + apiPath,\n row,\n httpoptions\n );\n }\n\n deleteData(apiPath: string, deletedRows: any[], action: string, params: HttpParams = new HttpParams()) {\n params = params.set(\"a\", action);\n const httpoptions: Object = {\n params,\n };\n return this.httpClient.patch(\n environment.apiUrl + apiPath,\n deletedRows,\n httpoptions\n );\n }\n\n exportDataExcel(\n apiPath: string,\n fileType: string,\n params: HttpParams,\n exportRows: any[]\n ) {\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n return this.httpClient.post(\n environment.apiUrl + apiPath + '/download/' + fileType,\n exportRows,\n httpoptions\n );\n }\n\n getSelectionOption(valuesFrom: string) {\n const httpHeader: Object = {\n params: new HttpParams().set('q', valuesFrom),\n };\n\n return lastValueFrom(\n this.httpClient.get(\n environment.apiUrl + 'util/autocomplete',\n httpHeader\n )\n );\n }\n\n getSelectionOptionForId(valuesFrom: string, filter: string) {\n const httpHeader: Object = {\n params: new HttpParams().set('q', valuesFrom).set('f', filter),\n };\n\n return lastValueFrom(\n this.httpClient.get(\n environment.apiUrl + 'util/autocomplete',\n httpHeader\n )\n );\n }\n\n getAllertByValidity() {\n const params: HttpParams = new HttpParams()\n return this.httpClient.get<{\n oContent: Announce[]\n iResponseCode: number\n sResponseMessage: string\n }>(environment.authApiUrl + 'util/announcements/EUR', {params});\n }\n\n getVersion() {\n return this.httpClient.get(environment.apiUrl + 'util/version');\n }\n\n /*postDataDetail(apiUrl: string, params: HttpParams = new HttpParams(), detail: any) {\n if (!!detail) {\n return this.httpClient.post(\n environment.apiUrl + apiPath,\n detail\n );\n }\n return of(null)\n }*/\n\n postDataDetail(\n apiPath: string,\n row: any,\n action?: string\n ): Observable {\n //(action)\n /*_.each(row, function(value, key) {\n const oldKey = _.cloneDeep(key)\n key = camelToSnakeCase(key) || key;\n row[key] = value;\n delete row[oldKey];\n });*/\n\n let params = new HttpParams();\n if (!!action) {\n params = params.set('a', action);\n }\n\n return this.httpClient.post(environment.apiUrl + apiPath, row, {\n params,\n });\n }\n\n getDataDetail(\n apiPath: string,\n id: string,\n action?: string\n ): Observable {\n //(action)\n /*_.each(row, function(value, key) {\n const oldKey = _.cloneDeep(key)\n key = camelToSnakeCase(key) || key;\n row[key] = value;\n delete row[oldKey];\n });*/\n\n let params = new HttpParams().set('id', id);\n if (!!action) {\n params = params.set('a', action);\n }\n\n return this.httpClient.get(environment.apiUrl + apiPath, {\n params,\n });\n }\n\n deleteDetailData(apiUrl: string, idsToDelete: any, params: HttpParams) {\n const httpoptions: Object = {\n params,\n };\n return this.httpClient.patch(\n environment.apiUrl + apiUrl,\n idsToDelete,\n httpoptions\n );\n }\n\n changeStatus(apiUrl: string, id: string, status: string) {\n const params = new HttpParams().set('a', status).set('id', id);\n return this.httpClient.put(\n environment.apiUrl + apiUrl,\n {},\n {params}\n );\n }\n\n getDocuments(\n apiPath: string,\n type: string,\n params: HttpParams = new HttpParams()\n ): Observable {\n params = params.set('type', type);\n\n return this.httpClient.get(environment.apiUrl + apiPath, {params});\n }\n\n getDocumentsById(\n apiPath: string,\n params: HttpParams = new HttpParams()\n ): Observable {\n return this.httpClient.get(environment.apiUrl + apiPath, {params});\n }\n\n uploadDoc(s: string, documentsId: string, file: File) {\n const formData: FormData = new FormData();\n formData.append('document', file, file.name);\n const params = new HttpParams()\n .set('file_type', file.type)\n .set('documents_id', documentsId);\n return this.httpClient.post(environment.apiUrl + s, formData, {\n params: params,\n reportProgress: true,\n headers: new HttpHeaders({timeout: `${20000}`})\n });\n }\n\n\n\n uploadDocInDocs(api: string, documentsId: string, file: File) {\n const formData: FormData = new FormData();\n formData.append('document', file, file.name);\n const params = new HttpParams()\n .set('file_type', file.type)\n .set('file', documentsId);\n return this.httpClient.post(environment.apiUrl + api, formData, {\n params: params,\n reportProgress: true,\n headers: new HttpHeaders({timeout: `${20000}`})\n });\n }\n\n async uploadFile(api: string, documentsId: string, file: File): Promise {\n const chunkSize = 300 * 1024; // 300KB (in bytes)\n const totalChunks = Math.ceil(file.size / chunkSize);\n const filename = file.name;\n const fileType = file.type;\n\n for (let chunkNumber = 1; chunkNumber <= totalChunks; chunkNumber++) {\n const start = (chunkNumber - 1) * chunkSize;\n const end = Math.min(start + chunkSize, file.size);\n const chunk = file.slice(start, end);\n\n await this.uploadChunk(api, chunk, chunkNumber, totalChunks, filename, fileType, documentsId);\n }\n }\n\n private uploadChunk(api: string, chunk: Blob, chunkNumber: number, totalChunks: number, filename: string, fileType: string, documentsId: string): Promise {\n const formData = new FormData();\n formData.append('file', chunk, filename);\n formData.append('chunkNumber', chunkNumber.toString());\n formData.append('totalChunks', totalChunks.toString());\n formData.append('filename', filename);\n formData.append('file_type', fileType);\n formData.append('documents_id', documentsId);\n\n return lastValueFrom(this.httpClient.post(environment.apiUrl + api, formData));\n }\n\n\n uploadDocZipped(s: string, documentsId: string, file: File, file_type: string) {\n const formData: FormData = new FormData();\n formData.append('document', file, file.name);\n const params = new HttpParams()\n .set('file_type', file_type)\n .set('documents_id', documentsId);\n return this.httpClient.post(environment.apiUrl + s, formData, {\n params,\n });\n }\n\n deleteDocument(s: string, documentsId: string, documentId: string) {\n const params = new HttpParams()\n .set('documents_id', documentsId)\n .set('document_id', documentId);\n return this.httpClient.delete(environment.apiUrl + s, {params});\n }\n\n deleteAttachment(id: string) {\n const params = new HttpParams()\n .set('id', id)\n return this.httpClient.delete(environment.apiUrl + 'attachment', {params});\n }\n\n uploadAttachment(parent: string, parent2: string, parentType: string, path: string, file: File) {\n let params = new HttpParams()\n .set('parent', parent)\n .set('path', path)\n .set('type', parentType)\n .set('parent2', parent2)\n\n\n const formData: FormData = new FormData();\n formData.append('file', file);\n\n return this.httpClient.post(environment.apiUrl + 'attachment', formData, {params});\n }\n\n importExcel(parent: string, file: File) {\n let params = new HttpParams()\n\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n\n\n const formData: FormData = new FormData();\n formData.append('excelFile', file);\n\n return this.httpClient.post(environment.apiUrl + parent, formData, httpoptions);\n }\n\n\n\n reportEndUseRegime(report: string) {\n return this.httpClient.get(environment.apiUrl + report);\n }\n\n downloadDocument(s: string, documentId: string) {\n let params = new HttpParams().set('id', documentId);\n\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n return this.httpClient.get(environment.apiUrl + s, httpoptions);\n }\n\n\n /*downloadCard(url: string, cardIds: string[]) {\n const httpoptions: Object = {\n responseType: 'blob',\n };\n return this.httpClient.post(\n environment.apiUrl + url + '/',\n cardIds,\n httpoptions\n );\n }*/\n\n downloadCard(url: string, cardIds: string) {\n const httpoptions: Object = {\n responseType: 'blob',\n };\n return this.httpClient.post(\n environment.apiUrl + url + '/',\n cardIds,\n httpoptions\n );\n }\n\n\n deleteDocOrPhoto(doc: string) {\n const params = new HttpParams().set('doc', doc);\n return this.httpClient.delete(environment.apiUrl + \"documents/cards/delete/image/doc\", {params});\n }\n\n\n deleteArchive(s: string, documentsId: string) {\n const params = new HttpParams().set('documents_id', documentsId);\n return this.httpClient.delete(environment.apiUrl + s, {params});\n }\n\n downloadAllDocument(s: string, DAMAGE_ID: string) {\n let params = new HttpParams().set('id', DAMAGE_ID);\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n return this.httpClient.get(environment.apiUrl + s, httpoptions);\n }\n\n uploadLoadingCard(url: String, params: HttpParams, file: any) {\n const formData: FormData = new FormData();\n formData.append('document', file);\n return this.httpClient.post(environment.apiUrl + url, formData, {\n params,\n });\n }\n\n getDataById(apiPath: string, key: string, value: any) {\n let params = new HttpParams().set(key, value);\n return this.httpClient.get(environment.apiUrl + apiPath, {params});\n }\n\n uploadPictures(apiUrl, files: File[], problemId: string) {\n const formData: FormData = new FormData();\n files.forEach((file) => {\n formData.append('pictures', file, file.name);\n });\n let params = new HttpParams().set('problem', problemId);\n\n return this.httpClient.post(environment.apiUrl + apiUrl, formData, {\n params,\n });\n }\n\n downloadPictures(apiUrl: string, pictureElement: string[], isZip?: boolean) {\n let params = new HttpParams();\n if (isZip) {\n params = params.set('t', 'zip');\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n return this.httpClient.post(\n environment.apiUrl + apiUrl,\n pictureElement,\n httpoptions\n );\n } else {\n params = params.set('t', 'list');\n const httpoptions: Object = {\n params,\n };\n return this.httpClient.post(\n environment.apiUrl + apiUrl,\n pictureElement,\n httpoptions\n );\n }\n }\n\n downloadPicture(apiUrl: string, pictureElement: string) {\n let params = new HttpParams().set('id', pictureElement);\n const httpoptions: Object = {\n responseType: 'blob',\n params,\n };\n return this.httpClient.get(environment.apiUrl + apiUrl, httpoptions);\n }\n\n deletePicture(apiPath: string, pictureId: string) {\n let params = new HttpParams().set('id', pictureId);\n const httpoptions: Object = {\n params,\n };\n\n return this.httpClient.delete(environment.apiUrl + apiPath, {\n params,\n });\n }\n\n getSelectionOptionWithFilter(valuesFrom: string, s: string) {\n const httpHeader: Object = {\n params: new HttpParams().set('q', valuesFrom).set('f', s),\n };\n\n console.log(valuesFrom, s)\n\n return lastValueFrom(\n this.httpClient.get(\n environment.apiUrl + 'util/autocomplete',\n httpHeader\n )\n );\n\n }\n\n delete(utilProblem: string, strings: string[]) {\n return this.httpClient.post(environment.apiUrl + utilProblem, strings);\n }\n\n createDamageOTM(\n apiPath: string,\n id: string,\n sWh: string,\n rWh: string,\n damageType: string,\n sendingDate: string,\n receivingDate: string,\n truckPlate: string,\n trailerPlate: string,\n carrierId: string,\n wagon: string,\n container: string,\n deliveryModeId: string,\n delieryTypeId: string,\n despQty: number,\n ): Observable {\n //(action)\n /*_.each(row, function(value, key) {\n const oldKey = _.cloneDeep(key)\n key = camelToSnakeCase(key) || key;\n row[key] = value;\n delete row[oldKey];\n });*/\n\n let params = new HttpParams().set('id', id)\n .set('sWh', sWh)\n .set('rWh', rWh)\n .set('damageType', damageType)\n .set('sendingDate', sendingDate)\n .set('receivingDate', receivingDate)\n .set('truckPlate', truckPlate)\n .set('trailerPlate', trailerPlate)\n .set('carrierId', carrierId)\n .set('wagon', wagon)\n .set('container', container)\n .set('deliveryModeId', deliveryModeId)\n .set('delieryTypeId', delieryTypeId)\n .set('despQty', despQty)\n ;\n\n return this.httpClient.get(environment.apiUrl + apiPath, {\n params,\n });\n }\n\n createDamage(\n apiPath: string,\n id: string\n ): Observable {\n //(action)\n /*_.each(row, function(value, key) {\n const oldKey = _.cloneDeep(key)\n key = camelToSnakeCase(key) || key;\n row[key] = value;\n delete row[oldKey];\n });*/\n\n let params = new HttpParams().set('id', id)\n\n return this.httpClient.get(environment.apiUrl + apiPath, {\n params,\n });\n }\n\n changeStatusScorecard(\n apiPath: string,\n id: string\n ): Observable {\n //(action)\n /*_.each(row, function(value, key) {\n const oldKey = _.cloneDeep(key)\n key = camelToSnakeCase(key) || key;\n row[key] = value;\n delete row[oldKey];\n });*/\n\n let params = new HttpParams().set('id', id);\n\n return this.httpClient.get(environment.apiUrl + apiPath, {\n params,\n });\n }\n\n moveDamageFile(utilMoveDamage: string) {\n return this.httpClient.get(environment.apiUrl + utilMoveDamage);\n }\n\n moveProblemFile(utilMoveProblem: string) {\n return this.httpClient.get(environment.apiUrl + utilMoveProblem);\n }\n\n moveCardFile(utilMoveCard: string) {\n return this.httpClient.get(environment.apiUrl + utilMoveCard);\n }\n\n moveOtherFile(utilMoveFile: string) {\n return this.httpClient.get(environment.apiUrl + utilMoveFile);\n }\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {FILTER_TYPE, FilterInterface} from \"../components/shared/filter/custom-filter/filter.interface\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport {filter} from \"lodash\";\nimport {BehaviorSubject, lastValueFrom, take} from \"rxjs\";\nimport {GetListTooltipV2Pipe} from \"../pipes/get-list-tooltip-v2.pipe\";\nimport {Camel2SnakePipe} from \"../pipes/camel2snake.pipe\";\nimport {GetListTooltipV2ClassicPipe} from \"../pipes/get-list-tooltip-v2-classic.pipe\";\n\n@Injectable()\nexport class FilterControllerService {\n filterModels: FilterInterface[] = [];\n\n viewedFilter: String[] = [];\n\n public _filterValues: BehaviorSubject = new BehaviorSubject({})\n\n public filterValues = this._filterValues.asObservable();\n\n constructor(private translate: TranslateService, private listTranslate: GetListTooltipV2ClassicPipe, private c2s: Camel2SnakePipe) {\n }\n\n //USE THE FOLLOWING FUNCTION TO TRANSLATE THE ID OF MULTISLECTION FILTER\n /*refreshViewedFilter() {\n this.viewedFilter =\n (this.filterModels\n .filter((model) => !model.isHide)\n .filter((filter) => {\n return (!!filter.firstValue && filter.firstValue.length > 0) || !filter.filterSelectedOption.haveFirstParam;\n })\n .map(\n (filter) => filter.filterSelectedOption.haveFirstParam ?\n \"\" +\n this.translate.instant(filter.columnLabel) + ' \\\"' + filter.filterSelectedOption.name + '\\\" ' +\n // filter.columnLabel+ ' \\\"' +filter.filterSelectedOption.name + '\\\" '+\n \": [\" +\n (filter.filterType == FILTER_TYPE.MULTI_SELECTION ? filter.firstValue.map(value => this.listTranslate.transform(this._filterValues.value, this.c2s.transform(filter.columnName), value, value) ).join(\",\") : filter.firstValue) +\n \"]\" +\n (filter.filterSelectedOption.haveSecondParam\n ? \" and [\" +\n (filter.filterType == FILTER_TYPE.MULTI_SELECTION ? filter.secondValue.map(value => this.listTranslate.transform(this._filterValues.value, this.c2s.transform(filter.columnName), value, value) ).join(\",\") : filter.secondValue) +\n \"]\"\n : \"\") : \"\" +\n this.translate.instant(filter.columnLabel) + ' \\\"' + filter.filterSelectedOption.name + '\\\" '\n )) ?? [];\n }*/\n\n //USE THE FOLLOGING FUNCTION TO SHOW ONLY THE ID\n refreshViewedFilter() {\n this.viewedFilter =\n (this.filterModels\n .filter((model) => !model.isHide)\n .filter((filter) => {\n return (!!filter.firstValue && filter.firstValue.length > 0) || !filter.filterSelectedOption.haveFirstParam;\n })\n .map(\n (filter) => filter.filterSelectedOption.haveFirstParam ?\n \"\" +\n this.translate.instant(filter.columnLabel) + ' \\\"' + filter.filterSelectedOption.name + '\\\" ' +\n // filter.columnLabel+ ' \\\"' +filter.filterSelectedOption.name + '\\\" '+\n \": [\" +\n (filter.filterType == FILTER_TYPE.MULTI_SELECTION ? filter.firstValue.join(\",\") : filter.firstValue) +\n \"]\" +\n (filter.filterSelectedOption.haveSecondParam\n ? \" and [\" +\n (filter.filterType == FILTER_TYPE.MULTI_SELECTION ? filter.secondValue.join(\",\") : filter.secondValue) +\n \"]\"\n : \"\") : \"\" +\n this.translate.instant(filter.columnLabel) + ' \\\"' + filter.filterSelectedOption.name + '\\\" '\n )) ?? [];\n }\n}\n","import {HttpEvent, HttpEventType, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from \"@angular/common/http\";\nimport {EventEmitter, Injectable, Input, Output, ViewChild} from '@angular/core';\nimport {interval, Observable} from 'rxjs';\nimport {map, tap} from \"rxjs/operators\";\nimport {SpinnerService} from \"./spinner.service\";\nimport {AnnounceService} from \"./announcements.service\";\nimport {cloneDeep} from \"lodash\";\nimport {NavigationService} from \"./utils/navigation.service\";\nimport {GeneralService} from \"./crud/general.service\";\nimport {AppComponent} from \"../app.component\";\nimport {AuthService} from \"./auth.service\";\nimport {NavItem} from \"../models/NavItem\";\n\n\n@Injectable()\nexport class HttpSpinnerInterceptorService implements HttpInterceptor {\n\n navItems: NavItem[] = [];\n\n constructor(private spinner: SpinnerService, private aS: AnnounceService, private navigation: NavigationService) {\n\n }\n\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n\n if (!req.url.includes('util') && !req.url.includes('lang')) {\n\n const queryparams = req.urlWithParams ?? '';\n const tablePattern = /table=%22([^%]+)%22;/;\n const tableMatch = queryparams.match(tablePattern);\n\n let tableSearchKey = '';\n if (tableMatch) {\n const table = tableMatch[1];\n tableSearchKey = table;\n }\n\n //this.spinner.showWithTitle('data', tableSearchKey);\n return next.handle(req).pipe(map(event => {\n\n if (event instanceof HttpResponse) {\n\n if (Object.keys(event.body).includes('announcements')) {\n console.log(req, event)\n\n if (req.headers.has(\"Authorization\")) {\n\n this.aS.replaceAllert((event.body?.announcements?.map(announce => {\n\n const self = cloneDeep({ // Store a reference to the object\n id: announce.id,\n priority: announce.priority,\n text: announce.text,\n message_goes_on: announce.message_goes_on,\n message_goes_off: announce.message_goes_off,\n block_users_starts: announce.block_users_starts,\n interval: interval(5000).pipe(tap(temp => {\n\n if (new Date(self.block_users_starts) <= new Date() && new Date(self.message_goes_off) > new Date() && self.block_users_starts !== null && (self.block_users_starts !== 'Thu Jan 01 1970 01:00:00 GMT+0100')) {\n\n self.priority = 'custom'; // Access object's properties using sel\n self.interval.unsubscribe();//\n this.spinner.hideAll();\n // this.navigation.home();\n } else if (new Date(announce.message_goes_off) <= new Date()) {\n\n self.interval.unsubscribe();\n this.spinner.hideAll();\n //this.navigation.home();\n } else {\n\n this.spinner.hideAll();\n }\n })).subscribe()\n });\n return self;\n }) ?? []))\n\n }\n\n return event.clone({\n body: event.body?.data\n });\n }\n }\n\n\n return event;\n }))\n /*.pipe(tap({\n next: value => {\n if (value instanceof HttpResponse) {\n this.spinner.hide();\n }\n },\n error: err => {\n this.spinner.hide();\n }\n }));*/\n } else {\n\n\n return next.handle(req).pipe(map(event => {\n\n if (event instanceof HttpResponse && !req.method.includes('get')) {\n\n if (Object.keys(event.body).includes('announcements')) {\n\n if (req.headers.has(\"Authorization\")) {\n\n\n this.aS.replaceAllert((event.body?.announcements?.map(announce => {\n\n\n const self = cloneDeep({ // Store a reference to the object\n id: announce.id,\n priority: announce.priority,\n text: announce.text,\n message_goes_on: announce.message_goes_on,\n message_goes_off: announce.message_goes_off,\n block_users_starts: announce.block_users_starts,\n interval: interval(5000).pipe(tap(temp => {\n\n if (new Date(self.block_users_starts) <= new Date() && new Date(self.message_goes_off) > new Date() && self.block_users_starts !== null && (self.block_users_starts !== 'Thu Jan 01 1970 01:00:00 GMT+0100')) {\n\n self.priority = 'custom'; // Access object's properties using sel\n self.interval.unsubscribe();\n this.spinner.hideAll();\n //this.navigation.home();\n } else if (new Date(announce.message_goes_off) <= new Date()) {\n self.interval.unsubscribe();\n this.spinner.hideAll();\n\n //this.navigation.home();\n } else {\n self.priority = 'custom';\n this.spinner.hideAll();\n\n\n }\n\n })).subscribe()\n\n });\n\n return self;\n }) ?? []))\n }\n return event.clone({\n body: event.body?.data\n });\n }\n }\n return event;\n }))\n }\n\n }\n\n}\n","import {HttpClient, HttpParams} from \"@angular/common/http\";\nimport {Injectable} from \"@angular/core\";\nimport {environment} from \"../../environments/environment\";\nimport {FILTER_TYPE, getKeyByValue} from \"../components/shared/filter/custom-filter/filter.interface\";\nimport {map} from \"rxjs/operators\";\nimport {Observable} from \"rxjs\";\nimport {refactorName} from \"../utils/generic\";\nimport {Layout, PageLayout, SectionLayout} from \"../models/layout\";\nimport {RegExpInterface} from \"../models/RegExpInterface\";\n\nconst regex_date = new RegExp(\"\\\\_\\\\-d\\\\_\", \"g\");\n\nconst regex_date_before_today = new RegExp(\"\\\\_<00\\\\_\", \"g\");\n\nconst regex_date_after_today = new RegExp(\"\\\\_>00\\\\_\", \"g\");\n\nconst regex = new RegExp(\"\\\\_\\\\-\\\\_\", \"g\");\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class LayoutServiceService {\n constructor(private http: HttpClient) {\n }\n\n getPageLayout(page: string): Observable {\n const httpHeader: Object = {\n params: new HttpParams().set(\"page\", page),\n };\n return this.http.get<_ResponseLayout>(environment.authApiUrl + \"layout/EUR\", httpHeader).pipe(\n map((res) => {\n if (res.iResponseCode != 200) {\n return null;\n } else {\n const pageLayout: PageLayout = {\n id: res.oContent.pageId,\n layouts:\n res.oContent.userPageLayouts.map((userPageLayout) => {\n const layout: Layout = {\n id: userPageLayout.layoutId,\n sectionLayouts:\n userPageLayout.layoutSections.map((layoutSection) => {\n const sectionLayout: SectionLayout = {\n id: layoutSection.layoutSectionId,\n actionset:\n layoutSection.actionsets.map((actionset) => {\n return {\n id: actionset.actionsetId,\n actions: actionset.actions.map((action) => {\n return {\n id: action.actionId,\n icon: action.actionIcon ?? \"\",\n label: action.actionLabel ?? \"\",\n enableToRow: action.actionRow,\n };\n }),\n groupable: actionset.isGroupable,\n };\n }) ?? [],\n dataset:\n layoutSection.datasets.map((dataset) => {\n return {\n id: dataset.datasetId,\n tableName: dataset.tableName,\n multiselect: dataset.isMultiselect,\n datas: dataset.lData.filter(data => !data.isHidden).map((data) => {\n return {\n id: data.dataId,\n type: data.dataType,\n columnName: data.columnName,\n columnLabel: data.columnLabel,\n columnPosition: data.columnPosition,\n editable: data.isEditable,\n selectOptions: data.filterValues ?? [],\n isPk: data.isPk,\n optionValues: [],\n valuesFrom:\n data.dataType == \"DTY_LIST\" && !data.isFixList ? data.filterValues ?? \"\" : \"\",\n radioGroup: data.radioGroup ?? [],\n isRequiredField: data.requiredField ?? false,\n maxLength: data.maxLength ?? null,\n regExpList: (data.regexpList ? JSON.parse(data.regexpList) : []) as RegExpInterface[],\n patternInfo: data.patternInfo ?? null,\n fixListValues: data.dataType == \"DTY_LIST\" && data.isFixList ? data.filterValues ?? \"\" : \"\",\n sortOrder: data.sortOrder ?? undefined,\n sortCriteria: data.sortCriteria ?? undefined,\n isResultsetLinked: data.isResultsetLinked\n };\n }),\n filterset: dataset.lData\n .filter((data) => data.isFilter)\n .map((data) => {\n data.filterTypes = data.filterTypes.sort((a, b) => {\n return a.filterRow - b.filterRow\n });\n return {\n isResultsetLinked: data.isResultsetLinked,\n columnLabel: data.columnLabel,\n columnName: refactorName(data.columnName),\n filterId: data.dataId,\n filterValueSearch: data.filterValues,\n isHide: data.isHidden,\n filterSelectedOption: {\n id: data.filterTypes[0]?.filterValue,\n name: data.filterTypes[0]?.filterDescr,\n haveSecondParam:\n regex.test(data.filterTypes[0]?.filterValue) ||\n regex_date.test(data.filterTypes[0]?.filterValue),\n haveFirstParam:\n data.filterTypes[0]?.filterValue != \"_£_\" &&\n data.filterTypes[0]?.filterValue != \"_n£_\" &&\n !regex_date_before_today.test(data.filterTypes[0]?.filterValue) &&\n !regex_date_after_today.test(data.filterTypes[0]?.filterValue),\n classes: \"\",\n },\n filterType:\n FILTER_TYPE[getKeyByValue(data.filterTypes[0]?.filterId)] ?? FILTER_TYPE.TEXT,\n filterValues: data.filterValues,\n firstValue: undefined,\n lFilterOptions: data.filterTypes.map((filter) => {\n return {\n id: filter.filterValue,\n name: filter.filterDescr,\n haveSecondParam:\n regex.test(filter.filterValue) || regex_date.test(filter.filterValue),\n haveFirstParam:\n filter.filterValue != \"_£_\" &&\n filter.filterValue != \"_n£_\" &&\n !regex_date_before_today.test(filter.filterValue) &&\n !regex_date_after_today.test(filter.filterValue),\n classes: \"\",\n };\n }),\n secondValue: undefined,\n selectedOption: \"\",\n };\n }),\n };\n }) ?? [],\n };\n return sectionLayout;\n }) ?? [],\n };\n\n return layout;\n }) ?? [],\n };\n\n return pageLayout;\n }\n })\n );\n }\n}\n\n// RESPONSE LAYOUT\n\ninterface _ResponseLayout {\n sMessage: string;\n iResponseCode: number;\n oContent: _PageLayout;\n}\n\ninterface _PageLayout {\n pageId: string;\n userEmail: string;\n appId: string;\n userPageLayouts: _Layout[];\n}\n\ninterface _Layout {\n layoutId: string;\n layoutSections: _SectionLayout[];\n}\n\ninterface _SectionLayout {\n layoutSectionId: string;\n actionsets: _ActionSet[];\n datasets: _Dataset[];\n}\n\ninterface _ActionSet {\n actionsetId: string;\n isGroupable: boolean;\n actions: _Action[];\n}\n\ninterface _Action {\n actionId: string;\n actionLabel: string | null;\n actionIcon: string | null;\n actionRow: boolean;\n}\n\ninterface _Dataset {\n datasetId: string;\n tableName: string;\n isMultiselect: boolean;\n lData: _Data[];\n}\n\ninterface _Data {\n dataId: string;\n dataType: string;\n columnName: string;\n columnLabel: string;\n columnPosition: number;\n isFilter: boolean;\n isHidden: boolean;\n isCalculated: boolean;\n isEditable: boolean;\n isExportable: boolean;\n isFixList: boolean;\n filterTypes: _FilterType[];\n filterValues: any;\n isPk: boolean;\n radioGroup: string[] | undefined | null;\n regexpList: string | undefined | null;\n patternInfo: string | undefined | null;\n maxLength: number | undefined | null;\n requiredField: boolean | undefined | null;\n sortOrder?: number;\n sortCriteria?: 'asc' | 'desc';\n isResultsetLinked: boolean;\n}\n\ninterface _FilterType {\n \"filterId\": string,\n \"filterRow\": number,\n \"filterDescr\": string,\n \"filterValue\": string\n}\n\n\n","import {Injectable} from '@angular/core';\nimport {\n HttpInterceptor,\n HttpEvent,\n HttpResponse,\n HttpRequest,\n HttpHandler,\n HttpErrorResponse, HttpHeaderResponse, HttpResponseBase\n} from \"@angular/common/http\";\nimport {Observable, throwError} from \"rxjs\";\nimport {map, filter, tap, finalize, catchError} from 'rxjs/operators';\nimport {MessagingService} from \"./utils/messaging.service\";\n\n@Injectable()\nexport class HttpLoggerInterceptor implements HttpInterceptor {\n\n constructor(private messenger: MessagingService) {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const started = Date.now();\n let response: {\n ok: string,\n request: any,\n response: any,\n header?: any\n }\n\n return next.handle(req).pipe(\n map(event => {\n if (event instanceof HttpResponse) {\n response = {\n ok: event.status + ' - ' + event.statusText,\n response: event,\n request: req\n }\n const elapsed = Date.now() - started;\n const msg = `${req.method} \"${req.urlWithParams}\"\n ${response.ok} in ${elapsed} ms.`;\n this.messenger.add(started, req.method, response.ok, req.urlWithParams, msg, response);\n }\n return event;\n }),\n catchError((error: HttpErrorResponse) => {\n const response = {\n ok: error.status + ' - ' + error.statusText,\n response: error,\n request: req\n }\n const elapsed = Date.now() - started;\n const msg = `${req.method} \"${req.urlWithParams}\"\n ${response.ok} in ${elapsed} ms.`;\n this.messenger.add(started, req.method, response.ok, req.urlWithParams, msg, response);\n return throwError(() => error);\n })\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {BehaviorSubject} from 'rxjs';\nimport {NavItem} from \"../models/NavItem\";\n\n@Injectable()\nexport class NavService {\n public appDrawer: any;\n public currentUrl = new BehaviorSubject('');\n public selectedItem?: NavItem;\n\n constructor(private router: Router) {\n this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationEnd) {\n this.currentUrl.next(event.urlAfterRedirects);\n }\n });\n }\n\n public closeNav() {\n this.appDrawer.toggle();\n }\n\n public openNav() {\n this.appDrawer.toggle();\n }\n}\n","import {Injectable} from '@angular/core';\n\n\ninterface SPINNER_SEQ {\n name: string;\n load: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SpinnerService {\n\n numOfSpinner: SPINNER_SEQ[] = [];\n\n spinnerTitles: string[] = [];\n\n loading: boolean = false;\n\n isBlocked: boolean = false;\n\n\n constructor() {\n }\n\n hide(name: string = 'data', debounce: number = 10) {\n this.spinnerTitles.shift();\n if (this.numOfSpinner.filter(spinner => spinner.name == name && spinner.load > 1).length > 0) {\n this.numOfSpinner = this.numOfSpinner.map(spinner => {\n if (spinner.name == name) {\n spinner.load -= 1;\n }\n return spinner;\n })\n } else {\n this.numOfSpinner = this.numOfSpinner.filter(spinner => spinner.name != name)\n if (this.loading) {\n setTimeout(() => {\n this.loading = false;\n });\n }\n\n }\n }\n\n show(name: string = 'data') {\n if (this.numOfSpinner.filter(spinner => spinner.name == name).length > 0) {\n this.numOfSpinner = this.numOfSpinner.map(spinner => {\n if (spinner.name == name) {\n spinner.load += 1;\n }\n return spinner;\n })\n } else {\n this.numOfSpinner.push({\n name: name,\n load: 1\n });\n setTimeout(() => {\n this.loading = true;\n });\n }\n\n }\n\n showWithTitle(name: string = 'data', title: string) {\n this.spinnerTitles.push(title);\n if (this.numOfSpinner.some(spinner => spinner.name == name)) {\n this.numOfSpinner = this.numOfSpinner.map(spinner => {\n if (spinner.name == name) {\n spinner.load += 1;\n }\n return spinner;\n })\n\n\n } else {\n this.numOfSpinner.push({\n name: name,\n load: 1\n });\n setTimeout(() => {\n this.loading = true;\n });\n }\n\n }\n\n hideAll() {\n this.numOfSpinner = [];\n if (this.loading) {\n setTimeout(() => {\n this.loading = false;\n });\n }\n\n }\n\n unblock() {\n this.isBlocked = false;\n }\n\n block() {\n this.isBlocked = true;\n }\n}\n","import { EventEmitter, Injectable, Output } from '@angular/core';\nimport * as _ from 'lodash';\nimport { BehaviorSubject, Observable, of } from \"rxjs\";\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { PageEventType } from '../components/shared/custom-table-paginator/custom-table-paginator.component';\nimport { IMultiSelectOption } from '../components/shared/custom-multiselect/types';\nimport { cloneDeep } from 'lodash';\n\n@Injectable()\nexport class TableControllerService {\n\n dataSet: any[] = [];\n deletedRows: any[] = [];\n\n row: any;\n rowNumber: number = -1;\n selectedRow: any[] = [];\n elemLoaded: Observable = of(this.dataSet?.length);\n\n selection = new SelectionModel(true, []);\n\n numElementsLoaded: number = 0;\n numElementsSize: number = 0;\n\n public _filterValues: BehaviorSubject = new BehaviorSubject({})\n\n public filterValues = this._filterValues.asObservable();\n\n @Output()\n onPaginationChange: EventEmitter =\n new EventEmitter();\n\n selectableValuesMap: Map = new Map<\n string,\n IMultiSelectOption[]\n >();\n\n @Output()\n onSortChange: EventEmitter<{\n sorting: Map;\n pageEvent: PageEventType;\n }> = new EventEmitter<{\n sorting: Map;\n pageEvent: PageEventType;\n }>();\n\n sortedColumns: Map =\n new Map();\n\n\n private errors: Map> = new Map>()\n\n public validateActions: Map = new Map()\n\n public columnWeight: {} = {};\n\n public columnSize: {} = {};\n\n\n constructor() {}\n\n onAddClick(newRowObj: any) {\n newRowObj.newRow = true;\n\n newRowObj = this.customizeAfterAddClick(newRowObj);\n\n if (!!this.dataSet && this.dataSet.length > 0) {\n this.dataSet = [_.cloneDeep(newRowObj), ...this.dataSet];\n this.row = this.dataSet[this.rowNumber + 1]\n } else {\n this.dataSet = [_.cloneDeep(newRowObj)];\n }\n\n return this.dataSet;\n }\n\n customizeAfterAddClick(newRowObj:any){\n return newRowObj;\n }\n\n editRow(index: number) {\n ////(this.dataSet![index]);\n this.dataSet[index].backup = _.cloneDeep(this.dataSet[index]);\n this.dataSet[index].editing = true;\n }\n\n exitRow(index: number) {\n if (!!this.dataSet[index].newRow) {\n this.dataSet.splice(index, 1);\n //delete this.dataSet[index].newRow;\n this.dataSet[index];\n } else {\n this.dataSet[index] = this.dataSet[index].backup;\n }\n }\n\n saveRow(index: number) {\n delete this.dataSet[index]['newRow'];\n this.dataSet[index].checked = true;\n\n return this.dataSet;\n }\n\n commitEdit(index: number) {\n delete this.dataSet[index]['editing'];\n }\n\n commitEditDetail(index: number) {\n this.rowNumber = index;\n if (!!this.dataSet) this.row = this.dataSet[index];\n }\n\n saveAll(rows: any) {\n ////('rows to save:', rows);\n ////('rows to delete:', this.deletedRows);\n this.deletedRows = [];\n }\n\n deleteRow(index: number, rollback: boolean = false) {\n this.rowNumber = index;\n if(rollback){\n delete this.dataSet[index].deleted;\n this.deletedRows = this.dataSet.filter(elem => elem.deleted);\n }\n\n if (this.dataSet[index].newRow == undefined && !rollback) {\n this.deletedRows.push(this.dataSet[index]);\n console.log(this.deletedRows)\n //this.dataSet.splice(index, 1);\n ////('existing row deleted.');\n } else {\n //this.dataSet!.splice(index, 1);\n ////('new row deleted.');\n }\n return this.dataSet;\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = !!this.selection ? this.selection.selected.length : 0;\n const numRows = !!this.dataSet ? this.dataSet.length : 0;\n return !!this.dataSet ? numSelected === numRows : false;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n toggleAllRows() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n\n this.selection.select(...this.dataSet);\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${\n row.position + 1\n }`;\n }\n\n inError() {\n //console.log(this.errors)\n return [...this.errors.values()].some((value) => {\n return [...value.values()].some((value) => value)\n })\n }\n\n getErrors(i: number, columnName: any) {\n if(this.errors.has(i)){\n if(this.errors.get(i)!.has(columnName)){\n return this.errors.get(i)!.get(columnName);\n }else{\n this.errors.get(i)!.set(columnName, false);\n return this.errors.get(i)!.get(columnName);\n }\n }else{\n this.errors.set(i, (new Map()).set(columnName, false));\n return this.errors.get(i)!.get(columnName);\n }\n }\n\n deleteErrors(i: number) {\n if(this.errors.has(i)){\n this.errors.delete(i);\n }\n }\n\n setErrors($event: boolean, i: number, columnName: any, isDisabled: boolean = false) {\n if(!isDisabled)\n this.errors.get(i)?.set(columnName, $event);\n }\n\n public invokeFunction(key: string, ...args: any[]): boolean {\n const func = this.validateActions.get(key);\n if (func) {\n return func(...args);\n }\n return true;\n }\n\n calculateColumnWidth() {\n\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams} from \"@angular/common/http\";\nimport {environment} from \"../../environments/environment\";\nimport {map} from \"rxjs/operators\";\nimport {Observable} from \"rxjs\";\nimport {AppTranslation} from \"../models/AppTranslation\";\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class TranslationService\n{\n\n\tconstructor(private httpClient: HttpClient) { }\n\n\tgetLanguage(lang: string)\n\t{\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams().set('language-id', lang)\n\t\t};\n\t\treturn this.httpClient.get(\n\t\t\tenvironment.apiUrl + 'translation/app-translation',\n\t\t\thttpHeader\n\t\t).pipe(\n\t\t\tmap(res =>\n\t\t\t{\n\t\t\t\tif (res && res['oContent'] && res['oContent']['content'])\n\t\t\t\t{\n\t\t\t\t\treturn JSON.parse(res['oContent']['content'])\n\t\t\t\t}\n\t\t\t\treturn res\n\t\t\t})\n\t\t);\n\t}\n\n\tgetAvailableTranslations(languageId: string, first: number, rows: number, totalRecords: number, translationId: string, value: string ): Observable\n\t{\n\t\tlet page: number = totalRecords === 0 ? 0 : first / rows;\n\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams().set(\"language-id\", languageId).set(\"size\", rows).set(\"page\", page)\n\t\t\t.set(\"translation-id\", translationId).set(\"value\", value)\n\t\t};\n\t\treturn this.httpClient.get>(\n\t\t\t//'http://localhost:8082/v1/app-translation/list-paginated',\n\t\t\tenvironment.apiUrl + 'translation/app-translation/list-paginated',\n\t\t\thttpHeader\n\t\t);\n\t}\n\n\tupdateTranslation(recordToUpdate: AppTranslation): Observable\n\t{\n\n\t\treturn this.httpClient.put(\n\t\t\tenvironment.apiUrl + 'translation/app-translation',\n\t\t\trecordToUpdate\n\t\t);\n\n\t}\n\n\tinsertTranslation(recordToUpdate: AppTranslation): Observable\n\t{\n\n\t\treturn this.httpClient.post(\n\t\t\tenvironment.apiUrl + 'translation/app-translation',\n\t\t\trecordToUpdate\n\t\t);\n\n\t}\n\n\tdeleteTranslation(languageId: string, translationId: string): Observable\n\t{\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams().set(\"language-id\", languageId).set(\"translation-id\", translationId)\n\t\t};\n\t\treturn this.httpClient.delete(\n\t\t\tenvironment.apiUrl + 'translation/app-translation',\n\t\t\thttpHeader\n\t\t);\n\n\t}\n\n\texportTranslation(appId: string, languageId: string): Observable\n\t{\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams().set(\"language-id\", languageId),\n\t\t\tresponseType: 'blob'\n\t\t};\n\t\treturn this.httpClient.get(environment.apiUrl + 'translation/app-translation/export-upload-excel', httpHeader)\n\t}\n\n\timportTranslation(languageId: string, formData: FormData): Observable\n\t{\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams().set(\"language-id\", languageId)\n\t\t};\n\n\t\t// Make the POST request to the backend\n\t\treturn this.httpClient.post(environment.apiUrl + 'translation/app-translation/upload-excel', formData, httpHeader);\n\t}\n\n\tdeleteTranslations(languageId: string, body: AppTranslation[]): Observable\n\t{\n\t\t// Make the POST request to the backend\n\t\treturn this.httpClient.post(environment.apiUrl + 'translation/app-translation/delete-translations', body);\n\t}\n\n\tgetAvailableLanguages()\n\t{\n\t\tconst httpHeader: Object = {\n\t\t\tparams: new HttpParams()\n\t\t};\n\t\treturn this.httpClient.get>(\n\t\t\tenvironment.apiUrl + 'translation/app-language/available-languages',\n\t\t\thttpHeader\n\t\t);\n\t}\n\n\n}","import {Injectable, Optional, SkipSelf} from \"@angular/core\";\nimport {cloneDeep} from \"lodash\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MessagingService {\n\n enable: boolean = false;\n\n constructor(@Optional() @SkipSelf() sharedService?: MessagingService) {\n if (sharedService) {\n throw new Error('MessagingSerivce is already loaded')\n }\n }\n\n add(instant: number, httpMethod: string, httpStauts: string, httpUrlWithParma: string, message: string, obj: any) {\n if (!this.enable) {\n return;\n }\n const log = {\n httpMethod: httpMethod,\n httpStauts: httpStauts,\n httpUrlWithParma: httpUrlWithParma,\n message: message,\n http: obj\n }\n const httpLog = sessionStorage.getItem('httpLog');\n if (!!httpLog) {\n let logs = JSON.parse(httpLog);\n logs['' + instant] = cloneDeep(log);\n sessionStorage.setItem('httpLog', JSON.stringify(logs));\n } else {\n let logs = {};\n logs['' + instant] = cloneDeep(log);\n sessionStorage.setItem('httpLog', JSON.stringify(logs));\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Location} from '@angular/common'\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {DialogComponent} from \"../../components/shared/dialog/dialog.component\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport * as _ from 'lodash';\nimport {NavItem} from \"../../models/NavItem\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigationService {\n\n private history: string[] = []\n\n private navItems: NavItem[] = []\n\n constructor(\n private router: Router,\n private location: Location,\n public dialog: MatDialog\n ) {\n // Listen to router events of type NavigationEnd to\n // manage an app-specific navigation history.\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n if (this.history.length > 0) {\n const fromUrl = this.history.pop();\n const toUrl = event.urlAfterRedirects;\n if (((fromUrl?.split('?')[0]) ?? '') == (toUrl.split('?')[0])) {\n this.history.push(event.urlAfterRedirects);\n } else {\n this.history.push(fromUrl ?? toUrl);\n this.history.push(toUrl);\n }\n } else {\n this.history.push(event.urlAfterRedirects);\n }\n\n }\n })\n }\n\n setNavigationItems(navItems: NavItem[]) {\n this.navItems = navItems;\n }\n\n getNavigationItems() {\n return this.navItems;\n }\n\n changeQueryParmas(url: string) {\n return this.find_nested_link(this.navItems, url);\n }\n\n private find_nested_link = (menuList: NavItem[], path) => (\n menuList.reduce((found, item) => {\n if (found) return found\n if (item.children && item.children.length > 0) {\n return this.find_nested_link(item.children, path)\n }\n\n return item.route == path ? item.pageId : null\n }, null)\n )\n\n\n /**\n * Manage back navigation.\n */\n back(): void {\n this.history.pop();\n\n // If the history still contains entries after popping\n // the current URL off of the stack, we can safely\n // navigate back. Otherwise we're falling back to the\n // application root.\n if (this.history.length > 0) {\n const history = this.history.pop();\n if (!!history) {\n this.router.navigateByUrl(history);\n } else {\n this.location.back();\n }\n\n } else {\n this.router.navigateByUrl('/');\n }\n }\n\n home() {\n this.router.navigateByUrl('/');\n }\n\n compareAndBack(masterFrom: any, compareTo: any) {\n if (!_.isEqual(masterFrom, compareTo)) {\n const dialogRef = this.dialog.open(DialogComponent, {\n data: {\n title: 'Unsaved changes',\n content: `If you leave this page the creations or changes you have made so far will not be saved. How would you like to proceed?`,\n cancelButtonLabel: 'Stay',\n cancelButtonColor: 'basic',\n confirmButtonLabel: 'Leave',\n confirmButtonColor: 'accent',\n },\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res && res == true) {\n this.back()\n }\n });\n } else {\n this.back()\n }\n }\n\n goTo(api: string, param: { id: string; title: string }, compare: boolean = true) {\n if (compare) {\n if (localStorage.getItem('changes') == 'true') {\n const dialogRef = this.dialog.open(DialogComponent, {\n data: {\n title: 'Unsaved changes',\n content: `If you leave this page the creations or changes you have made so far will not be saved. How would you like to proceed?`,\n cancelButtonLabel: 'Stay',\n cancelButtonColor: 'basic',\n confirmButtonLabel: 'Leave',\n confirmButtonColor: 'accent',\n },\n });\n\n dialogRef.afterClosed().subscribe((res) => {\n if (res && res == true) {\n this.router.navigate([api], {queryParams: param})\n }\n });\n\n } else {\n this.router.navigate([api], {queryParams: param})\n }\n } else {\n this.router.navigate([api], {queryParams: param})\n }\n }\n}\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-test-component',\n templateUrl: './test-component.component.html',\n styleUrls: ['./test-component.component.scss']\n})\nexport class TestComponentComponent implements OnInit {\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","

test-component works!

\n","import {cloneDeep} from \"lodash\";\n\nexport const TABLE_STYLE = `\n\n\n`;\n\nexport const removeItemFromLocalstorage = (\n item: string,\n posStart?: number,\n posEnd?: number\n) => {\n if (!!posStart && !!posEnd) {\n Object.entries(localStorage)\n .map((x) => x[0])\n .filter((x) =>\n !!posEnd && posEnd > posStart\n ? x.substring(posStart, posEnd) == item\n : x.substring(posStart) == item\n )\n .map((x) => localStorage.removeItem(x));\n } else {\n Object.entries(localStorage)\n .map((x) => x[0])\n .filter((x) => x.startsWith(item))\n .map((x) => {\n ////(x);\n localStorage.removeItem(x);\n });\n }\n};\n\nexport const splitFilter = (item: string) => {\n if (item.includes(':')) {\n const fv = item.split(':');\n return {\n key: fv[0],\n value: fv[1],\n compare: ':',\n };\n //return item.split(':').push(':')\n } else if (item.includes('<')) {\n const fv = item.split('<');\n return {\n key: fv[0],\n value: fv[1],\n compare: '<',\n };\n //return item.split('<').push('<')\n } else if (item.includes('>')) {\n const fv = item.split('>');\n return {\n key: fv[0],\n value: fv[1],\n compare: '>',\n };\n //return item.split('>').push('>')\n } else if (item.includes('=')) {\n const fv = item.split('=');\n return {\n key: fv[0],\n value: fv[1],\n compare: '=',\n };\n //return item.split('=').push('=')\n } else if (item.includes('~')) {\n const fv = item.split('~');\n return {\n key: fv[0],\n value: fv[1],\n compare: '~',\n };\n //return item.split('~').push('~')\n } else if (item.includes('!')) {\n const fv = item.split('!');\n return {\n key: fv[0],\n value: fv[1],\n compare: '!',\n };\n //return item.split('!').push('!')\n } else if (item.includes('^')) {\n const fv = item.split('^');\n return {\n key: fv[0],\n value: fv[1].replace(/[\\])}[{(]/g, ''),\n compare: '!',\n };\n //return item.split('!').push('!')\n }\n return null;\n};\n\n/*export const groupBy = (\n objectArray: any[],\n property: string,\n compareTo: string\n) => {\n return objectArray.reduce((acc, obj) => {\n const key = obj[property];\n if (!acc[key]) {\n acc[key] = [];\n }\n if (!acc[key].some((e) => e[compareTo] === obj[compareTo]))\n acc[key].push(obj);\n return acc;\n }, {});\n};*/\n\nexport const reviver = (key, value) => {\n if (typeof value === 'object' && value !== null) {\n if (value.dataType === 'Map') {\n return new Map(value.value);\n }\n }\n return value;\n};\n\nexport const replacer = (key, value) => {\n if (value instanceof Map) {\n return {\n dataType: 'Map',\n value: Array.from(value.entries()), // or with spread: value: [...value]\n };\n } else {\n return value;\n }\n};\n\nexport const refactorName = (columnName) => {\n const string = columnName\n .toLowerCase()\n .replace(/(^|_)./g, (s) => s.slice(-1).toUpperCase());\n return string.charAt(0).toLowerCase() + string.slice(1);\n //return columnName.toLowerCase().split('').map((value, index, array)=>index===0?value:(value.charAt(0).toUpperCase()+value.splice(1))).join('')\n};\n\nexport const camelToSnakeCase = (str) => {\n return (str.split(/(?=[A-Z])/g).join('_')).toUpperCase();\n};\n\nexport const keyExistsIn = (obj, key) => {\n //////(key, key in obj);\n return key in obj;\n};\n\nexport const hasSubArray = (master: any[], sub: any[]) => {\n /*if (sub.every((i => v => i = master.indexOf(v, i) + 1)(0))) {\n return master;\n }\n return master.concat(sub);*/\n sub.forEach(elem => {\n const index = master.findIndex(e => e == elem);\n if (index !== -1) {\n master[index] = elem;\n } else {\n master.push(elem);\n }\n })\n return cloneDeep(master);\n\n}\n\nexport const RegexParser = (input) => {\n\n // Validate input\n if (typeof input !== \"string\") {\n throw new Error(\"Invalid input. Input must be a string\");\n }\n\n // Parse input\n var m = input.match(/(\\/?)(.+)\\1([a-z]*)/i);\n\n if (m == null) {\n throw new Error(\"No regexp found\");\n }\n\n // Invalid flags\n if (m[3] && !/^(?!.*?(.).*?\\1)[gmixXsuUAJ]+$/.test(m[3])) {\n return RegExp(input);\n }\n\n // Create the regular expression\n return new RegExp(m[2], m[3]);\n};\n\nexport const isBefore = (date1, date2) => {\n\n let parts = date1?.split('/');\n\n if (!!date1) {\n if (!!parts && parts[1]?.length == 1) parts[1] = '0' + parts[1];\n if (!!parts && parts[0]?.length == 1) parts[0] = '0' + parts[0];\n\n date1 = Number(parts[2] + parts[1] + parts[0]);\n }\n\n if (!!date2) {\n parts = date2?.split('/');\n\n if (!!parts && parts[1]?.length == 1) parts[1] = '0' + parts[1];\n if (!!parts && parts[0]?.length == 1) parts[0] = '0' + parts[0];\n\n date2 = Number(parts[2] + parts[1] + parts[0]);\n }\n\n return date1 < date2;\n}\n\nexport function css(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\n\nexport function get_tex_size(txt, elTag) {\n const element = document.createElement('canvas');\n let context = element.getContext(\"2d\");\n if (context) {\n context.font = css(document.getElementsByTagName(elTag)[0], 'font');\n return {'width': context.measureText(txt).width, 'height': parseInt(context.font)};\n }\n\n return {'width': 0, 'height': 0}\n\n}\n\n\nexport function transformIdToValueFromList(column: any, defaultValue: string, dataSetElementElement: any): string {\n return column.optionValues.filter(\n (option) => option.id == dataSetElementElement\n )[0]?.name ?? defaultValue;\n}\n","export const version = '1.1.4'\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json.json`.\n\nexport const environment = {\n production: false,\n stsAuthority: window[\"env\"].stsAuthority || \" \",\n clientId: window[\"env\"].clientId || \" \",\n clientRoot: window.location.hostname,\n clientScope: window[\"env\"].clientScope || \" \",\n apiRoot: window[\"env\"].apiRoot || \" \",\n apiUrl: window[\"env\"].apiUrl || \" \",\n authApiUrl: window[\"env\"].authApiUrl || \" \",\n blobConnection: window[\"env\"].blobConnection || \" \",\n blobContainer: window[\"env\"].blobContainer || \" \",\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import {enableProdMode} from '@angular/core';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\n\nimport {AppModule} from './app/app.module';\nimport {environment} from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n"],"names":["isDevMode","BehaviorSubject","filter","forkJoin","interval","of","Subject","takeUntil","MSAL_GUARD_CONFIG","InteractionStatus","cloneDeep","catchError","tap","i0","_r5","ctx_r15","ctx_r17","_r7","ctx_r4","_r10","AppComponent","constructor","msalGuardConfig","msalService","broadcastService","authService","clipboard","navService","changeDetectorRef","media","navigation","translate","httpService","swUpdate","spinner","ngZone","allertService","translationService","_ShowTableSubject","asObservable","instance","getActiveAccount","_a","username","checkVersion","mobileQuery","matchMedia","_mobileQueryListener","detectChanges","addListener","getAllertByValidity","subscribe","res","replaceAllert","oContent","map","announce","self","id","priority","text","message_goes_on","message_goes_off","block_users_starts","pipe","temp","Date","unsubscribe","pagesInit","_b","drawer","appDrawer","ngOnInit","isLoading","defualtLanguage","selectedLanguage","getItem","addLangs","defaultLang","currentLang","getTranslationsForDefault","getTranslation","setCurrentLanguageAndGetTranslation","getAvailableLanguages","defaultTranslation","currentTranslation","availableLanguages","error","caught","console","setTranslation","localStorage","setItem","inProgress$","status","None","_destroying$","isLoggedIn","getAllAccounts","length","setActiveAccount","nameBS","next","name","emailBS","getUser","JSON","parse","ngAfterViewChecked","ngOnDestroy","undefined","complete","getToken","String","copyToken","ShowTableSubject","token","copy","login","authRequest","loginRedirect","Object","idToken","logout","getMenu","navItems","roleBS","getPages","setNavigationItems","selectors","viewQuery","_r1","_r3","HttpParams","firstValueFrom","lastValueFrom","DndComponent","saveAs","ALERT_TYPE","_","DialogComponent","ctx_r11","ctx_r12","ctx_r13","ctx_r24","ctx_r27","ctx_r30","ctx_r36","ctx_r37","ctx_r41","document_r39","ctx_r44","_r18","DocumentsComponent","msalBroadcastService","router","route","layoutService","dialog","generalDataService","_location","alertService","pageIndex","previousPageIndex","loader","size","DOCUMENTS_ID","DOCUMENT_TYPE","EXPIRED","FILE_NAME","FILE_PATH","L_DOCUMENTS","SECTION","files","hideAll","queryParams","params","pageId","layoutsString","layouts","pageLayout","Math","abs","getTime","layout","catchAllSelectedOptions","show","getPageLayout","instant","stringify","hide","refreshData","parent","url","segments","join","finalParentUrl","apiParent","onSearch","savedPaginator","Map","Array","page","sorting","filters","refresh","getDocuments","apiUrl","sp","then","archives","log","finally","sectionLayouts","forEach","sectionLayout","dataset","datas","data","valuesFrom","getSelectionOption","optionValues","onAddSection","toSend","isNewSection","newSection","postDataDetail","uploadDoc","documentsId","dialogEvent","open","title","code","message","btn","type","afterClosed","dndResponse","send","uploadFiles","file","includes","i","uploadAttachment","value","add","SUCCESS","timeout","selfClose","err","WARNING","catch","deleteArchive","dialogRef","content","cancelButtonLabel","cancelButtonColor","confirmButtonLabel","confirmButtonColor","dialogueResponse","deleteDoc","archId","deleteAttachment","l","l2","downloadAttachment","fileName","renameSection","archive","section","saveSection","decls","vars","consts","template","loadAsync","ctx_r2","ctx_r6","FunctionsComponent","usermail","emailObs","addAlert","PRIMARY","onChange","event","getMimeTypeFromBlob","blob","Promise","resolve","reject","reader","FileReader","onload","arrayBuffer","result","bytes","Uint8Array","mimeType","getMimeTypeFromByteArray","onerror","readAsArrayBuffer","byteArray","header","slice","MAX_RETRY_ATTEMPTS","RETRY_DELAY_MS","getDetail","pictureMaxSize","INFO","zip","filesInZip","saveFile","loadedDoc","maxElemloaded","entries","batchSize","fileEntries","numBatches","ceil","processedBatches","retryRequest","damageId","zippedFile","fileType","retryCount","uploadDocZipped","setTimeout","batchIndex","batch","promises","entry","key","fileInZip","fileDataBlob","async","File","split","all","deleteProblem","isDeletingProblem","delete","problemList","moveDamageFile","moveProblemFile","moveCardFile","moveOtherFile","changeLayer","deleteAllFiles","deleteAllScorecardFiles","moveScorecardFile","moveScorecardProblemFile","fixDuplicates","ctx","HomeComponent","user","validUser","some","u","EventEmitter","FormControl","startWith","ctx_r3","option_r2","CustomAutocompleteComponent","ngOnChanges","filteredOptions","myControl","valueChanges","_filter","filterValue","toLowerCase","options","option","onOptionChange","optionChange","emit","inputs","placeholder","required","outputs","features","_r0","ctx_r7","ctx_r8","CustomSelectComponent","defaultValue","values","changes","filterValues","currentValue","preventIdChange","find","elem","defaultValueChange","columnChange","columnName","onSearchValueChange","toUpperCase","searchValue","openedChange","panel","selectElement","nativeElement","scrollTop","searchInput","_c","focus","keyExistsIn","CdkVirtualScrollViewport","ctx_r29","ctx_r32","ctx_r35","ctx_r38","ctx_r51","ctx_r54","action_r47","ctx_r58","ctx_r62","ctx_r64","ctx_r66","ctx_r68","ctx_r70","ctx_r72","ctx_r79","ctx_r82","ctx_r86","ctx_r90","ctx_r94","ctx_r102","column_r96","ctx_r109","$event","ctx_r106","ctx_r134","ctx_r142","_r140","_r132","ctx_r160","ctx_r168","ctx_r176","_r174","_r166","_r158","_r125","ctx_r209","ctx_r212","column_r114","ctx_r202","ctx_r221","ctx_r231","ctx_r234","ctx_r230","ctx_r243","ctx_r251","ctx_r262","ctx_r266","_r260","_r204","_r117","ctx_r294","ctx_r297","ctx_r300","ctx_r303","ctx_r306","ctx_r309","ctx_r312","ctx_r315","ctx_r318","ctx_r322","ctx_r325","ctx_r328","ctx_r331","ctx_r334","ctx_r337","ctx_r340","ctx_r343","ctx_r349","ctx_r353","_r292","ctx_r358","dataRow_r104","ctx_r16","DataTableComponent","ngAfterContentChecked","getDataset","change","ngAfterViewInit","tableController","calculateColumnWidth","table","tableTr","trWidth","viewPort","elementRef","offsetWidth","totalSizeColumn","keys","columnWeight","reduce","accumulator","columnSize","floor","onCheckboxClick","editRow","index","editRowId","action","commitEditDetail","actionEmitter","exitRow","dataSet","commitEdit","rowNumber","newRow","datasets","column","backup","obj","onInputChange","edited","onAddClick","newRowObject","defaultCheckedValue","indexOf","onRowClick","deleteRow","rollback","cancelClaimRow","selection","selected","row","deletedRows","push","saveRow","isEditing","onCancelClick","onPageChange","pageEvent","onPaginationChange","endsWith","onActionEmit","convertValue","dataSetElementElement","onRadioButtonClick","radioGroup","sortColumn","poolMap","sortedColumns","set","get","order","_d","_e","_f","_g","maxIndex","onSortChange","onClearSortClick","compare","act","inverseOfTranslation","offset","getOffsetToRenderedContentStart","calculateContainerHeight","numberOfItems","itemHeight","visibleItems","cdkVirtualScrollViewport","checkViewportSize","onResetSortClick","onResetSort","actReportAction","actReport","actionsets","actions","actAddLanguage","actExportReportAction","FILTER_TYPE","ctx_r10","ctx_r18","ctx_r20","ctx_r21","ctx_r23","ctx_r31","ctx_r33","ctx_r40","ctx_r42","ctx_r46","_r25","ctx_r48","ctx_r50","ctx_r56","ctx_r0","CustomFilterComponent","displayAllSelectedText","itemClasses","closeOnClickOutside","pullRight","enableSearch","searchRenderLimit","searchRenderAfter","searchMaxLimit","searchMaxRenderedItems","checkedStyle","buttonClasses","containerClasses","selectionLimit","minSelectionLimit","closeOnSelect","autoUnselect","showCheckAll","showUncheckAll","fixedTitle","dynamicTitleMaxItems","maxHeight","isLazyLoad","stopScrollPropagation","loadViewDistance","selectAddedValues","ignoreLabels","maintainSelectionOrderInTitle","focusBack","filterModel","filterSelectedOption","lFilterOptions","f","filterModelChange","onFirstFilterChange","firstValue","onSecondFilterChange","secondValue","onClearClick","onEnter","onEnterEmit","attrs","forwardRef","NG_VALUE_ACCESSOR","MULTISELECT_VALUE_ACCESSOR","provide","useExisting","MultiSelectComponent","multi","filterOptions","oncSelectionChange","writeValue","registerOnChange","fn","registerOnTouched","onTouched","TableControllerService","FilterControllerService","get_tex_size","hasSubArray","refactorName","replacer","reviver","transformIdToValueFromList","first","SaveConfirmComponent","ctx_r9","sectionLayout_r2","ctx_r5","GeneralComponent","filterController","translateService","titlePageTranslate","_routeUrl","_interactionCycle","getQueryParam","_pageCycle","_LayoutSubject","savedFilter","sessionStorage","dts","validateActions","STATUS","customizeAfterAddClick","newRowObj","lDocuments","searchSubscription","url$","srtdClmns","newFilter","titlePage","sorted","flt","filterModels","onFilterClick","DANGER","isSearching","_filterList","model","isHide","haveSecondParam","checkStringOrNumberValidity","haveFirstParam","filterType","MULTI_SELECTION","refreshViewedFilter","clear","onExportAllClick","stopPropagation","savedParams","pop","exportDataExcel","sort","a","b","append","showWithTitle","getData","numElementsLoaded","numElementsSize","totalElements","_filterValues","calculateSizeComplete","actionCatcher","startsWith","cancelBtn","importExcel","stringResponse","response","iResponseCode","reportEndUseRegime","sResponseMessage","deleteData","splice","committedRow","dateRow","_h","_j","_k","_l","validDate","dateRowAnalyze","filter_row","editing","checked","postData","_m","allButtonLabel","allButtonColor","valid","cmtedRow","_o","_p","_q","_r","myselection","r","deleteOneRow","refreshDocumentData","getDocumentsById","attachments","isResultsetLinked","replaceFilterValues","fixListValues","list","filterset","SELECTION","filterValueSearch","transform","ats","actionset","filterSettings","oldFilters","newFilters","flatMap","flts","fltInt","filterId","columnLabel","selectedOption","_s","_t","_u","_v","_w","filterString","dtArray","from","Set","_x","sl","ds","d","sortOrder","_y","sortCriteria","every","dateValue","isValidDate","dateString","regex","test","resetFilter","isResetting","researchString","replaceArray","match","substr","toReplace","raplaceWith","replace","calculateSize","sizes","dataSize","j","objIndex","width","has","hasOwnProperty","widthSize","columnDetail","translateServiceText","newWidthSize","resetSort","arrSum","acc","curr","idx","arrSumPosition","max","hostAttrs","HttpHeaders","environment","GeneralService","httpClient","apiPath","rows","httpoptions","post","postOneData","patch","exportRows","responseType","httpHeader","getSelectionOptionForId","authApiUrl","getVersion","getDataDetail","deleteDetailData","idsToDelete","changeStatus","put","s","formData","FormData","reportProgress","headers","uploadDocInDocs","api","uploadFile","chunkSize","totalChunks","filename","chunkNumber","start","end","min","chunk","uploadChunk","toString","file_type","deleteDocument","documentId","parent2","parentType","path","report","downloadDocument","downloadCard","cardIds","deleteDocOrPhoto","doc","downloadAllDocument","DAMAGE_ID","uploadLoadingCard","getDataById","uploadPictures","problemId","downloadPictures","pictureElement","isZip","downloadPicture","deletePicture","pictureId","getSelectionOptionWithFilter","utilProblem","strings","createDamageOTM","sWh","rWh","damageType","sendingDate","receivingDate","truckPlate","trailerPlate","carrierId","wagon","container","deliveryModeId","delieryTypeId","despQty","createDamage","changeStatusScorecard","utilMoveDamage","utilMoveProblem","utilMoveCard","utilMoveFile","factory","providedIn"],"sourceRoot":"webpack:///"}