{"version":3,"file":"main.js","mappings":"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C,IAAY,KAAI;EACjE37C,KAAK,CAAC0F,IAAI,CAACi2C,IAAI,CAAC,CAAC1pD,OAAO,CAACoO,CAAC,IAAIq7C,IAAI,CAAC/tC,MAAM,CAACtN,CAAC,CAAC,CAAC;EAC7C,OAAOq7C,IAAI;AACb,CAAC;;;;;;;;;;;;;;;ACrEM,MAAM5zD,WAAW,GAAgB;EACtC8zD,UAAU,EAAE,KAAK;EACjB9xD,MAAM,EAAE,wCAAwC;EAChD+xD,SAAS,EAAE,gCAAgC;EAC3CC,oBAAoB,EAAE,+DAA+D;EACrFrzD,KAAK,EAAE;IACLszD,gBAAgB,EAAE,qFAAqF;IACvGpzD,QAAQ,EAAE,sCAAsC;IAChDD,SAAS,EAAE,qBAAqB;IAChCigD,gBAAgB,EAAE,sBAAsB;IACxCC,iBAAiB,EAAE;;CAEtB;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;ACvBiE;AACd;AACN;AAE7CoT,+EAAoB,CAAC59D,4DAAY,EAAE+K,sDAAS,CAAC,CAAC8yD,KAAK,CAAChpD,GAAG,IAAIY,OAAO,CAACvQ,KAAK,CAAC2P,GAAG,CAAC,CAAC;;;;;;;;;;ACJ9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/admin-api/index.ts","./src/app/admin-api/models/column-filter-builder.ts","./src/app/admin-api/models/filter-operator.ts","./src/app/admin-api/models/index.ts","./src/app/admin-api/services/backend.service.ts","./src/app/admin-api/services/index.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.config.ts","./src/app/app.routes.ts","./src/app/components/app-header/app-header.component.ts","./src/app/components/dynamic-form/components/form-dialog/form-dialog.component.ts","./src/app/components/dynamic-form/components/form/form.component.ts","./src/app/components/dynamic-form/core/dynamic-form.service.ts","./src/app/components/dynamic-form/core/dynamic-form.ts","./src/app/components/dynamic-form/dynamic-form.module.ts","./src/app/components/formly/autocomplete-type.component.ts","./src/app/components/formly/chip-input-type.component.ts","./src/app/components/formly/datepicker-type.component.ts","./src/app/components/formly/dialog-select-type.component.ts","./src/app/components/formly/dialog-select-type/orderable-select-dialog.component.ts","./src/app/components/formly/exandable-wrapper.component.ts","./src/app/components/formly/file-upload-type/directives/custom-validator.directive.ts","./src/app/components/formly/file-upload-type/directives/file-drag-and-drop.directive.ts","./src/app/components/formly/file-upload-type/file-upload-type.component.ts","./src/app/components/formly/file-upload-type/services/file-upload.service.ts","./src/app/components/formly/file-upload-type/services/format-file-size.pipe.ts","./src/app/components/formly/formly-components.module.ts","./src/app/components/formly/formly-wrapper.component.ts","./src/app/components/formly/note-type.component.ts","./src/app/components/formly/rte-type.component.ts","./src/app/components/formly/section-type.component.ts","./src/app/components/formly/select-type.component.ts","./src/app/components/formly/spacing-type.component.ts","./src/app/components/icon/icon.component.ts","./src/app/components/icon/icon.component.html","./src/app/components/icon/icons.ts","./src/app/components/nav/nav.component.ts","./src/app/components/nav/nav.component.html","./src/app/components/nav/sub-nav/sub-nav.component.ts","./src/app/components/nav/sub-nav/sub-nav.component.html","./src/app/components/snackbar/snackbar.component.ts","./src/app/components/table/components/table.component.ts","./src/app/components/table/components/table.component.html","./src/app/components/table/core/dynamic-cell.directive.ts","./src/app/components/table/core/dynamic-pipe.pipe.ts","./src/app/components/table/core/fixed-size-table-virtual-scroll-strategy.ts","./src/app/components/table/core/table-core.directive.ts","./src/app/components/table/core/table-data-source.ts","./src/app/components/table/core/table-intl.ts","./src/app/components/table/core/table-item-size.directive.ts","./src/app/components/table/core/types.ts","./src/app/components/table/dynamic-cells/index.ts","./src/app/components/table/dynamic-cells/table-boolean/table-boolean.component.ts","./src/app/components/table/dynamic-cells/table-dl-link/table-dl-link.component.ts","./src/app/components/table/dynamic-cells/table-link/table-link.component.ts","./src/app/components/table/dynamic-cells/table-status/table-status.component.ts","./src/app/components/table/dynamic-cells/table-status/table-status.component.html","./src/app/components/table/extensions/column-settings/column-settings.component.ts","./src/app/components/table/extensions/column-settings/column-settings.component.html","./src/app/components/table/extensions/column-settings/column-settings.module.ts","./src/app/components/table/extensions/filter/column-filter.component.ts","./src/app/components/table/extensions/filter/column-filter.component.html","./src/app/components/table/extensions/filter/column-filter.module.ts","./src/app/components/table/extensions/filter/compare/abstract-filter.ts","./src/app/components/table/extensions/filter/compare/boolean-filter.ts","./src/app/components/table/extensions/filter/compare/number-filter.ts","./src/app/components/table/extensions/filter/compare/text-filter.ts","./src/app/components/table/extensions/filter/filter-event.directive.ts","./src/app/components/table/extensions/row-menu/row-menu-item.component.ts","./src/app/components/table/extensions/row-menu/row-menu.component.ts","./src/app/components/table/extensions/row-menu/row-menu.module.ts","./src/app/components/table/extensions/save-view/save-view.component.ts","./src/app/components/table/extensions/save-view/save-view.component.html","./src/app/components/table/extensions/save-view/save-view.module.ts","./src/app/components/table/extensions/table-menu/table-menu.component.ts","./src/app/components/table/extensions/table-menu/table-menu.component.html","./src/app/components/table/extensions/table-menu/table-menu.module.ts","./src/app/components/table/extensions/tooltip/template-or-string.directive.ts","./src/app/components/table/extensions/tooltip/tooltip.component.ts","./src/app/components/table/extensions/tooltip/tooltip.directive.ts","./src/app/components/table/extensions/tooltip/tooltip.module.ts","./src/app/components/table/index.ts","./src/app/components/table/models/column-builder.ts","./src/app/components/table/models/context-menu-model.ts","./src/app/components/table/models/dynamic-table-data.model.ts","./src/app/components/table/models/filter-change.ts","./src/app/components/table/models/index.ts","./src/app/components/table/models/pipe.model.ts","./src/app/components/table/models/table-column.model.ts","./src/app/components/table/models/table-language.model.ts","./src/app/components/table/models/table-menu-action-change.model.ts","./src/app/components/table/models/table-pagination.model.ts","./src/app/components/table/models/table-row.model.ts","./src/app/components/table/models/table-settings.model.ts","./src/app/components/table/services/table.service.ts","./src/app/components/table/table.module.ts","./src/app/components/table/utils/index.ts","./src/app/components/table/utils/rfdc.ts","./src/app/components/table/utils/utils.ts","./src/app/configs/auth-config.ts","./src/app/configs/formly.config.ts","./src/app/configs/index.ts","./src/app/core/base.guard.ts","./src/app/core/constants/navigation-items.const.ts","./src/app/core/index.ts","./src/app/core/mixins/destroyed.ts","./src/app/core/mixins/index.ts","./src/app/core/mixins/initialized.ts","./src/app/core/models/async-operation-state.ts","./src/app/core/models/http-request-method.ts","./src/app/core/models/index.ts","./src/app/core/models/media-type.ts","./src/app/core/pipes/filter-by-property-value.pipe.ts","./src/app/core/pipes/index.ts","./src/app/core/role.guard.ts","./src/app/core/services/file-saver/file-saver.service.ts","./src/app/core/services/index.ts","./src/app/core/services/navigation.service.ts","./src/app/core/token/index.ts","./src/app/core/token/the-document.ts","./src/app/core/utils/coercion.ts","./src/app/core/utils/constants.ts","./src/app/core/utils/date.ts","./src/app/core/utils/extraction.ts","./src/app/core/utils/index.ts","./src/app/core/utils/transformation.ts","./src/app/core/utils/verification.ts","./src/app/models/index.ts","./src/app/models/role.ts","./src/app/models/route-path.ts","./src/app/pages/aufgaben/aufgaben-shell.component.ts","./src/app/pages/dashboard/dashboard-shell.component.ts","./src/app/pages/einstellungen/einstellungen-shell.component.ts","./src/app/pages/news/news-shell.component.ts","./src/app/pages/nutzer/nutzer-shell.component.ts","./src/app/pages/organisation/organisation-shell.component.ts","./src/app/pages/toebs/toeb-shell.component.ts","./src/app/pages/transaktionen/transaktionen-shell.component.ts","./src/app/pages/unauthorized/unauthorized.component.ts","./src/app/pages/vorgaenge/vorgaenge-shell.component.ts","./src/app/utils/country-code.ts","./src/app/utils/file-value-accessor.ts","./src/app/utils/index.ts","./src/app/utils/snackbar.service.ts","./src/app/utils/utilts.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["export * from './models';\nexport * from './services';\n","import { ColumnFilter } from \"./column-filter\";\nimport { FilterOperator } from \"./filter-operator\";\n\nexport class ColumnFilterBuilder {\n\n private _filter: Partial = {};\n\n public setColumn(column: string): this {\n\n if(column.length === 0) {\n throw new Error('Column name cannot be empty');\n }\n\n const old = this._filter;\n this._filter = {...old, column};\n return this;\n }\n\n public setOperator(operator: FilterOperator): this {\n const old = this._filter;\n this._filter = {...old, operator}\n return this;\n }\n\n public setTerm(term: string): this {\n\n if(term.length === 0) {\n throw new Error('Search term cannot be empty');\n }\n\n const old = this._filter;\n this._filter = {...old, term};\n return this;\n }\n\n public setNot(not: boolean): this {\n const old = this._filter;\n this._filter = {...old, not }\n return this;\n }\n\n public setColumnEqualsTerm(column: string, term: string): this {\n this.setColumn(column);\n this.setTerm(term);\n this.setOperator(FilterOperator.Equals);\n this.setNot(false);\n\n return this;\n }\n\n public setColumnContainsTerm(column: string, term: string): this {\n this.setColumn(column);\n this.setTerm(term);\n this.setOperator(FilterOperator.Contains);\n this.setNot(false);\n\n return this;\n }\n\n private _isColumnFilter(value: Partial): value is ColumnFilter {\n\n const { column, term, operator, not } = value;\n\n return column !== undefined\n && term !== undefined\n && operator !== undefined\n && not !== undefined;\n }\n\n public build(): ColumnFilter {\n const filter = this._filter;\n if(!this._isColumnFilter(filter)) {\n throw new Error('Filter is incomplete');\n }\n\n return filter;\n }\n\n public buildAndWrapInArray(): readonly ColumnFilter[] {\n return [this.build()];\n }\n}\n","export enum FilterOperator {\n Contains = 'contains',\n Equals = '==',\n GreaterThan = '>',\n LessThan = '<',\n Null = 'null',\n}\n","export { ColumnFilter } from './column-filter';\nexport { ColumnOrder } from './column-order';\nexport { CommonListRequestDTO } from './common-list-request-dto';\nexport { CommonListResponseDTO } from './common-list-response-dto';\nexport { FilterOperator } from './filter-operator';\nexport { VorgangDetailsCountDTO } from './vorgang-details-count-dto';\nexport { VorgangDetailsDTO, VorgangDetailDisplay } from './vorgang-details-dto';\nexport { LokationDTO } from './lokation-dto';\nexport { AnfragedokumentDTO } from './anfragedokument-dto';\nexport { AntwortdokumentDTO } from './antwortdokument-dto';\nexport { ToebDTO } from './toeb-dto';\nexport { WeitereToebDTO } from './weitere-toeb-dto';\nexport { ProtokollEventDTO } from './protokoll-event-dto';\nexport { NachforderungDTO } from './nachforderung-dto';\nexport { ColumnFilterBuilder } from './column-filter-builder';\nexport { TeilvorgangDTO } from './teilvorgang-dto';\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport {\n VorgangDetailsCountDTO,\n VorgangDetailsDTO,\n CommonListRequestDTO,\n CommonListResponseDTO,\n LokationDTO,\n AnfragedokumentDTO,\n AntwortdokumentDTO,\n ToebDTO,\n WeitereToebDTO,\n ProtokollEventDTO,\n NachforderungDTO,\n TeilvorgangDTO\n} from '../models';\n\nexport const BACKEND_SERVICE_BASE_API_URL = new InjectionToken<`https://${string}/`>('BACKEND_SERVICE_BASE_API_URL');\n\n@Injectable()\nexport class BackendService {\n constructor(\n @Inject(BACKEND_SERVICE_BASE_API_URL) private readonly _baseApiUrl: `https://${string}/`,\n private http: HttpClient\n ) {}\n\n public resendTeilvorgangEmail(id: string, email: string): Observable {\n return this.http.post(`${this._baseApiUrl}api-admin/v1/vorgang/teilvorgang/${id}/resend-email`, { email });\n }\n\n public resendTeilvorgang(id: string): Observable {\n return this.http.post(`${this._baseApiUrl}api-admin/v1/vorgang/teilvorgang/${id}/resend`, {});\n }\n\n public getVorgangCounts(id: string): Observable {\n return this.http.get(`${this._baseApiUrl}api-admin/v1/vorgang/details/counts/${id}`);\n }\n\n public getVorgangDetails(id: string): Observable {\n return this.http.get(`${this._baseApiUrl}api-admin/v1/vorgang/details/${id}`);\n }\n\n public getLokationen(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/details/lokationen/list`, request);\n }\n\n public getAnfragedokumente(request: CommonListRequestDTO): Observable> {\n return this.http.post>(`${this._baseApiUrl}api-admin/v1/vorgang/details/anfragedokumente/list`, request);\n }\n\n public getAntwortdokumente(request: CommonListRequestDTO): Observable>> {\n return this.http.post>(`${this._baseApiUrl}api-admin/v1/vorgang/details/antwortdokumente/list`, request);\n }\n\n public getToebs(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/details/toeb/list`, request);\n }\n\n public getWeitereToebs(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/details/weitere-toeb/list`, request);\n }\n\n public getProtokoll(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/details/protokoll/list`, request);\n }\n\n public getNachforderungen(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/details/nachforderung/list`, request);\n }\n\n public getTeilvorgaenge(request: CommonListRequestDTO): Observable>> {\n return this.http.post>>(`${this._baseApiUrl}api-admin/v1/vorgang/teilvorgang/list`, request)\n }\n}\n","export { BackendService, BACKEND_SERVICE_BASE_API_URL } from './backend.service';\n","import { Component, computed, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalModule, MsalService } from '@azure/msal-angular';\nimport {\n AccountInfo,\n AuthenticationResult,\n EventMessage,\n EventType,\n InteractionStatus,\n InteractionType,\n PopupRequest,\n RedirectRequest,\n SsoSilentRequest\n} from '@azure/msal-browser';\nimport { filter } from 'rxjs/operators';\nimport { IdTokenClaims, PromptValue } from '@azure/msal-common';\nimport { b2cPolicies } from './configs';\nimport { SubSink } from 'subsink';\nimport { Router, RouterOutlet } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { NavComponent } from '@components/nav/nav.component';\nimport { AppHeaderComponent } from '@components/app-header/app-header.component';\nimport { FormlyMaterialModule } from '@ngx-formly/material';\nimport { AngularSplitModule } from 'angular-split';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormlyComponentsModule } from '@components/formly/formly-components.module';\nimport { NavigationService } from '@core/services';\nimport { Role } from './models';\n\ntype IdTokenClaimsWithPolicyId = IdTokenClaims & {\n acr?: string;\n tfp?: string;\n};\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [\n CommonModule,\n HttpClientModule,\n ReactiveFormsModule,\n RouterOutlet,\n MsalModule,\n NavComponent,\n AppHeaderComponent,\n FormlyComponentsModule,\n FormlyMaterialModule,\n AngularSplitModule\n ],\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n title = 'infrest-cockpit';\n isIframe = false;\n loginDisplay = false;\n isAuthorized = true;\n\n private _subs = new SubSink();\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private authService: MsalService,\n private msalBroadcastService: MsalBroadcastService,\n private router: Router,\n private navService: NavigationService,\n iconRegistry: MatIconRegistry,\n domSanitizer: DomSanitizer\n ) {\n iconRegistry\n .addSvgIconSetInNamespace(\n 'bootstrap',\n domSanitizer.bypassSecurityTrustResourceUrl('/assets/icons/bootstrap-icons.svg'))\n }\n\n maxWidth = computed(() => (this.navService.state.expanded() ? 'calc(100svw - 19rem)' : 'calc(100svw - 5rem)'));\n\n ngOnInit() {\n this.isIframe = window !== window.parent && !window.opener;\n this.setLoginDisplay();\n\n const roles = this.navService.getRoles();\n this.router.config.map(route => {\n switch (route.path) {\n case 'vorgaenge': {\n const vorgaengeRoute = this.router.config.find(route => route.path === 'vorgaenge');\n if (vorgaengeRoute && vorgaengeRoute.children) {\n if (roles.includes(Role.Diensleistung) && ![Role.SuperAdmin, Role.InfrestAdmin].some(s => roles.includes(s))) {\n vorgaengeRoute.children.unshift({ path: '', redirectTo: 'dl-vorgaenge', pathMatch: 'full' });\n } else {\n vorgaengeRoute.children.unshift({ path: '', redirectTo: 'alle', pathMatch: 'full' });\n }\n }\n break;\n }\n case 'toebs': {\n const toebsRoute = this.router.config.find(route => route.path === 'toebs');\n if (toebsRoute && toebsRoute.children) {\n if (roles.includes(Role.ToeBFreigabe) && ![Role.SuperAdmin, Role.InfrestAdmin].some(s => roles.includes(s))) {\n toebsRoute.children.unshift({ path: '', redirectTo: 'freigabe', pathMatch: 'full' });\n } else {\n toebsRoute.children.unshift({ path: '', redirectTo: 'alle', pathMatch: 'full' });\n }\n }\n break;\n }\n }\n });\n\n this.authService.instance.enableAccountStorageEvents(); // Optional - This will enable ACCOUNT_ADDED and ACCOUNT_REMOVED events emitted when a user logs in or out of another tab or window\n\n this._subs.sink = this.router.events.subscribe(event => {\n if (this.router.url.includes('unauthorized')) {\n this.isAuthorized = false;\n }\n });\n\n this._subs.sink = this.msalBroadcastService.msalSubject$.pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS)).subscribe(() => {\n this.navService.state?.loadNavigationItems();\n });\n\n this._subs.sink = this.msalBroadcastService.msalSubject$\n .pipe(\n filter(\n (msg: EventMessage) =>\n msg.eventType === EventType.LOGIN_SUCCESS || msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS || msg.eventType === EventType.SSO_SILENT_SUCCESS\n )\n )\n .subscribe((result: EventMessage) => {\n let payload = result.payload as AuthenticationResult;\n let idtoken = payload.idTokenClaims as IdTokenClaimsWithPolicyId;\n\n if (idtoken.acr === b2cPolicies.names.signUpSignIn || idtoken.tfp === b2cPolicies.names.signUpSignIn) {\n this.authService.instance.setActiveAccount(payload.account);\n }\n\n /**\n * For the purpose of setting an active account for UI update, we want to consider only the auth response resulting\n * from SUSI flow. \"acr\" claim in the id token tells us the policy (NOTE: newer policies may use the \"tfp\" claim instead).\n * To learn more about B2C tokens, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview\n */\n if (idtoken.acr === b2cPolicies.names.editProfile || idtoken.tfp === b2cPolicies.names.editProfile) {\n // retrieve the account from initial sing-in to the app\n const originalSignInAccount = this.authService.instance\n .getAllAccounts()\n .find(\n (account: AccountInfo) =>\n account.idTokenClaims?.oid === idtoken.oid &&\n account.idTokenClaims?.sub === idtoken.sub &&\n ((account.idTokenClaims as IdTokenClaimsWithPolicyId).acr === b2cPolicies.names.signUpSignIn ||\n (account.idTokenClaims as IdTokenClaimsWithPolicyId).tfp === b2cPolicies.names.signUpSignIn)\n );\n\n let signUpSignInFlowRequest: SsoSilentRequest = {\n authority: b2cPolicies.authorities.signUpSignIn.authority,\n account: originalSignInAccount\n };\n\n // silently login again with the signUpSignIn policy\n this.authService.ssoSilent(signUpSignInFlowRequest);\n }\n\n /**\n * Below we are checking if the user is returning from the reset password flow.\n * If so, we will ask the user to reauthenticate with their new password.\n * If you do not want this behavior and prefer your users to stay signed in instead,\n * you can replace the code below with the same pattern used for handling the return from\n * profile edit flow (see above ln. 74-92).\n */\n if (idtoken.acr === b2cPolicies.names.resetPassword || idtoken.tfp === b2cPolicies.names.resetPassword) {\n let signUpSignInFlowRequest: RedirectRequest | PopupRequest = {\n authority: b2cPolicies.authorities.signUpSignIn.authority,\n prompt: PromptValue.LOGIN, // force user to reauthenticate with their new password\n scopes: []\n };\n\n this.login(signUpSignInFlowRequest);\n }\n\n return result;\n });\n\n this._subs.sink = this.msalBroadcastService.msalSubject$\n .pipe(filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_FAILURE || msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE))\n .subscribe((result: EventMessage) => {\n // Checking for the forgot password error. Learn more about B2C error codes at\n // https://learn.microsoft.com/azure/active-directory-b2c/error-codes\n if (result.error && result.error.message.indexOf('AADB2C90118') > -1) {\n let resetPasswordFlowRequest: RedirectRequest | PopupRequest = {\n authority: b2cPolicies.authorities.resetPassword.authority,\n scopes: []\n };\n\n this.login(resetPasswordFlowRequest);\n } else {\n // Clear token on acquire token failure\n this.authService.instance?.['browserStorage']?.clear?.();\n }\n });\n\n this._subs.sink = this.msalBroadcastService.inProgress$.pipe(filter((status: InteractionStatus) => status === InteractionStatus.None)).subscribe(() => {\n this.setLoginDisplay();\n this.checkAndSetActiveAccount();\n });\n }\n\n setLoginDisplay() {\n this.loginDisplay = this.authService.instance.getAllAccounts().length > 0;\n }\n\n checkAndSetActiveAccount() {\n /**\n * If no active account set but there are accounts signed in, sets first account to active account\n * To use active account set here, subscribe to inProgress$ first in your component\n * Note: Basic usage demonstrated. Your app may require more complicated account selection logic\n */\n let activeAccount = this.authService.instance.getActiveAccount();\n\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\n let accounts = this.authService.instance.getAllAccounts();\n // add your code for handling multiple accounts here\n this.authService.instance.setActiveAccount(accounts[0]);\n }\n }\n\n ngOnDestroy() {\n this._subs.unsubscribe();\n }\n\n login(userFlowRequest?: RedirectRequest | PopupRequest) {\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginPopup({ ...this.msalGuardConfig.authRequest, ...userFlowRequest } as PopupRequest).subscribe((response: AuthenticationResult) => {\n this.authService.instance.setActiveAccount(response.account);\n });\n } else {\n this.authService.loginPopup(userFlowRequest).subscribe((response: AuthenticationResult) => {\n this.authService.instance.setActiveAccount(response.account);\n });\n }\n } else {\n if (this.msalGuardConfig.authRequest) {\n this.authService.loginRedirect({ ...this.msalGuardConfig.authRequest, ...userFlowRequest } as RedirectRequest);\n } else {\n this.authService.loginRedirect(userFlowRequest);\n }\n }\n }\n\n _onLogout(): void {\n this.authService.logout();\n }\n\n _onToggleMenu(): void {\n this.navService.state.toggleNav();\n }\n}\n","
\n @if (loginDisplay) {\n @if (isAuthorized) {\n \n \n
\n \n
\n } @else {\n \n \n }\n }\n
\n","import { ApplicationConfig, importProvidersFrom, LOCALE_ID } from '@angular/core';\nimport { provideRouter } from '@angular/router';\n\nimport { APP_ROUTES } from './app.routes';\nimport { HTTP_INTERCEPTORS, provideHttpClient, withFetch, withInterceptorsFromDi } from '@angular/common/http';\nimport { provideAnimations } from '@angular/platform-browser/animations';\nimport { QuillModule } from 'ngx-quill';\nimport { FormlyModule } from '@ngx-formly/core';\nimport * as configs from './configs';\nimport { loginRequest, msalConfig } from './configs';\nimport {\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalBroadcastService,\n MsalGuard,\n MsalGuardConfiguration,\n MsalInterceptor,\n MsalInterceptorConfiguration,\n MsalService\n} from '@azure/msal-angular';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { RoleGuard } from '@core/role.guard';\nimport { InteractionType, IPublicClientApplication, PublicClientApplication } from '@azure/msal-browser';\nimport { environment } from '@environments/environment';\nimport localeDe from '@angular/common/locales/de';\nimport localeDeExtra from '@angular/common/locales/extra/de';\nimport { registerLocaleData } from '@angular/common';\nimport { BACKEND_SERVICE_BASE_API_URL, BackendService } from '@admin-api';\n\nregisterLocaleData(localeDe, 'de-DE', localeDeExtra);\n\nexport function MSALInstanceFactory(): IPublicClientApplication {\n return new PublicClientApplication(msalConfig);\n}\n\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: loginRequest\n };\n}\n\nfunction MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map>();\n\n protectedResourceMap.set('/api/', [\n `openid`,\n `offline_access`,\n `profile`,\n `https://${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.clientId}/api`\n ]);\n protectedResourceMap.set('/api-admin/', [\n `openid`,\n `offline_access`,\n `profile`,\n `https://${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.clientId}/api`\n ]);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap\n };\n}\n\nconst DE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'DD.MM.YYYY'\n },\n display: {\n dateInput: 'DD.MM.YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n }\n};\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideHttpClient(withInterceptorsFromDi(), withFetch()),\n provideAnimations(),\n provideRouter(APP_ROUTES),\n { provide: LOCALE_ID, useValue: 'de-DE' },\n { provide: HTTP_INTERCEPTORS, useClass: MsalInterceptor, multi: true },\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\n { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DE_DATE_FORMATS },\n { provide: MSAL_INSTANCE, useFactory: MSALInstanceFactory },\n { provide: MSAL_GUARD_CONFIG, useFactory: MSALGuardConfigFactory },\n { provide: MSAL_INTERCEPTOR_CONFIG, useFactory: MSALInterceptorConfigFactory },\n MsalService,\n MsalGuard,\n RoleGuard,\n MsalBroadcastService,\n importProvidersFrom(QuillModule.forRoot(), FormlyModule.forRoot(configs.formlyConfig)),\n BackendService,\n { provide: BACKEND_SERVICE_BASE_API_URL, useValue: environment.apiUrl }\n ]\n};\n\n// write code to check if we are in debug mode by checking if the host is localhost\n// if so, set DEBUG to true\nexport const DEBUG = location.hostname === 'localhost';\n","import { Routes } from '@angular/router';\nimport { MsalGuard, MsalRedirectComponent } from '@azure/msal-angular';\nimport { RoleGuard } from '@core/role.guard';\nimport { UnauthorizedComponent } from '@pages/unauthorized/unauthorized.component';\nimport { OrganisationShellComponent } from '@pages/organisation/organisation-shell.component';\nimport { ToebShellComponent } from '@pages/toebs/toeb-shell.component';\nimport { AufgabenShellComponent } from '@pages/aufgaben/aufgaben-shell.component';\nimport { NutzerShellComponent } from '@pages/nutzer/nutzer-shell.component';\nimport { EinstellungenShellComponent } from '@pages/einstellungen/einstellungen-shell.component';\nimport { VorgaengeShellComponent } from '@pages/vorgaenge/vorgaenge-shell.component';\nimport { TransaktionenShellComponent } from '@pages/transaktionen/transaktionen-shell.component';\nimport { DashboardShellComponent } from '@pages/dashboard/dashboard-shell.component';\nimport { NavigationService } from '@core/services';\nimport { Role } from '@app/models';\nimport { NewsShellComponent } from '@pages/news/news-shell.component';\n\nimport { RoutePath } from '@app/models'\n\nexport const APP_ROUTES: Routes = [\n { path: '', redirectTo: RoutePath.Dashboard, pathMatch: 'full' },\n {\n path: RoutePath.Dashboard,\n component: DashboardShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/dashboard/dashboard.routes')\n },\n {\n path: RoutePath.Organisation,\n component: OrganisationShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/organisation/organisation.routes')\n },\n {\n path: RoutePath.Toebs,\n component: ToebShellComponent,\n canActivate: [MsalGuard],\n children: [\n {\n path: 'alle',\n loadComponent: () => import('./pages/toebs/components/toeb/toeb.component').then(mod => mod.ToebComponent),\n canActivate: [RoleGuard],\n data: { expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBPflege] }\n },\n {\n path: 'entwurf',\n loadComponent: () => import('./pages/toebs/components/toeb-draft/toeb-draft.component').then(mod => mod.ToebDraftComponent),\n canActivate: [RoleGuard],\n data: { expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBPflege] }\n },\n {\n path: 'freigabe',\n loadComponent: () => import('./pages/toebs/components/toeb-freigabe/toeb-freigabe.component').then(mod => mod.ToebFreigabeComponent),\n canActivate: [RoleGuard],\n data: { expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBFreigabe] }\n }\n ]\n },\n {\n path: RoutePath.Transaktionen,\n component: TransaktionenShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/transaktionen/transaktionen.routes')\n },\n {\n path: RoutePath.Nutzer,\n component: NutzerShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/nutzer/nutzer.routes')\n },\n {\n path: RoutePath.News,\n component: NewsShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/news/news.routes')\n },\n {\n path: RoutePath.Einstellungen,\n component: EinstellungenShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/einstellungen/einstellungen.routes')\n },\n {\n path: RoutePath.Aufgaben,\n component: AufgabenShellComponent,\n canActivate: [MsalGuard],\n loadChildren: () => import('./pages/aufgaben/aufgaben.routes') },\n {\n path: RoutePath.Vorgaenge,\n component: VorgaengeShellComponent,\n canActivate: [MsalGuard],\n children: [\n {\n path: 'alle',\n loadComponent: () => import('./pages/vorgaenge/components/vorgaenge/vorgaenge.component').then(mod => mod.VorgaengeComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice],\n title: 'Alle Vorgänge',\n filters: []\n }\n },\n {\n path: 'alle-teilvorgaenge',\n loadComponent: () => import('./pages/vorgaenge/components/teilvorgaenge/teilvorgaenge.component').then(mod => mod.TeilvorgaengeComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice],\n title: 'Alle Teilvorgänge',\n filters: []\n }\n },\n {\n path: 'dl-vorgaenge',\n loadComponent: () => import('./pages/vorgaenge/components/dl-vorgaenge/dl-vorgaenge.component').then(mod => mod.DlVorgaengeComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Diensleistung],\n title: 'Alle DL-Vorgänge',\n filters: []\n }\n },\n {\n path: 'dl-vorgaenge-nicht-zugewiesene',\n loadComponent: () => import('./pages/vorgaenge/components/dl-vorgaenge/dl-vorgaenge.component').then(mod => mod.DlVorgaengeComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Diensleistung],\n title: 'Nicht zugewiesene DL-Vorgänge',\n filters: [{ column: 'dlOrganisation', operator: 'null', term: '', not: false }]\n }\n },\n {\n path: 'bsa-uebertragung',\n loadComponent: () => import('./pages/vorgaenge/components/bsa-uebertragung/bsa-uebertragung.component').then(mod => mod.BsaUebertragungComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin],\n filters: [{ column: 'bsa_status', operator: 'null', term: '', not: true }],\n title: 'BSA Übertragung'\n }\n },\n {\n path: 'oplex-uebertragung',\n loadComponent: () => import('./pages/vorgaenge/components/oplex-uebertragung/oplex-uebertragung.component').then(mod => mod.OplexUebertragungComponent),\n canActivate: [RoleGuard],\n data: {\n expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin],\n filters: [],\n title: 'OPLEX Übertragung'\n }\n }\n ],\n providers: [NavigationService]\n },\n {\n path: RoutePath.AuftraggeberBeziehung,\n loadComponent: () =>\n import('@pages/organisation/components/auftraggeber-beziehung/auftraggeber-beziehung.component').then(mod => mod.AuftraggeberBeziehung),\n canActivate: [RoleGuard],\n data: { expectedRoles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice] }\n },\n {\n // Needed for handling redirect after login\n path: RoutePath.Auth,\n component: MsalRedirectComponent\n },\n {\n path: RoutePath.Unauthorized,\n canActivate: [MsalGuard],\n component: UnauthorizedComponent\n }\n];\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'inf-app-header',\n standalone: true,\n imports: [CommonModule, MatMenuModule, MatToolbarModule, MatIconModule, MatButtonModule],\n template: `\n \n \n \"infrest\n \n \n\n \n \n \n \n `,\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppHeaderComponent {\n\n readonly showMenuToggle = input(false);\n readonly menuToggleClick = output();\n readonly logout = output();\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DynamicForm } from '../../core/dynamic-form';\nimport { SubSink } from 'subsink';\nimport { DynamicFormService } from '../../core/dynamic-form.service';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport type DialogResult = {\n action: 'cancel' | 'save';\n model: T;\n};\n\nexport interface DialogConfig {\n title: string;\n body?: { formIdentifier: string; meta: any };\n schemaUrl?: string;\n modelUrl?: string;\n model?: T;\n schema?: FormlyFieldConfig[];\n showSaveButton?: boolean;\n showCancelButton?: boolean;\n cancelButtonText?: string;\n}\n\n@Component({\n selector: 'inf-form-dialog',\n template: `\n
\n {{ dialogData.title }}\n clear\n
\n \n \n \n \n\n \n \n \n \n `,\n styles: [\n `\n @use '../../../../../styles/base' as inf;\n\n .header {\n display: flex;\n justify-content: space-between;\n padding: 10px 10px 0 10px;\n\n span {\n //margin-bottom: 16px;\n font-weight: 500;\n font-size: inf.$font-size-normal;\n }\n\n mat-icon {\n margin-top: 1px;\n cursor: pointer;\n }\n }\n\n mat-dialog-actions {\n justify-content: flex-end;\n\n .button {\n margin: 0 8px;\n cursor: pointer;\n }\n\n div {\n font-weight: 400;\n font-size: inf.$font-size-normal;\n }\n }\n\n mat-dialog-content {\n border-top: solid 1px #e5e5e5;\n border-bottom: solid 1px #e5e5e5;\n\n padding-top: 16px;\n padding-bottom: 8px;\n }\n\n .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix {\n padding-top: 22px !important;\n padding-bottom: 6px !important;\n }\n\n .mat-mdc-text-field-wrapper .mat-mdc-floating-label {\n //.mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label {\n display: block !important;\n font-size: 14px !important;\n }\n\n .mat-mdc-option .mdc-list-item__primary-text {\n font-size: 14px !important;\n }\n\n ::ng-deep .mat-mdc-select-value-text {\n font-size: 14px !important;\n }\n\n /* Hide number input arrows */\n /* Chrome, Safari, Edge, Opera */\n ::ng-deep input::-webkit-outer-spin-button,\n ::ng-deep input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n /* Firefox */\n ::ng-deep input[type='number'] {\n -moz-appearance: textfield;\n }\n `\n ]\n})\nexport class FormDialogComponent implements OnInit, OnDestroy {\n dynamicForm: DynamicForm = new DynamicForm();\n cancelButtonText = 'Abbrechen';\n showSaveButton = true;\n showCancelButton = true;\n\n\n private _subs = new SubSink();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public readonly dialogData: DialogConfig,\n private readonly dialogRef: MatDialogRef, DialogResult>,\n private dynamicFormService: DynamicFormService\n ) {\n\n this.showCancelButton = this.dialogData?.showCancelButton ?? true;\n this.showSaveButton = this.dialogData?.showSaveButton ?? true;\n this.cancelButtonText = this.dialogData?.cancelButtonText ?? 'Abbrechen';\n }\n\n ngOnInit() {\n if (!this.dialogData.schema) {\n this._subs.sink = this.dynamicFormService\n .getDynamicForm(this.dialogData?.body, this.dialogData?.schemaUrl, this.dialogData?.modelUrl)\n .subscribe(form => (this.dynamicForm = form));\n } else {\n this.dynamicForm = new DynamicForm(this.dialogData?.model, this.dialogData?.schema);\n\n this.dynamicFormService.setupAutocompleteFields(this.dynamicForm);\n this.dynamicFormService.setupSubformButtons(this.dynamicForm);\n }\n }\n\n ngOnDestroy() {\n this._subs.unsubscribe();\n }\n\n cancel() {\n this.dynamicForm.form.markAsUntouched();\n this.dialogRef.close({ action: 'cancel', model: null });\n }\n\n save() {\n this.dynamicForm.form.markAllAsTouched();\n if (this.dynamicForm.form.valid) {\n this.dynamicForm.form.markAsUntouched();\n this.dialogRef.close({ action: 'save', model: this.dynamicForm.getModelForSending() });\n }\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {DynamicForm} from \"../../core/dynamic-form\";\n\n@Component({\n selector: 'inf-form',\n template: `\n
\n \n
\n `,\n styles: [`\n form {\n overflow: auto;\n\n ::ng-deep mat-radio-button {\n margin: 0px 16px 16px 0px;\n }\n }\n `]\n})\nexport class FormComponent {\n\n @Input() form = new DynamicForm();\n\n onSubmit(model: any) {\n // alert(model);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { catchError, forkJoin, map, Observable, of, tap } from 'rxjs';\nimport { DynamicForm } from './dynamic-form';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicFormService {\n constructor(private readonly http: HttpClient) {}\n\n getDynamicForm(body: any, endpointSchema: string, endpointModel: string): Observable {\n return forkJoin({\n fields: this.http.post(endpointSchema, body),\n model: this.http.post(endpointModel, body)\n }).pipe(\n map(results => {\n const dynamicForm = new DynamicForm(results.model.model, results.fields.fields);\n\n this.setupAutocompleteFields(dynamicForm);\n this.setupSubformButtons(dynamicForm);\n return dynamicForm;\n })\n );\n }\n\n setupAutocompleteFields(dynamicForm: DynamicForm) {\n const autocompletes = dynamicForm.getFieldsByType('autocomplete');\n autocompletes.forEach(field => {\n field.props = {\n ...field.props,\n filter: (term: string) => this.getAutocompleteOptions(field.props['endpoint'], term, field.model),\n onChangeSelected: option => {\n const newModel = {\n ...dynamicForm.model\n };\n const selectedOptionId = option['value'];\n newModel[field.key as string] = option;\n dynamicForm.model = newModel;\n this.prefillSubformFields(dynamicForm, selectedOptionId, field);\n }\n };\n\n field.props['clearSubfields'] = () => {\n // Reset all sub fields belonging to this autocomplete\n const distribute = field.templateOptions['distribute'];\n if (!distribute) return;\n const mapping = distribute['mapping'];\n if (!mapping) return;\n\n for (const datamodelKey in mapping) {\n const fieldKey = mapping[datamodelKey];\n dynamicForm.model[fieldKey] = null;\n }\n dynamicForm.model = { ...dynamicForm.model };\n };\n });\n }\n\n getAutocompleteOptions(endpoint: string, term: string, model: Record) {\n const body = { term, model };\n return this.http.post(endpoint, body).pipe(\n map(response => response['options']),\n catchError(err => of([]))\n );\n }\n\n prefillSubformFields(dynamicForm: DynamicForm, selectedOptionId: string, field: FormlyFieldConfig) {\n // Get datamodel from backend for prefilling fields\n const endpoint = field.props['distribute']?.['endpoint'];\n // if no endpoint for distribute is present, noop\n if (!endpoint) {\n return;\n }\n\n const mapping = field.props['distribute']['mapping'];\n const fieldsToClear = field.props['distribute']['clear'];\n const attToChange = field.props['distribute']?.['att'];\n\n const body = {\n id: selectedOptionId,\n fields: Object.keys(mapping)\n };\n this.http.post(endpoint, body).subscribe(response => {\n // Set all values in model from response\n for (const datamodelKey in mapping) {\n const fieldKey = mapping[datamodelKey];\n if (attToChange) {\n const formField = dynamicForm.fields.find(f => f.key === fieldKey);\n formField.props = {\n ...formField.props,\n [attToChange?.key]: attToChange?.not ? !response[datamodelKey] : response[datamodelKey]\n };\n } else {\n dynamicForm.model[fieldKey] = response[datamodelKey];\n }\n }\n\n // Clear all fields in optional clear property\n if (fieldsToClear) {\n for (const fieldKey of fieldsToClear) {\n if (attToChange) {\n const formField = dynamicForm.fields.find(f => f.key === fieldKey);\n dynamicForm.model[fieldKey] = formField.props[attToChange?.key] ? null : false;\n } else {\n dynamicForm.model[fieldKey] = '';\n }\n }\n }\n\n // Form fields only update value when using spread operator on model\n dynamicForm.model = {\n ...dynamicForm.model\n };\n });\n }\n\n setupSubformButtons(dynamicForm: DynamicForm) {\n const autocompletes = dynamicForm.getFieldsByType('subform-button');\n autocompletes.forEach(field => {\n field.props = {\n ...field.props,\n onClick: () => this.validateAndPostSubform(field)\n };\n });\n }\n\n validateAndPostSubform(field: FormlyFieldConfig) {\n const endpoint = field.props['endpoint'];\n const mapping = field.props['mapping'];\n\n // Validate all fields belonging to subform\n let areFieldsValid = true;\n for (const fieldKey in mapping) {\n const fieldToValidate = field.form.get(fieldKey);\n fieldToValidate.markAsTouched();\n if (!fieldToValidate.valid) {\n areFieldsValid = false;\n return;\n }\n }\n\n // Send post with model content\n if (areFieldsValid) {\n const body = {};\n for (const fieldKey in mapping) {\n const datamodelKey = mapping[fieldKey];\n body[datamodelKey] = field.model[fieldKey];\n }\n of(body)\n .pipe(tap(body => console.log(body)))\n .subscribe(() => {\n if (field.props['messages']?.['success']) {\n alert(field.props['messages']['success']);\n }\n });\n }\n }\n}\n\ninterface DynamicFormFieldsResponse {\n fields: FormlyFieldConfig[];\n}\n\ninterface DynamicFormModelResponse {\n model: Record;\n meta: any;\n}\n","import { FormGroup } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyFormOptions } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/material/form-field';\nimport { subtractSet } from '@utils/utilts';\nimport { BehaviorSubject, filter } from 'rxjs';\nimport { SubSink } from 'subsink';\n\n// NOTE: Use symbols for custom props to avoid name collisions with field\n// properties and prevents being shown in Object.keys(). Setting as \"any\" type to\n// prevent TypeScript errors when using these symbols as object keys.\nconst LAST_CONDITION_VALUE_KEY = Symbol('lastConditionValue') as any;\nconst DEPENDENCY_DIRTY_KEY = Symbol('dependencyDirty') as any;\n\nexport class DynamicForm {\n // Field configs from backend responses contain \"templateOptions\" as needed for Formly 5\n // Cockpit uses Formly 6 where templateOptions has been renamed to props\n private _replaceTemplateOptionsWithProps(fields: FormlyFieldConfig[]): FormlyFieldConfig[] {\n const newFields: FormlyFieldConfig[] = [];\n for (const field of fields) {\n if (!field.templateOptions) {\n newFields.push(field);\n continue;\n }\n const newField = { ...field, props: field.templateOptions };\n delete newField.templateOptions;\n if (newField.fieldGroup) {\n newField.fieldGroup = this._replaceTemplateOptionsWithProps(newField.fieldGroup);\n }\n newFields.push(newField);\n }\n return newFields;\n }\n\n form: FormGroup = new FormGroup({});\n isAllFieldsDisabled = new BehaviorSubject(false);\n modelSubject = new BehaviorSubject(null);\n allModelFields = new BehaviorSubject>(new Set([]));\n fieldsWithoutFieldGroups: FormlyFieldConfig[] = [];\n subs = new SubSink();\n\n private _model: T;\n public get model() {\n return this._model;\n }\n public set model(model: T) {\n this._model = new Proxy(model as any, {\n set: (target, key, value) => {\n if (target[key] !== value) {\n // Only update if value has changed\n target[key] = value;\n this.modelSubject.next({ ...target });\n }\n return true;\n }\n });\n this.modelSubject.next({ ...model });\n }\n\n public getModelForSending() {\n // Formly sets existing model fields to undefined on hiding a field, but backend needs null to overwrite existing values\n // have to set the fields to null manually on getting/sending\n const model = { ...this.model };\n const modelFieldsToSetToNull = subtractSet(this.allModelFields.getValue(), new Set(Object.keys(this.model)));\n modelFieldsToSetToNull.forEach(field => (model[field] = null));\n return model;\n }\n\n private _fields: FormlyFieldConfig[];\n public get fields() {\n return this._fields;\n }\n public set fields(fields: FormlyFieldConfig[]) {\n const replacedFields = this._replaceTemplateOptionsWithProps(fields);\n this._fields = replacedFields;\n this.fieldsWithoutFieldGroups = this.filterFieldsIgnoringFieldGroupsRecursive(this.fields, () => true);\n // Set up model listeners for all fields with \"dependencies\" in props\n this.setupDependencies();\n // Remember all model fields that have ever been defined\n // To make it possible to set fields that have been undefined in the meantime to null when sending\n this.subs.sink = this.modelSubject.subscribe(() => {\n if (this.model) {\n this.allModelFields.next(new Set([...this.allModelFields.getValue(), ...new Set(Object.keys(this.model))]));\n }\n });\n }\n\n constructor(\n model: T = {} as T,\n fields: FormlyFieldConfig[] = [],\n public meta: any = {},\n public options: FormlyFormOptions = {}\n ) {\n this.fields = fields;\n this.model = model;\n this.registerAllFieldsDisabledListener();\n }\n\n setAllFieldsDisabled() {\n this.isAllFieldsDisabled.next(true);\n }\n\n private registerAllFieldsDisabledListener() {\n this.isAllFieldsDisabled.subscribe(isAllFieldsDisabled => {\n if (isAllFieldsDisabled) {\n this._setAllFieldsDisabled();\n }\n });\n }\n\n private setupDependencies() {\n // Set up model listeners for all fields with \"dependencies\" in templateOptions\n this.fieldsWithoutFieldGroups.forEach(field => {\n // TODO: Detect direct/indirect loops if fields depend on each other\n // (e.g. field A depends on field B, field B depends on field C, field C depends on field A)\n // => tree shaking on dependency.fieldName?\n if (!field.props) return;\n const dependencies = field.props['dependencies'] as DynamicFormFieldDependency[];\n if (!dependencies) return;\n this.registerDependencyListener(field, dependencies);\n });\n }\n\n private registerDependencyListener(field: FormlyFieldConfig, dependencies: DynamicFormFieldDependency[]) {\n // Some impromptu type checking\n if (!dependencies.length || !(dependencies.length > 0) || !dependencies[0].conditions) return;\n this.modelSubject.pipe(filter(f => f !== null)).subscribe(() => {\n if (Object.keys(this.model).length !== 0) {\n dependencies.forEach(dependency => {\n dependency.conditions.forEach(condition => {\n const conditionValue = this.checkDependencyCondition(condition);\n const newOptions = conditionValue ? dependency.onTrueSet : dependency.onFalseSet;\n if (newOptions) {\n this.updateFieldOptions(field, newOptions, conditionValue);\n }\n });\n });\n }\n });\n }\n\n private checkDependencyCondition(condition: DynamicFormFieldDependencyCondition, recursionInfo = { currentDepth: 0, maxDepth: 10 }) {\n if (recursionInfo.currentDepth > recursionInfo.maxDepth) {\n throw new Error('Dynamic form field dependency condition check recursion limit reached');\n }\n switch (condition.kind) {\n case 'single':\n return this.checkDependencyConditionSingle(condition as DynamicFormFieldDependencyConditionSingle);\n case 'combined':\n return this.checkDependencyConditionCombined(condition as DynamicFormFieldDependencyConditionCombined, recursionInfo);\n }\n }\n\n private checkDependencyConditionSingle(condition: DynamicFormFieldDependencyConditionSingle) {\n // Get value, either directly from model or from nested object via property path\n const dependencyValue = condition.dependencyPathToValue\n ? condition.dependencyPathToValue.reduce((prev, curr) => (prev && prev[curr] ? prev[curr] : prev), this.model[condition.dependencyField])\n : this.model[condition.dependencyField];\n\n // Allow checking for empty field\n const checkForEmptyIntended = condition.dependencyValues.some(value => value === null || value === undefined);\n const valueIsEmpty = dependencyValue === null || dependencyValue === undefined;\n const checkForEmptySuccessful = checkForEmptyIntended && valueIsEmpty;\n\n return checkForEmptySuccessful || condition.dependencyValues.includes(dependencyValue);\n }\n\n private checkDependencyConditionCombined(condition: DynamicFormFieldDependencyConditionCombined, recursionInfo: { currentDepth: number; maxDepth: number }) {\n recursionInfo.currentDepth++;\n switch (condition.type) {\n case 'and':\n return condition.conditions.every(condition => this.checkDependencyCondition(condition, recursionInfo));\n case 'or':\n return condition.conditions.some(condition => this.checkDependencyCondition(condition, recursionInfo));\n }\n }\n\n private updateFieldOptions(field: FormlyFieldConfig, newOptions: DynamicFormFieldDependencyOptions, conditionValue: boolean) {\n if (!field.props) return;\n\n // See if field has already been updated by a dependency (not on initial load)\n const isFirstLoad = !field.props[DEPENDENCY_DIRTY_KEY];\n\n // Set new value if condition has just changed (Don't run on first load if model value already defined)\n const conditionHasChanged = this.isBoolean(field.props[LAST_CONDITION_VALUE_KEY]) && field.props[LAST_CONDITION_VALUE_KEY] !== conditionValue;\n\n const newProps: FormlyFieldProps = {};\n\n newProps[LAST_CONDITION_VALUE_KEY] = conditionValue;\n\n if (newOptions.value !== undefined && (conditionHasChanged || this.model[field.key as string] === undefined)) {\n setTimeout(() => (this.model[field.key as string] = newOptions.value));\n }\n\n if (this.isBoolean(newOptions.hide) && field.hide !== newOptions.hide) {\n if (newOptions.hide === true && !isFirstLoad) {\n // clear field\n this.model[field.key as string] = null;\n }\n field.hide = newOptions.hide;\n }\n\n if (this.isBoolean(newOptions.options?.readonly)) {\n newProps.readonly = newOptions.options.readonly;\n }\n if (this.isBoolean(newOptions.options?.disabled) && !this.isAllFieldsDisabled.getValue()) {\n newProps.disabled = newOptions.options.disabled;\n }\n if (this.isBoolean(newOptions.options?.required)) {\n newProps.required = newOptions.options.required;\n }\n if (field.type === 'select' && newOptions.options?.selectOptions) {\n newProps.options = newOptions.options.selectOptions;\n }\n newProps[DEPENDENCY_DIRTY_KEY] = true;\n\n // Set new properties\n field.props = {\n ...field.props,\n ...newProps\n };\n }\n\n isBoolean(value: any) {\n return typeof value === 'boolean';\n }\n\n // Tries to set all fields to disabled\n private _setAllFieldsDisabled() {\n const fieldsWithoutFieldGroups = this.filterFieldsIgnoringFieldGroupsRecursive(this.fields, () => true);\n fieldsWithoutFieldGroups.forEach(field => {\n field.props = {\n ...(field.props ?? {}),\n disabled: true\n };\n });\n }\n\n setAllReadonlyFieldsDisabled() {\n const fieldsWithoutFieldGroups = this.filterFieldsIgnoringFieldGroupsRecursive(this.fields, field => field.props?.readonly);\n fieldsWithoutFieldGroups.forEach(field => {\n field.props = {\n ...(field.props ?? {}),\n disabled: true\n };\n });\n }\n\n getFieldByKey(key: string) {\n return this.filterFieldsIgnoringFieldGroupsRecursive(this.fields, field => field.key === key)[0];\n }\n\n getFieldsByType(type: string) {\n return this.filterFieldsIgnoringFieldGroupsRecursive(this.fields, field => field.type === type);\n }\n\n // Field groups introduce nesting in the fields array, so a simple flat filter function can't find fields inside field groups\n private filterFieldsIgnoringFieldGroupsRecursive(\n fields: FormlyFieldConfig[],\n predicate: (value: FormlyFieldConfig) => boolean,\n maxRecDepth = 10,\n currentRecDepth = 1\n ): FormlyFieldConfig[] {\n if (currentRecDepth > maxRecDepth) {\n return [];\n }\n let filteredFields = [];\n for (const field of fields) {\n if (field.fieldGroup) {\n filteredFields = filteredFields.concat(this.filterFieldsIgnoringFieldGroupsRecursive(field.fieldGroup, predicate, maxRecDepth, currentRecDepth + 1));\n } else {\n filteredFields = filteredFields.concat([field].filter(predicate));\n }\n }\n return filteredFields;\n }\n}\n\nexport type DynamicFormFieldDependencyCondition = DynamicFormFieldDependencyConditionSingle | DynamicFormFieldDependencyConditionCombined;\n\nexport class DynamicFormFieldDependencyConditionSingle {\n kind = 'single';\n dependencyField: string;\n dependencyPathToValue: string[];\n dependencyValues: any[];\n}\n\nexport class DynamicFormFieldDependencyConditionCombined {\n kind = 'combined';\n type: 'and' | 'or';\n conditions: DynamicFormFieldDependencyCondition[];\n}\n\nexport class DynamicFormFieldDependencyOptions {\n value?: any;\n hide?: boolean;\n options?: {\n readonly?: boolean;\n disabled?: boolean;\n required?: boolean;\n selectOptions?: any;\n };\n}\n\nexport class DynamicFormFieldDependency {\n conditions: DynamicFormFieldDependencyCondition[];\n onTrueSet?: DynamicFormFieldDependencyOptions;\n onFalseSet?: DynamicFormFieldDependencyOptions;\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './components/form/form.component';\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {FormlyModule} from \"@ngx-formly/core\";\nimport {FormDialogComponent} from './components/form-dialog/form-dialog.component';\nimport {MatDialogModule} from \"@angular/material/dialog\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {FormlyMaterialModule} from \"@ngx-formly/material\";\n\n@NgModule({\n declarations: [\n FormComponent,\n FormDialogComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatDialogModule,\n MatIconModule,\n MatInputModule,\n MatAutocompleteModule,\n FormlyMaterialModule,\n MatButtonModule,\n FormlyModule.forChild({})\n ],\n exports: [FormComponent, FormDialogComponent]\n})\nexport class DynamicFormModule {\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport { EMPTY, Observable } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'inf-formly-autocomplete-type',\n // standalone: true,\n // imports: [CommonModule, MatInputModule, MatAutocompleteModule, ReactiveFormsModule, FormlyModule],\n template: `\n \n \n \n {{ option.label }}\n \n \n `\n})\nexport class AutocompleteTypeComponent extends FieldType implements OnInit {\n filter: Observable;\n\n ngOnInit() {\n const initialModelValue = this.model[this.key as string];\n this.setSelectedOption(initialModelValue);\n\n this.formControl.valueChanges.subscribe(() => {\n this.props['clearSubfields']();\n });\n\n this.filter = this.formControl.valueChanges.pipe(\n startWith(initialModelValue?.label ?? ''),\n debounceTime(1000),\n switchMap((term: any) => {\n if (!this.props?.['filter']) {\n return EMPTY;\n }\n return this.props?.['filter'](term);\n }),\n map((termArray: OptionItem[]) => termArray.sort((a, b) => a.label.localeCompare(b.label))),\n tap(term => console.debug(`autocomplete filter: ${JSON.stringify(term)}`))\n );\n }\n\n setSelectedOption(option?: OptionItem) {\n this.formControl.setValue(option);\n }\n\n changeSelected($event, option: any) {\n this.props['onChangeSelected'](option);\n }\n\n displaySelectedOption(option?: OptionItem) {\n return option ? option.label : '';\n }\n}\n\ninterface OptionItem {\n label: string;\n value: string;\n}\n","import { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { Component, OnInit } from '@angular/core';\nimport { MatChipEditedEvent, MatChipInputEvent } from '@angular/material/chips';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport * as config from '../../configs';\nimport { SubSink } from 'subsink';\n\ntype ChipItem = { name: string };\n\n@Component({\n template: `\n \n {{ props.label }}\n \n \n {{ item.name }}\n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n @import '../../../styles/base/_colors';\n\n .invalid {\n color: $infrest-warn-color;\n }\n `\n ]\n})\nexport class ChipInputTypeComponent extends FieldType implements OnInit {\n items: ChipItem[] = [];\n addOnBlur = true;\n private readonly subs = new SubSink();\n\n readonly separatorKeysCodes = [ENTER, COMMA] as const;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n this.items = this.model[this.key as string]?.map((i: ChipItem) => ({ name: i })) || [];\n this.subs.sink = this.formControl.valueChanges.subscribe(() => {\n this.items = this.model[this.key as string]?.map((i: ChipItem) => ({ name: i })) || [];\n });\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.subs.unsubscribe();\n }\n\n add(event: MatChipInputEvent): void {\n const value = (event.value || '').trim();\n\n if (value) {\n this.items.push({ name: value });\n this.formControl.setValue(this.items.map(i => i.name));\n this.formControl.markAsTouched();\n }\n\n // Clear the input value\n event.chipInput!.clear();\n }\n\n remove(item: ChipItem): void {\n const index = this.items.indexOf(item);\n\n if (index >= 0) {\n this.items.splice(index, 1);\n this.formControl.setValue(this.items.map(i => i.name));\n this.formControl.markAsTouched();\n }\n }\n\n edit(item: ChipItem, event: MatChipEditedEvent) {\n const value = event.value.trim();\n\n if (!value) {\n this.remove(item);\n return;\n }\n\n const index = this.items.indexOf(item);\n if (index >= 0) {\n this.items[index].name = value;\n }\n this.formControl.setValue(this.items.map(i => i.name));\n this.formControl.markAsTouched();\n }\n\n isItemValid(item: ChipItem) {\n return (config[this.props['itemValidator']] || (() => true))(item.name);\n }\n}\n","import { AfterViewInit, Component, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { FieldType } from '@ngx-formly/material';\n// import { FieldTypeConfig, FormlyConfig, ɵwrapProperty as wrapProperty } from '@ngx-formly/core';\nimport { FieldTypeConfig, FormlyConfig } from '@ngx-formly/core';\nimport { MatInput } from '@angular/material/input';\nimport { MatDatepickerInput } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\n\nconst DE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'DD.MM.YYYY'\n },\n display: {\n dateInput: 'DD.MM.YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY'\n }\n};\n\n@Component({\n selector: 'formly-field-mat-datepicker',\n providers: [\n { provide: MAT_DATE_LOCALE, useValue: 'de-DE' },\n { provide: DateAdapter, useClass: MomentDateAdapter },\n { provide: MAT_DATE_FORMATS, useValue: DE_DATE_FORMATS }\n ],\n template: `\n \n {{props?.label || ''}}\n \n \n \n \n \n \n \n \n `\n})\nexport class FormlyDatePickerComponent extends FieldType {\n override defaultOptions = {\n templateOptions: {\n datepickerOptions: {\n startView: 'month',\n datepickerTogglePosition: 'suffix',\n dateInput: () => {},\n dateChange: () => {},\n monthSelected: () => {},\n yearSelected: () => {}\n }\n }\n };\n\n constructor(private config: FormlyConfig) {\n super();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\nimport * as Rx from 'rxjs';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SubSink } from 'subsink';\nimport { SnackbarService } from '@utils';\nimport { OrderableSelectDialogComponent } from './dialog-select-type/orderable-select-dialog.component';\n\nconst components = {\n 'orderable-select-dialog': OrderableSelectDialogComponent\n};\n\n@Component({\n selector: 'inf-formly-multiselect-type',\n template: `\n \n {{ props.label }}{{ props['required'] ? ' *' : '' }}\n \n {{ labels }}\n search\n \n `,\n styles: [\n `\n :host mat-form-field {\n mat-icon {\n cursor: pointer;\n }\n\n color: rgba(0, 0, 0, 0.87);\n\n &.disabled {\n mat-icon {\n cursor: default;\n }\n color: rgba(0, 0, 0, 0.38);\n }\n }\n `\n ]\n})\nexport class DialogSelectTypeComponent extends FieldType implements OnInit, OnDestroy {\n private _subs = new SubSink();\n\n JSON = JSON;\n labels: string;\n\n constructor(\n private readonly _dialog: MatDialog,\n private _snackbar: SnackbarService\n ) {\n super();\n }\n\n private dialog: any;\n private _options: any[] = [];\n private _value: any[] = [];\n\n ngOnInit() {\n this.dialog = typeof this.props['dialog'] === 'string' ? components[this.props['dialog']] : this.props['dialog'];\n\n if (!this.dialog) {\n throw new Error('dialog not provided');\n }\n\n if (this.formControl.value && Array.isArray(this.formControl.value)) {\n this._value = this.formControl.value;\n }\n this._subs.sink = this.formControl.valueChanges.subscribe(values => {\n this._value = values;\n this.setLabel();\n });\n\n if (!this.props.options) {\n this._options = [];\n } else if (Array.isArray(this.props.options)) {\n this._options = this.props.options;\n } else {\n this._subs.sink = this.props.options.subscribe(options => {\n this._options = options;\n this.setLabel();\n });\n }\n\n this.setLabel();\n }\n\n setLabel() {\n this.labels = this._value.map(v => v?.label ?? this._options.find(opt => opt.value === v)?.label).join(', ');\n }\n\n openLookupDialog() {\n if (this.props.disabled) {\n return;\n }\n const dialogRef = this._dialog.open(this.dialog, {\n width: '800px',\n data: {\n ...this.props?.['dialogData'],\n model: (this.model[this.key as string] as any[]) ?? []\n }\n });\n\n this._subs.sink = dialogRef\n .afterClosed()\n .pipe(\n filter(result => result?.action === 'save'),\n distinctUntilChanged(),\n Rx.catchError((ex, caught) => {\n const errorMessage = ex?.error?.message ? ex?.error?.message : 'Bitte versuchen Sie es erneut';\n this._snackbar.open(errorMessage, false);\n return caught;\n })\n )\n .subscribe(res => {\n const selectedValues = res?.model?.selectedValues ?? [];\n this.setDefaultValues(selectedValues);\n });\n }\n\n setDefaultValues(values: OptionItem[]) {\n if (this.to['multiple']) {\n this.formControl.setValue(values);\n } else {\n if (values) {\n this.formControl.setValue(values[0]);\n }\n }\n }\n\n override ngOnDestroy() {\n this._subs.unsubscribe();\n super.ngOnDestroy();\n }\n}\n\nexport interface OptionItem {\n label: string;\n value: string;\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DynamicFormModule } from '@components/dynamic-form/dynamic-form.module';\nimport { MatButtonModule } from '@angular/material/button';\nimport { TableModule } from '@components/table';\nimport { TableWrapperComponent } from '@components/table-wrapper/table-wrapper.component';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { FormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\n\ntype Option = {\n label: string;\n value: string;\n};\n\n@Component({\n selector: 'inf-orderable-select-dialog-component',\n standalone: true,\n imports: [\n CommonModule,\n DynamicFormModule,\n MatButtonModule,\n TableWrapperComponent,\n TableModule,\n MatInputModule,\n MatIconModule,\n MatDialogModule,\n FormsModule,\n MatFormFieldModule,\n MatIconModule,\n MatChipsModule,\n MatMenuModule,\n DragDropModule\n ],\n template: `\n
\n
\n {{ title }}\n
\n \n
\n
Available
\n
Selected
\n
\n
\n {{ option.label }}\n chevron_right\n
\n
\n
\n \n
\n close\n {{ option.label }}\n drag_indicator\n
\n
\n
\n \n \n \n \n \n \n `,\n styles: [\n `\n @use '../../../../styles/base/index' as inf;\n\n :host ::ng-deep inf-table-wrapper {\n .inf-table-wrapper {\n padding: 0 !important;\n }\n }\n\n .header {\n display: flex;\n justify-content: space-between;\n padding: 10px 10px 0 10px;\n\n span {\n //margin-bottom: 16px;\n font-weight: 500;\n font-size: inf.$font-size-normal;\n }\n\n mat-icon {\n margin-top: 1px;\n cursor: pointer;\n }\n }\n\n mat-dialog-actions {\n justify-content: flex-end;\n\n .button {\n margin: 0 8px;\n cursor: pointer;\n }\n }\n\n mat-dialog-content {\n border-top: solid 1px #e5e5e5;\n border-bottom: solid 1px #e5e5e5;\n\n padding-top: 16px;\n padding-bottom: 8px;\n\n .table {\n height: 40vh;\n }\n }\n\n .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix {\n padding-top: 22px !important;\n padding-bottom: 6px !important;\n }\n\n .mat-mdc-text-field-wrapper .mat-mdc-floating-label {\n //.mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label {\n display: block !important;\n font-size: 14px !important;\n }\n\n .mat-mdc-option .mdc-list-item__primary-text {\n font-size: 14px !important;\n }\n\n .select-list {\n display: grid;\n grid-template-columns: 1fr 1fr;\n column-gap: 1rem;\n height: 100%;\n overflow: hidden;\n }\n\n .select-options,\n .selected-options {\n //background: var(--color-primary-light);\n overflow-y: scroll;\n border: 1px solid var(--color-border);\n }\n\n .select-options {\n .select-options-item {\n display: grid;\n grid-template-columns: 1fr 20px;\n grid-column-gap: 0.5rem;\n column-gap: 0.5rem;\n border-bottom: 1px solid var(--color-border);\n cursor: pointer;\n padding: 0.5rem;\n background: var(--color-primary-light);\n }\n }\n\n .selected-options {\n .selected-options-item {\n display: grid;\n grid-template-columns: 25px 1fr 20px;\n grid-column-gap: 0.5rem;\n column-gap: 0.5rem;\n border-bottom: 1px solid var(--color-border);\n padding: 0.5rem;\n background: var(--color-primary-light);\n mat-icon {\n cursor: pointer;\n &:hover {\n color: var(--color-accent);\n }\n }\n }\n .selected-options-item-placeholder {\n background: var(--color-accent);\n border: dotted 2px var(--color-primary);\n min-height: 40px;\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n }\n }\n `\n ]\n})\nexport class OrderableSelectDialogComponent implements OnInit {\n constructor(\n private _dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialogData: { model?: any[]; options?: any[]; title: string }\n ) {\n this._dialogRef.disableClose = true;\n }\n\n title: string = '';\n selected: string[] = [];\n options: Option[] = [];\n\n private selectedSubject = new BehaviorSubject(this.selected);\n\n selectedOptions$: Observable = this.selectedSubject\n .asObservable()\n .pipe(map(selected => selected.map(value => this.options.find(option => option.value === value))));\n\n notSelectedOptions$: Observable = this.selectedSubject\n .asObservable()\n .pipe(map(selected => this.options.filter(option => !selected.includes(option.value))));\n\n async ngOnInit() {\n this.title = this.dialogData.title;\n this.options = this.dialogData.options ?? [];\n this.selected = Array.isArray(this.dialogData?.model) ? [...this.dialogData.model] : [];\n this.selectedSubject.next(this.selected);\n }\n\n optionMenuDropped(event: CdkDragDrop): void {\n moveItemInArray(this.selected, event.previousIndex, event.currentIndex);\n this.selectedSubject.next(this.selected);\n }\n\n toggleSelectedOption(option: Option) {\n if (this.selected.includes(option.value)) {\n this.selected = this.selected.filter(value => value !== option.value);\n } else {\n this.selected = this.selected.concat([option.value]);\n }\n this.selectedSubject.next(this.selected);\n }\n\n save() {\n if (this.selected?.length > 0 || this.dialogData['emptySelectionAllowed']) {\n this._dialogRef.close({\n action: 'save',\n model: {\n selectedValues: this.selected\n }\n });\n }\n }\n\n cancel() {\n this._dialogRef.close({\n action: 'cancel'\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'inf-expandable-wrapper',\n template: `\n \n \n \n {{ to.label }}\n \n \n \n \n `\n})\nexport class FormlyExpandableWrapper extends FieldWrapper {}\n","import { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n@Directive({\n selector: '[infCustomValidator]',\n providers: [{ provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true }]\n})\nexport class CustomValidatorDirective {\n @Input()\n public appCustomValidator!: ValidatorFn;\n\n public validate(control: AbstractControl): ValidationErrors | null {\n return this.appCustomValidator(control);\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n@Directive({\n selector: '[infFileDragAndDrop]'\n})\nexport class FileDragAndDropDirective {\n @Output('infFileDragAndDrop') fileDrop = new EventEmitter>();\n @Input() preventBodyDrop = true;\n @HostBinding('class.drop-zone-active')\n active = false;\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n event.preventDefault();\n this.active = false;\n\n const { dataTransfer } = event;\n\n if (dataTransfer?.items) {\n const files = [];\n for (let i = 0; i < dataTransfer.items.length; i++) {\n // If dropped items aren't files, reject them\n if (dataTransfer.items[i].kind === 'file') {\n files.push(dataTransfer.items[i].getAsFile());\n }\n }\n dataTransfer.items.clear();\n this.fileDrop.emit(files as Array);\n } else {\n const files = dataTransfer?.files;\n dataTransfer?.clearData();\n this.fileDrop.emit(Array.from(files as FileList));\n }\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n event.stopPropagation();\n event.preventDefault();\n this.active = true;\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n this.active = false;\n }\n\n @HostListener('body:dragover', ['$event'])\n onBodyDragOver(event: DragEvent) {\n if (this.preventBodyDrop) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n @HostListener('body:drop', ['$event'])\n onBodyDrop(event: DragEvent) {\n if (this.preventBodyDrop) {\n event.preventDefault();\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport { IFile } from './models';\nimport { EMPTY, forkJoin, Observable, of } from 'rxjs';\nimport { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { v4 as uuidv4 } from 'uuid';\nimport { FileUploadService } from './services/file-upload.service';\nimport { SubSink } from 'subsink';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\ntype UploadProgressInfo = { value: number; fileName: string };\nexport type FilesReadyInfo = {\n files: IFile[];\n anyDocTypesMissing: boolean;\n performUpload: () => Observable\n};\n\n@Component({\n selector: 'inf-formly-file-upload-type',\n template: `\n
\n {{ props.label }}{{ to.required ? '*' : '' }}\n\n
\n
\n \n Legen Sie ihre Datei hier ab oder klicken Sie auf Datei auswählen, um eine Datei von Ihrem PC auszuwählen.\n \n
\n \n \n
\n\n \n
\n
0\">\n \n {{ progressInfo?.fileName }}\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DateinameDateitypGroße
{{ file.name }}{{ file.format }}{{ file.size | formatFileSize }}\n \n \n \n
\n
\n
\n
\n Die Upload-Größe überschreitet das erlaubte Maximum von {{ overallMaxFileSize | formatFileSize }}. Bitte\n wählen Sie weniger oder\n kleinere Dateien zum Upload aus.\n
\n
\n
\n
\n `,\n styles: [`\n @use '../../../../styles/base' as inf;\n\n .file-upload-wrapper {\n margin-top: 12px;\n\n .file-upload-title {\n font-size: 14px;\n font-weight: 500;\n }\n\n .file-upload-container {\n font-size: 14px;\n border: 2px dashed #9e9e9e;\n padding: 16px;\n overflow: auto;\n\n &:hover {\n /* Primary/500 - Accent */\n border: 2px dashed #18a8e5;\n }\n\n .file-upload-inner-container {\n align-items: center;\n text-align: center;\n\n .head-text {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-size: inf.$font-size-small;\n line-height: 24px;\n text-align: center;\n letter-spacing: 0.5px;\n color: inf.$infrest-black-high-emphasize;\n width: 497px;\n }\n\n .sub-text {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-size: inf.$font-size-small;\n line-height: 21px;\n text-align: center;\n letter-spacing: 0.25px;\n color: inf.$infrest-black-medium-emphasize;\n }\n }\n }\n }\n\n button {\n max-width: 154px;\n margin: 0.5em;\n }\n\n .file-progress-container {\n width: 90%;\n margin: 2em 0 0 0;\n text-align: left;\n\n span {\n font-size: 75%;\n }\n }\n\n .drop-zone-active {\n /* Primary/500 - Accent */\n border: 2px dashed #18a8e5;\n }\n\n button {\n max-width: 154px;\n margin: 0.5em;\n }\n `]\n})\nexport class FileUploadTypeComponent extends FieldType implements OnInit {\n overallMaxFileSize = 10 * 1024 * 1024;\n progressInfos: UploadProgressInfo[] = [];\n files: IFile[] = [];\n subs = new SubSink();\n\n constructor(private fileUploadService: FileUploadService, private readonly snackBar: MatSnackBar) {\n super();\n this.removeFile = this.removeFile.bind(this);\n }\n\n ngOnInit() {\n this.overallMaxFileSize = this.props['maxFileSize'] || this.overallMaxFileSize;\n }\n\n get filesStillUploading(): boolean {\n return this.progressInfos.some(progressInfo => progressInfo.value !== undefined && progressInfo.value < 100);\n }\n\n get filesSizeSum(): number {\n return this.files?.reduce((sum, file) => sum + file.size, 0);\n }\n\n get fileSizeExceedsMax(): boolean {\n return this.filesSizeSum > this.overallMaxFileSize;\n }\n\n public onDrop(files: File[]) {\n this.validateOnAddFiles(files);\n }\n\n public selectFiles(event: Event): void {\n const inputEl = event.target as HTMLInputElement;\n this.validateOnAddFiles(Array.from(inputEl.files));\n }\n\n private validateOnAddFiles(addedFiles: File[]): void {\n const newFiles = addedFiles.map(addedFile => ({\n id: uuidv4(),\n name: addedFile.name.substring(0, addedFile.name.lastIndexOf('.')),\n format: (addedFile.name.indexOf('.') > -1 ? addedFile.name.substring(addedFile.name.lastIndexOf('.')) : '').toLocaleUpperCase(),\n file: addedFile,\n size: addedFile.size,\n isValid:\n !this.files.some(selectedFile => {\n if (selectedFile.name === addedFile.name) {\n this.showSnackBar('alreadyExists', addedFile.name);\n }\n return selectedFile.name === addedFile.name;\n }) && !!(this.containsOnlyValidChars(addedFile.name) || this.showSnackBar('specialChars', addedFile.name)),\n hasChanged: false,\n isOnline: false,\n type: ''\n }));\n\n this.progressInfos = [];\n\n // Only allow single file for now\n // this.files = [...this.files, ...newFiles];\n this.files = [...newFiles];\n\n // Convert value to FileList\n this.value = newFiles.map(file => file.file);\n\n this.emitFilesReady();\n }\n\n upsertFiles() {\n return forkJoin(\n this.files\n // .filter(file => file.hasChanged && file.type)\n .map((file, i) => {\n //changing file name after being uploaded would need a bigger change in BE, so for now will be disabled\n // if (file.hasChanged && file.isOnline) {\n // //currently just returns empty\n // return this.fileUploadService.updateFile$(this.vorgangId, file);\n // }\n if (!file.isOnline) {\n return this.upload(i, file.name, file.file, file.id);\n }\n return of(null);\n })\n );\n }\n\n fileNameValidator: ValidatorFn = (control: AbstractControl) => {\n // any component logic here\n if (this.files.filter(file => file.name === control.value).length > 1) {\n control.markAsTouched();\n return { sameName: true };\n } else if (!this.containsOnlyValidChars(control.value)) {\n control.markAsTouched();\n return { specialChars: true };\n }\n return null;\n };\n\n typeValidator: ValidatorFn = (control: AbstractControl) => {\n if (control.value === '') {\n control.markAsTouched();\n return { noType: true };\n }\n return {};\n };\n\n downloadFile(fileId: string) {\n this.subs.sink = this.fileUploadService.getFileForDownload(fileId).subscribe((resp: any) => {\n const dispositionHeader = resp.headers.get('content-disposition');\n const firstIndex = dispositionHeader.indexOf('\"') + 1;\n const lastIndex = dispositionHeader.lastIndexOf('\"');\n const blob = new Blob([resp.body], { type: resp.type });\n const downloadURL = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = downloadURL;\n link.download = dispositionHeader.slice(firstIndex, lastIndex);\n link.click();\n });\n }\n\n removeFile(file: IFile): void {\n const showFileRemovedMessage = () => this.snackBar.open(`Datei '${file.name}' entfernt`, 'Schließen');\n const selectedFileIndex = this.files.findIndex(f => f.id === file.id);\n\n if (selectedFileIndex >= 0) {\n showFileRemovedMessage();\n this.files.splice(selectedFileIndex, 1);\n if (file.isOnline) {\n file.isDeleted = true;\n }\n }\n\n this.value = this.files.length > 0 ? this.files[0] : null;\n\n this.emitFilesReady();\n }\n\n private containsOnlyValidChars(fileName: string): boolean {\n const format = /^[\\w \\-\\.]*$/; // any word character [a-zA-Z0-9_ ], - or .\n return format.test(fileName);\n }\n\n private showSnackBar(error: 'alreadyExists' | 'specialChars', fileName: string): void {\n let message = '';\n switch (error) {\n case 'alreadyExists':\n message = `Achtung: Upload wurde abgebrochen. Beachten Sie die Hinweise zu Uploadgröße und Namenskonventionen. Die Datei mit dem Namen \"${fileName}\" ist bereits vorhanden.`;\n break;\n case 'specialChars':\n message = `Achtung: Upload wurde abgebrochen. Beachten Sie die Hinweise zu Uploadgröße und Namenskonventionen. Die Datei mit dem Namen \"${fileName}\" enthält unerlaubte Sonderzeichen.`;\n break;\n }\n // this.snackBar.open(message, 'Schließen');\n }\n\n private upload(idx: number, fileName: string, file: File, fileId: string) {\n this.progressInfos[idx] = { value: undefined, fileName: fileName };\n\n if (file) {\n // return this.fileUploadService.uploadVorgangFile(file, fileId, this.vorgangId).pipe(\n // // skipUntil(timer(2000)),\n // tap(progress => (this.progressInfos[idx].value = Math.round((100 * progress.loaded) / progress.total))),\n // catchError(err => {\n // this.progressInfos[idx].value = 0;\n // throw err;\n // })\n // );\n }\n return EMPTY;\n }\n\n private validateDocuments(): boolean {\n this.snackBar.dismiss();\n\n const isValidAndUniqueNames = this.files.every(file => {\n const isValid = this.containsOnlyValidChars(file.name);\n const isUnique = this.files.filter(otherFile => otherFile.name === file.name).length === 1;\n\n return isValid && isUnique;\n });\n\n if (!isValidAndUniqueNames) {\n return false;\n }\n\n if (this.fileSizeExceedsMax) {\n return false;\n }\n\n return true;\n }\n\n private emitFilesReady() {\n // this.filesReady.emit({\n // files: this.files,\n // anyDocTypesMissing: !this.validateDocuments(),\n // performUpload: () => this.upsertFiles()\n // });\n }\n}\n","import { HttpClient, HttpEventType, HttpProgressEvent, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EMPTY, filter, map, Observable, Subject } from 'rxjs';\nimport { IFile } from '../models/file';\nimport {environment} from \"../../../../../environments/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileUploadService {\n private readonly fileApiUrl = `${environment.apiUrl}api/v1/dateispeicher/vorgang`;\n private subject$ = new Subject();\n private isValidated = false;\n\n constructor(private readonly http: HttpClient) {}\n\n getAllFiles$(inquiryId: string) {\n return this.http.get(`${this.fileApiUrl}/${inquiryId}`);\n }\n\n getFile$(inquiryId: string, fileId: string): Observable {\n return this.http.get(`${this.fileApiUrl}/${inquiryId}/${fileId}`, {\n responseType: 'blob'\n });\n }\n\n getFileForDownload(fileId: string) {\n return this.http.get(`${this.fileApiUrl}/${fileId}`, {\n observe: 'response',\n responseType: 'blob' as 'json'\n });\n }\n\n uploadVorgangFile(file: File, scopeId: string, vorgangId: string) {\n const formData = new FormData();\n formData.append('partition', `lap/vorgang/dateien`);\n formData.append('scope', scopeId);\n formData.append('file', file);\n const req = new HttpRequest('POST', this.fileApiUrl, formData, {\n reportProgress: true,\n responseType: 'json'\n });\n\n return this.http.request(req).pipe(\n filter(event => event.type === HttpEventType.UploadProgress),\n map((event: HttpProgressEvent) => ({ loaded: event.loaded, total: event.total }))\n );\n }\n\n updateFile$(inquiryId: string, file: IFile): Observable {\n return EMPTY;\n // if (!file.hasChanged) return EMPTY;\n // return this.http.patch(`${this.fileApiUrl}/${inquiryId}/${file.id}`, {\n // name: file.name,\n // type: file.type.id,\n // format: file.format.trim().replace('.', '')\n // });\n }\n\n deleteFile$(inquiryId: string, fileId: string): Observable {\n return EMPTY;\n return this.http.delete(`${this.fileApiUrl}/${inquiryId}/${fileId}`);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nconst sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n@Pipe({\n name: 'formatFileSize'\n})\nexport class FormatFileSizePipe implements PipeTransform {\n transform(bytes: number, decimalPlaces = 2): string {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimalPlaces < 0 ? 0 : decimalPlaces;\n\n let tempBytes = bytes;\n let i = 0;\n while (tempBytes > 1000 && i < sizes.length) {\n tempBytes = tempBytes / k;\n i++;\n }\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)).toLocaleString('de-de') + ' ' + sizes[i];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyWrapperComponent } from './formly-wrapper.component';\nimport { AutocompleteTypeComponent } from './autocomplete-type.component';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyMaterialModule } from '@ngx-formly/material';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { SelectTypeComponent } from './select-type.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { FileUploadTypeComponent } from './file-upload-type/file-upload-type.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { FileDragAndDropDirective } from './file-upload-type/directives/file-drag-and-drop.directive';\nimport { CustomValidatorDirective } from './file-upload-type/directives/custom-validator.directive';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormatFileSizePipe } from './file-upload-type/services/format-file-size.pipe';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { FileValueAccessor } from '@utils/file-value-accessor';\nimport { DialogSelectTypeComponent } from '@components/formly/dialog-select-type.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ChipInputTypeComponent } from '@components/formly/chip-input-type.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { QuillModule } from 'ngx-quill';\nimport { RteTypeComponent } from './rte-type.component';\nimport { FormlyExpandableWrapper } from '@components/formly/exandable-wrapper.component';\nimport { MatExpansionPanel, MatExpansionPanelDescription, MatExpansionPanelHeader, MatExpansionPanelTitle } from '@angular/material/expansion';\nimport { FormlyDatePickerComponent } from '@components/formly/datepicker-type.component';\nimport { MatDatepicker, MatDatepickerInput, MatDatepickerToggle } from '@angular/material/datepicker';\n\n@NgModule({\n declarations: [\n FormlyExpandableWrapper,\n FormlyWrapperComponent,\n FileValueAccessor,\n AutocompleteTypeComponent,\n SelectTypeComponent,\n FileUploadTypeComponent,\n FileDragAndDropDirective,\n CustomValidatorDirective,\n FormatFileSizePipe,\n DialogSelectTypeComponent,\n ChipInputTypeComponent,\n RteTypeComponent,\n FormlyDatePickerComponent\n ],\n imports: [\n CommonModule,\n MatAutocompleteModule,\n ReactiveFormsModule,\n FormlyMaterialModule,\n MatChipsModule,\n MatInputModule,\n MatIconModule,\n MatSnackBarModule,\n MatButtonModule,\n MatProgressBarModule,\n MatDialogModule,\n MatSelectModule,\n FormlyModule.forChild({}),\n QuillModule,\n MatExpansionPanel,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatDatepicker,\n MatDatepickerToggle,\n MatDatepickerInput\n ],\n exports: [FormlyWrapperComponent, FormlyDatePickerComponent, FormlyExpandableWrapper, AutocompleteTypeComponent, SelectTypeComponent, FileUploadTypeComponent]\n})\nexport class FormlyComponentsModule {}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'inf-formly-wrapper',\n template: `\n
\n

{{ to.label }}

\n \n
\n
\n `\n})\nexport class FormlyWrapperComponent extends FieldWrapper {}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { FieldType, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\n\n@Component({\n selector: 'app-note',\n imports: [CommonModule, MatIconModule],\n template: `\n
\n {{ icon }}\n
\n
{{ title }}
\n
\n
\n
\n `,\n styles: [\n `\n @use '../../../styles/base' as inf;\n\n .container {\n border-radius: 4px;\n display: flex;\n font-size: inf.$font-size-small;\n gap: 18px;\n max-width: 100vw;\n min-width: 240px;\n padding: 16px;\n margin-bottom: 12px;\n }\n\n mat-icon {\n height: 20px;\n width: 20px;\n font-size: 20px;\n }\n\n .title {\n font-weight: 500;\n padding-bottom: 8px;\n }\n .highlight {\n border: 1px solid inf.$infrest-highlight-border-color;\n background-color: inf.$infrest-highlight-background-color;\n mat-icon {\n color: inf.$infrest-primary-variant-700;\n }\n }\n\n .warning {\n border: 1px solid inf.$infrest-warning-border-color;\n background-color: inf.$infrest-warning-background-color;\n mat-icon {\n color: inf.$infrest-warning-color-dark;\n }\n }\n\n .critical {\n border: 1px solid inf.$infrest-error-color;\n background-color: inf.$infrest-error-background-color;\n mat-icon {\n color: inf.$infrest-error-color-dark;\n }\n }\n\n .disabled {\n opacity: 0.45;\n }\n `\n ],\n standalone: true\n})\nexport class NoteComponent implements OnInit {\n @Input() noteType = 'highlight' || 'critical' || 'warning';\n @Input() title: string;\n @Input() content: string;\n disabled = false;\n icon: string;\n\n constructor() {}\n\n ngOnInit(): void {\n switch (this.noteType) {\n case 'highlight':\n this.icon = 'info_outline';\n break;\n case 'critical':\n this.icon = 'warning_amber';\n break;\n case 'warning':\n this.icon = 'notifications_active';\n break;\n default:\n this.icon = 'info_outline';\n }\n }\n}\n\n@Component({\n selector: 'formly-note',\n imports: [CommonModule, MatIconModule],\n template: `\n
\n {{ icon }}\n
\n
{{ title }}
\n
\n
\n
\n `,\n styles: [\n `\n @use '../../../styles/base' as inf;\n\n .container {\n border-radius: 4px;\n display: flex;\n font-size: inf.$font-size-small;\n gap: 18px;\n max-width: 100vw;\n min-width: 240px;\n padding: 16px;\n margin-bottom: 12px;\n }\n\n mat-icon {\n height: 20px;\n width: 20px;\n font-size: 20px;\n overflow: visible;\n }\n\n .title {\n font-weight: 500;\n padding-bottom: 8px;\n }\n .highlight {\n border: 1px solid inf.$infrest-highlight-border-color;\n background-color: inf.$infrest-highlight-background-color;\n mat-icon {\n color: inf.$infrest-primary-variant-700;\n }\n }\n\n .warning {\n border: 1px solid inf.$infrest-warning-border-color;\n background-color: inf.$infrest-warning-background-color;\n mat-icon {\n color: inf.$infrest-warning-color-dark;\n }\n }\n\n .critical {\n border: 1px solid inf.$infrest-error-color;\n background-color: inf.$infrest-error-background-color;\n mat-icon {\n color: inf.$infrest-error-color-dark;\n }\n }\n\n .disabled {\n opacity: 0.45;\n }\n `\n ],\n standalone: true\n})\nexport class FormlyNoteComponent extends FieldType implements OnInit {\n title: string = '';\n content: string = '';\n noteType: string = '';\n disabled = false;\n icon: string;\n\n ngOnInit() {\n this.title = this.to['title'];\n this.content = this.to['content'];\n this.noteType = this.to['noteType'] || 'highlight';\n this.disabled = this.to['disabled'];\n\n switch (this.to['noteType']) {\n case 'highlight':\n this.icon = 'info_outline';\n break;\n case 'critical':\n this.icon = 'warning_amber';\n break;\n case 'warning':\n this.icon = 'notifications_active';\n break;\n default:\n this.icon = 'info_outline';\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\n\n\n@Component({\n selector: 'inf-formly-rte-type',\n template: `\n
\n

{{ props['label'] }}

\n \n
\n `,\n styles: [`\n .container {\n margin-bottom: 12px;\n }\n\n .disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .label {\n font-size: 14px;\n font-weight: 500;\n margin-bottom: 8px;\n }\n `]\n})\nexport class RteTypeComponent extends FieldType {\n quillConfiguration = {\n toolbar: [\n ['bold', 'italic', 'underline', 'link']\n ]\n }\n}","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-section',\n template: `\n
\n
\n

{{ props.label }}

\n
\n `\n})\nexport class FormlySectionComponent extends FieldType {\n}","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\nimport { FieldTypeConfig } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '@environments/environment';\nimport { SubSink } from 'subsink';\nimport * as Rx from 'rxjs';\n\n@Component({\n selector: 'inf-formly-select-type',\n template: `\n \n {{ props.label }}{{props.required ? ' *' : ''}}\n \n {{ option.label }}\n \n \n \n \n \n `\n})\nexport class SelectTypeComponent extends FieldType implements OnInit {\n selectOptions = new Rx.BehaviorSubject([]);\n\n @ViewChild('selectComponent') selectComponent;\n\n constructor(private http: HttpClient) {\n super();\n }\n\n private readonly _subs = new SubSink();\n\n public onClick() {\n this._subs.sink = this.getOptions().subscribe((res) => {\n this.selectOptions.next(res.options);\n // Fix for having to click twice before options pane opens\n setTimeout(() => this.selectComponent.open(), 0);\n });\n }\n\n ngOnInit() {\n const initialModelValue = this.model[this.key as string];\n\n //set options and default value initially\n this.http.post(`${environment.apiUrl}${this.props['endpoint']}`, {}).subscribe(res => {\n this.selectOptions.next(res.options);\n if (initialModelValue) {\n //ignore defaultValues if values are set in model\n this.props['multiple'] ? this.formControl.setValue(initialModelValue) : this.formControl.setValue(Array.isArray(initialModelValue) ? initialModelValue[0] : initialModelValue);\n } else {\n this.setDefaultValues(res.defaultValue);\n }\n });\n }\n\n private getOptions() {\n // Always clear last options before fetching new options.\n // this.selectOptions.next([]);\n // Don't get options if field is disabled.\n if (this.props.disabled) {\n return Rx.of({ options: [], defaultValue: [] });\n }\n\n // Append values from model to endpoint call body\n let body = {};\n /* Example \n {\n \"key\": \"wms-bild-format\",\n \"type\": \"select-with-endpoint\",\n \"props\": {\n \"label\": \"WMS Bildformat\",\n \"endpoint\": \"api-admin/v1/toeb/wms-capability/options\",\n \"endpointModelBodyMapping\": {\n \"username\": \"wms-benutzername\",\n \"password\": \"wms-passwort\",\n \"baseUrl\": \"wms-url\",\n \"version\": \"wms-version\"\n },\n \"endpointFixedArguments\": {\n \"capability\": \"imageFormat\"\n }\n },\n \"className\": \"field\"\n },\n */\n const endpointModelBodyMapping = this.props['endpointModelBodyMapping'];\n if (endpointModelBodyMapping) {Object.assign(body, this.buildEndpointBody(endpointModelBodyMapping, this.model))}\n const endpointFixedArguments = this.props['endpointFixedArguments'];\n if (endpointFixedArguments) {Object.assign(body, endpointFixedArguments)};\n\n return this.http.post(`${environment.apiUrl}${this.props['endpoint']}`, body).pipe(\n Rx.map(res => {\n return res;\n }),\n Rx.catchError((_: Error) => {\n return Rx.of({ options: [], defaultValue: [] });\n })\n );\n }\n\n private buildEndpointBody(mapping, model) {\n const body = {};\n Object.entries(model).forEach(([fieldname,fieldvalue]) => {\n const mappingForThisField = Object.entries(mapping).find(([k,v]) => v === fieldname);\n if (!mappingForThisField) return;\n const argumentName = mappingForThisField[0];\n body[argumentName] = fieldvalue;\n })\n return body;\n }\n\n setDefaultValues(values: string[]) {\n if (this.props['multiple']) {\n this.formControl.setValue(values);\n } else {\n if (values) {\n this.formControl.setValue(Array.isArray(values) ? values[0] : values);\n }\n }\n }\n}\n\ninterface OptionItem {\n label: string;\n value: string;\n}\n\ninterface OptionResponse {\n options: OptionItem[];\n defaultValue: string[];\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-spacing',\n template: `\n
\n `\n})\nexport class FormlySpacingComponent extends FieldType {}\n","import { Component, ElementRef, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { icons } from './icons';\n\nexport type IconSize = 'ti' | 'sm' | 'rg' | 'md' | 'lg' | 'xxl';\nexport type IconType = keyof typeof icons;\n\n@Component({\n selector: 'inf-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent implements OnInit, OnChanges {\n @Input() icon: IconType = 'account';\n @Input() size: IconSize = 'rg';\n @Input() asButton = false;\n @Input() spin = false;\n\n private readonly elementRef = inject(ElementRef);\n\n iconData!: string;\n width!: string;\n transform!: string;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.iconData = this.getIcon(changes['icon'].currentValue);\n this.transform = this.getTransform(this.icon);\n }\n\n if (changes['size']) {\n this.width = this.getSize(this.size);\n }\n }\n\n ngOnInit(): void {\n this.iconData = this.getIcon(this.icon);\n this.transform = this.getTransform(this.icon);\n this.width = this.getSize(this.size);\n }\n\n private getIcon(iconName: IconType): string {\n const iconData = icons[iconName];\n\n if (!iconData) {\n console.warn(\n `Could not find icon for ${iconName}, displaying default. Right click this and select reveal element to find out where:`,\n this.elementRef.nativeElement\n );\n return icons['exclamation-triangle'];\n }\n\n return iconData;\n }\n\n private getSize(size: IconSize): string {\n switch (size) {\n case 'ti':\n return '0.75rem';\n case 'sm':\n return '1rem';\n case 'rg':\n return '1.25rem';\n case 'md':\n return '1.5rem';\n case 'lg':\n return '2rem';\n case 'xxl':\n return '3rem';\n default:\n return '1.25rem';\n }\n }\n\n private getTransform(icon: string): string {\n switch (icon) {\n case 'kofo':\n return 'translate(-4312 6441.6) scale(1.6)';\n case 'ivr':\n return 'translate(-4312 7017.6) scale(1.6)';\n default:\n return '';\n }\n }\n}\n","\n \n\n","// prettier-ignore\n// Use only the SVG icons from https://materialdesignicons.com/\n// Please do not reformat the icon map. Double quotes are required.\n// VSCode will fuck up the sorting if you reformat.\n// Also please try to keep the alphabetical sorting by key.\nexport const icons = {\n \"gasag-user\": \"M12,2.7c-5.2,0-9.3,4.2-9.3,9.3s4.2,9.3,9.3,9.3s9.3-4.2,9.3-9.3S17.2,2.7,12,2.7z M15.6,15.4 c-1,0.3-2.1,0.5-3.3,0.5c-1.3,0-2.3-0.4-3.1-1.1s-1.1-1.9-1.1-3.3c0-1.4,0.4-2.5,1.2-3.2s1.9-1.2,3.3-1.2c0.5,0,1,0.1,1.5,0.2 s0.9,0.2,1.3,0.4l-0.7,1.8c-0.6-0.3-1.3-0.5-2-0.5c-0.7,0-1.2,0.2-1.6,0.7s-0.6,1.1-0.6,1.9c0,0.8,0.2,1.4,0.5,1.8s0.8,0.6,1.4,0.6 c0.3,0,0.7,0,0.9-0.1v-1.3h-1.5v-1.8h3.7V15.4z\",\n \"account\": \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\",\n \"account-arrow-right-outline\": \"M10 13C7.33 13 2 14.33 2 17V20H13.09C13.07 19.86 13.05 19.73 13.04 19.59C13 19.4 13 19.2 13 19C13 18.69 13.03 18.39 13.08 18.1C13.21 17.21 13.54 16.38 14 15.66C14.21 15.38 14.42 15.12 14.65 14.88L14.67 14.85C14.9 14.61 15.16 14.39 15.43 14.19C14.76 13.88 14 13.64 13.26 13.45C12.07 13.15 10.89 13 10 13M11.05 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.68 14.9 11.36 15 12 15.11C11.5 16 11.18 17 11.05 18.1M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M20 22V20H16V18H20V16L23 19L20 22Z\",\n \"account-box\": \"M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z\",\n \"account-edit-outline\": \"M2 17V20H10V18.11H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.96 14.91 11.91 15.04 12.83 15.28L14.35 13.76C12.95 13.29 11.5 13.03 10 13C7.33 13 2 14.33 2 17M10 4C7.79 4 6 5.79 6 8S7.79 12 10 12 14 10.21 14 8 12.21 4 10 4M10 10C8.9 10 8 9.11 8 8S8.9 6 10 6 12 6.9 12 8 11.11 10 10 10M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.86 11.14 20.21 11.14 20.42 11.35L21.7 12.63C21.91 12.84 21.91 13.19 21.7 13.4M12 18.94L18.06 12.88L20.11 14.88L14.11 20.95H12V18.94\",\n \"account-group\": \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\",\n \"account-outline\": \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z\",\n \"account-tie\": \"M12 3C14.21 3 16 4.79 16 7S14.21 11 12 11 8 9.21 8 7 9.79 3 12 3M16 13.54C16 14.6 15.72 17.07 13.81 19.83L13 15L13.94 13.12C13.32 13.05 12.67 13 12 13S10.68 13.05 10.06 13.12L11 15L10.19 19.83C8.28 17.07 8 14.6 8 13.54C5.61 14.24 4 15.5 4 17V21H20V17C20 15.5 18.4 14.24 16 13.54Z\",\n \"account-circle\": \"M12,19.2C9.5,19.2 7.29,17.92 6,16C6.03,14 10,12.9 12,12.9C14,12.9 17.97,14 18,16C16.71,17.92 14.5,19.2 12,19.2M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\",\n \"alert\": \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\",\n \"alert-circle\": \"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\",\n \"alert-outline\": \"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16\",\n \"arrow-left-box\": \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M18,11H9.5L13,7.5L11.58,6.08L5.66,12L11.58,17.92L13,16.5L9.5,13H18V11Z\",\n \"arrow-left-thin\": \"M10.05 16.94V12.94H18.97L19 10.93H10.05V6.94L5.05 11.94Z\",\n \"arrow-up-right\": \"M3 21V17H10.5C12.43 17 14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21H3Z\",\n \"autofix\": \"M7.5,5.6L5,7L6.4,4.5L5,2L7.5,3.4L10,2L8.6,4.5L10,7L7.5,5.6M19.5,15.4L22,14L20.6,16.5L22,19L19.5,17.6L17,19L18.4,16.5L17,14L19.5,15.4M22,2L20.6,4.5L22,7L19.5,5.6L17,7L18.4,4.5L17,2L19.5,3.4L22,2M13.34,12.78L15.78,10.34L13.66,8.22L11.22,10.66L13.34,12.78M14.37,7.29L16.71,9.63C17.1,10 17.1,10.65 16.71,11.04L5.04,22.71C4.65,23.1 4,23.1 3.63,22.71L1.29,20.37C0.9,20 0.9,19.35 1.29,18.96L12.96,7.29C13.35,6.9 14,6.9 14.37,7.29Z\",\n \"ban\": \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\",\n \"bell\": \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\",\n \"bolt\": \"M7,2V13H10V22L17,10H13L17,2H7Z\",\n \"cake-variant\": \"M12,6C13.11,6 14,5.1 14,4C14,3.62 13.9,3.27 13.71,2.97L12,0L10.29,2.97C10.1,3.27 10,3.62 10,4A2,2 0 0,0 12,6M16.6,16L15.53,14.92L14.45,16C13.15,17.29 10.87,17.3 9.56,16L8.5,14.92L7.4,16C6.75,16.64 5.88,17 4.96,17C4.23,17 3.56,16.77 3,16.39V21A1,1 0 0,0 4,22H20A1,1 0 0,0 21,21V16.39C20.44,16.77 19.77,17 19.04,17C18.12,17 17.25,16.64 16.6,16M18,9H13V7H11V9H6A3,3 0 0,0 3,12V13.54C3,14.62 3.88,15.5 4.96,15.5C5.5,15.5 6,15.3 6.34,14.93L8.5,12.8L10.61,14.93C11.35,15.67 12.64,15.67 13.38,14.93L15.5,12.8L17.65,14.93C18,15.3 18.5,15.5 19.03,15.5C20.11,15.5 21,14.62 21,13.54V12A3,3 0 0,0 18,9Z\",\n \"cake-variant-outline\": \"M12 6C13.11 6 14 5.1 14 4C14 3.62 13.9 3.27 13.71 2.97L12 0L10.29 2.97C10.1 3.27 10 3.62 10 4C10 5.1 10.9 6 12 6M18 9H13V7H11V9H6C4.34 9 3 10.34 3 12V21C3 21.55 3.45 22 4 22H20C20.55 22 21 21.55 21 21V12C21 10.34 19.66 9 18 9M19 20H5V17C5.9 17 6.76 16.63 7.4 16L8.5 14.92L9.56 16C10.87 17.3 13.15 17.29 14.45 16L15.53 14.92L16.6 16C17.24 16.63 18.1 17 19 17V20M19 15.5C18.5 15.5 18 15.3 17.65 14.93L15.5 12.8L13.38 14.93C12.64 15.67 11.35 15.67 10.61 14.93L8.5 12.8L6.34 14.93C6 15.29 5.5 15.5 5 15.5V12C5 11.45 5.45 11 6 11H18C18.55 11 19 11.45 19 12V15.5Z\",\n \"calendar\": \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z\",\n \"cancel\": \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\",\n \"cellphone-text\": \"M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z\",\n \"chat-processing\": \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M17 12V10H15V12H17M13 12V10H11V12H13M9 12V10H7V12H9Z\",\n \"check\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\",\n \"check-bold\": \"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\",\n \"check-circle\": \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z\",\n \"check-decagram\": \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9L10,17Z\",\n \"checkbox-blank-circle-outline\": \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\",\n \"chevron-double-down\": \"M16.59,5.59L18,7L12,13L6,7L7.41,5.59L12,10.17L16.59,5.59M16.59,11.59L18,13L12,19L6,13L7.41,11.59L12,16.17L16.59,11.59Z\",\n \"chevron-double-left\": \"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z\",\n \"chevron-double-right\": \"M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z\",\n \"chevron-double-up\": \"M7.41,18.41L6,17L12,11L18,17L16.59,18.41L12,13.83L7.41,18.41M7.41,12.41L6,11L12,5L18,11L16.59,12.41L12,7.83L7.41,12.41Z\",\n \"chevron-down\": \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\",\n \"chevron-left\": \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\",\n \"chevron-right\": \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\",\n \"chevron-right-box\": \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M9.71,18L8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18Z\",\n \"chevron-up\": \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\",\n \"child-node\": \"M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z\",\n \"circle\": \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\",\n \"click\": \"M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\",\n \"close\": \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\",\n \"close-circle\": \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z\",\n \"cog\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\",\n \"comment-quote\": \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M11 13H7V8.8L8.3 6H10.3L8.9 9H11V13M17 13H13V8.8L14.3 6H16.3L14.9 9H17V13Z\",\n \"contact\": \"M22,3H2C0.91,3.04 0.04,3.91 0,5V19C0.04,20.09 0.91,20.96 2,21H22C23.09,20.96 23.96,20.09 24,19V5C23.96,3.91 23.09,3.04 22,3M22,19H2V5H22V19M14,17V15.75C14,14.09 10.66,13.25 9,13.25C7.34,13.25 4,14.09 4,15.75V17H14M9,7A2.5,2.5 0 0,0 6.5,9.5A2.5,2.5 0 0,0 9,12A2.5,2.5 0 0,0 11.5,9.5A2.5,2.5 0 0,0 9,7M14,7V8H20V7H14M14,9V10H20V9H14M14,11V12H18V11H14\",\n \"content-duplicate\": \"M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z\",\n \"copy\": \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\",\n \"cube\": \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15Z\",\n \"database\": \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z\",\n \"database-outline\": \"M7 2H15V3H17V4H18V5H19V17H18V18H17V19H15V20H7V19H5V18H4V17H3V5H4V4H5V3H7V2M8 16V15H6V14H5V16H6V17H8V18H14V17H16V16H17V14H16V15H14V16H8M8 11V10H6V9H5V12H7V13H9V14H13V13H15V12H17V9H16V10H14V11H8M9 8V9H13V8H15V7H17V6H16V5H14V4H8V5H6V6H5V7H7V8H9Z\",\n \"delete\": \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\",\n \"document\": \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z\",\n \"dots-horizontal\": \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\",\n \"dots-vertical\": \"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\",\n \"edit\": \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94Z\",\n \"email-edit-outline\": \"M19.07 13.88L13 19.94V22H15.06L21.12 15.93M22.7 13.58L21.42 12.3C21.32 12.19 21.18 12.13 21.04 12.13C20.89 12.14 20.75 12.19 20.65 12.3L19.65 13.3L21.7 15.3L22.7 14.3C22.89 14.1 22.89 13.78 22.7 13.58M11 18H4V8L12 13L20 8V10H22V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M20 6L12 11L4 6H20Z\",\n \"email-send-outline\": \"M13 17H17V14L22 18.5L17 23V20H13V17M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11V18H4V8L12 13L20 8V14H22V6A2 2 0 0 0 20 4M12 11L4 6H20Z\",\n \"email-send\": \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M20 22V20H16V18H20V16L23 19L20 22Z\",\n \"exclamation\": \"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\",\n \"exclamation-triangle\": \"M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z\",\n \"exit-to-app\": \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\",\n \"export\": \"M23,12L19,8V11H10V13H19V16M1,18V6C1,4.89 1.9,4 3,4H15A2,2 0 0,1 17,6V9H15V6H3V18H15V15H17V18A2,2 0 0,1 15,20H3A2,2 0 0,1 1,18Z\",\n \"external-link\": \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\",\n \"eye-outline\": \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\",\n \"face-angry\": \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5V8L10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5\",\n \"face-happy\": \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\",\n \"face-neutral\": \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5M16,14V16H8V14H16Z\",\n \"face-sad\": \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14Z\",\n \"fax\": \"M11,6H16V8H11V6M8,9V3H19V9A3,3 0 0,1 22,12V18H19V21H8V18H7V9H8M10,5V9H17V5H10M10,15V19H17V15H10M19,11A1,1 0 0,0 18,12A1,1 0 0,0 19,13A1,1 0 0,0 20,12A1,1 0 0,0 19,11M4,9H5A1,1 0 0,1 6,10V17A1,1 0 0,1 5,18H4A2,2 0 0,1 2,16V11A2,2 0 0,1 4,9Z\",\n \"feedback\": \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M16,14H8V13C8,11.67 10.67,11 12,11C13.33,11 16,11.67 16,13V14M12,6A2,2 0 0,1 14,8A2,2 0 0,1 12,10A2,2 0 0,1 10,8A2,2 0 0,1 12,6Z\",\n \"file-document\": \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z\",\n \"file-pdf-box\": \"M12,10.5H13V13.5H12V10.5M7,11.5H8V10.5H7V11.5M20,6V18A2,2 0 0,1 18,20H6A2,2 0 0,1 4,18V6A2,2 0 0,1 6,4H18A2,2 0 0,1 20,6M9.5,10.5A1.5,1.5 0 0,0 8,9H5.5V15H7V13H8A1.5,1.5 0 0,0 9.5,11.5V10.5M14.5,10.5A1.5,1.5 0 0,0 13,9H10.5V15H13A1.5,1.5 0 0,0 14.5,13.5V10.5M18.5,9H15.5V15H17V13H18.5V11.5H17V10.5H18.5V9Z\",\n \"file-png-box\": \"M6.5 10.5H7.5V11.5H6.5V10.5M20 6V18C20 19.1 19.1 20 18 20H6C4.9 20 4 19.1 4 18V6C4 4.9 4.9 4 6 4H18C19.1 4 20 4.9 20 6M9 10.5C9 9.67 8.33 9 7.5 9H5V15H6.5V13H7.5C8.33 13 9 12.33 9 11.5V10.5M14 9H12.5V11.5L11.5 9H10V15H11.5V12.5L12.5 15H14V9M19 10.33C19 9.67 18.47 9 17.67 9H16.33C15.53 9 15 9.67 15 10.33V13.67C15 14.33 15.53 15 16.33 15H17.67C18.47 15 19 14.33 19 13.67V12H17.5V13.5H16.5V10.5H19V10.33Z\",\n \"fire\": \"M17.66 11.2C17.43 10.9 17.15 10.64 16.89 10.38C16.22 9.78 15.46 9.35 14.82 8.72C13.33 7.26 13 4.85 13.95 3C13 3.23 12.17 3.75 11.46 4.32C8.87 6.4 7.85 10.07 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C6.87 12.33 6.69 10.28 7.45 8.64C5.78 10 4.87 12.3 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C18.86 17.66 19.5 15 18.56 12.72L18.43 12.46C18.22 12 17.66 11.2 17.66 11.2M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.78 14.43 12.46 13.77 12.33 13C12.21 12.26 12.23 11.63 12.5 10.94C12.69 11.32 12.89 11.7 13.13 12C13.9 13 15.11 13.44 15.37 14.8C15.41 14.94 15.43 15.08 15.43 15.23C15.46 16.05 15.1 16.95 14.5 17.5H14.5Z\",\n \"flash-outline\": \"M7,2H17L13.5,9H17L10,22V14H7V2M9,4V12H12V14.66L14,11H10.24L13.76,4H9Z\",\n \"forum\": \"M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\",\n \"frequently-asked-questions\": \"M18,15H6L2,19V3A1,1 0 0,1 3,2H18A1,1 0 0,1 19,3V14A1,1 0 0,1 18,15M23,9V23L19,19H8A1,1 0 0,1 7,18V17H21V8H22A1,1 0 0,1 23,9M8.19,4C7.32,4 6.62,4.2 6.08,4.59C5.56,5 5.3,5.57 5.31,6.36L5.32,6.39H7.25C7.26,6.09 7.35,5.86 7.53,5.7C7.71,5.55 7.93,5.47 8.19,5.47C8.5,5.47 8.76,5.57 8.94,5.75C9.12,5.94 9.2,6.2 9.2,6.5C9.2,6.82 9.13,7.09 8.97,7.32C8.83,7.55 8.62,7.75 8.36,7.91C7.85,8.25 7.5,8.55 7.31,8.82C7.11,9.08 7,9.5 7,10H9C9,9.69 9.04,9.44 9.13,9.26C9.22,9.08 9.39,8.9 9.64,8.74C10.09,8.5 10.46,8.21 10.75,7.81C11.04,7.41 11.19,7 11.19,6.5C11.19,5.74 10.92,5.13 10.38,4.68C9.85,4.23 9.12,4 8.19,4M7,11V13H9V11H7M13,13H15V11H13V13M13,4V10H15V4H13Z\",\n \"function\": \"M12.42,5.29C11.32,5.19 10.35,6 10.25,7.11L10,10H12.82V12H9.82L9.38,17.07C9.18,19.27 7.24,20.9 5.04,20.7C3.79,20.59 2.66,19.9 2,18.83L3.5,17.33C3.83,18.38 4.96,18.97 6,18.63C6.78,18.39 7.33,17.7 7.4,16.89L7.82,12H4.82V10H8L8.27,6.93C8.46,4.73 10.39,3.1 12.6,3.28C13.86,3.39 15,4.09 15.66,5.17L14.16,6.67C13.91,5.9 13.23,5.36 12.42,5.29M22,13.65L20.59,12.24L17.76,15.07L14.93,12.24L13.5,13.65L16.35,16.5L13.5,19.31L14.93,20.72L17.76,17.89L20.59,20.72L22,19.31L19.17,16.5L22,13.65Z\",\n \"gesture-tap-box\": \"M20 2H4C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.89 21.11 2 20 2M11 4C13.21 4 15 5.79 15 8C15 9.5 14.2 10.77 13 11.46V10.24C13.61 9.69 14 8.89 14 8C14 6.34 12.66 5 11 5S8 6.34 8 8C8 8.89 8.39 9.69 9 10.24V11.46C7.8 10.77 7 9.5 7 8C7 5.79 8.79 4 11 4M18 18.5C17.97 19.32 17.32 19.97 16.5 20H11C10.62 20 10.26 19.85 10 19.57L6 15.37L6.74 14.6C6.93 14.39 7.2 14.28 7.5 14.28H7.7L10 16V8C10 7.45 10.45 7 11 7S12 7.45 12 8V12.47L13.21 12.6L17.15 14.79C17.68 15.03 18 15.56 18 16.14V18.5Z\",\n \"gift\": \"M9.06,1.93C7.17,1.92 5.33,3.74 6.17,6H3A2,2 0 0,0 1,8V10A1,1 0 0,0 2,11H11V8H13V11H22A1,1 0 0,0 23,10V8A2,2 0 0,0 21,6H17.83C19,2.73 14.6,0.42 12.57,3.24L12,4L11.43,3.22C10.8,2.33 9.93,1.94 9.06,1.93M9,4C9.89,4 10.34,5.08 9.71,5.71C9.08,6.34 8,5.89 8,5A1,1 0 0,1 9,4M15,4C15.89,4 16.34,5.08 15.71,5.71C15.08,6.34 14,5.89 14,5A1,1 0 0,1 15,4M2,12V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V12H13V20H11V12H2Z\",\n \"gift-outline\": \"M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A1,1 0 0,1 1,11V8A2,2 0 0,1 3,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H21A2,2 0 0,1 23,8V11A1,1 0 0,1 22,12M4,20H11V12H4V20M20,20V12H13V20H20M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M3,8V10H11V8H3M13,8V10H21V8H13Z\",\n \"graph\": \"M19.5 17C19.37 17 19.24 17 19.11 17.04L17.5 13.79C17.95 13.34 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.62 9.5 15.5 9.5 15.36 9.54L13.73 6.29C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.21 9.79 5.84 10.26 6.29L8.64 9.54C8.5 9.5 8.38 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.05 13.34 6.5 13.79L4.89 17.04C4.76 17 4.63 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.64 14.46L10.27 17.71C9.8 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.79C10.46 13.34 10.75 12.71 10.75 12S10.46 10.66 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7S12.26 7 12.39 6.96L14 10.21C13.55 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.14 14.46L17.77 17.71C17.3 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17Z\",\n \"graph-outline\":\"M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z\",\n \"help\": \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\",\n \"help-circle\": \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\",\n \"home\": \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\",\n \"home-import-outline\": \"M15 13L11 9V12H2V14H11V17M22 12H20V21H4V16H6V19H18V11L12 5L7 10H4L12 2L22 12Z\",\n \"import\": \"M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z\",\n \"inbox\": \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19Z\",\n \"info-circle\": \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\",\n \"info-outline\": \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\",\n \"ivr\": \"M2708-4371h-11a2,2,0,0,1-2-2v-11a2,2,0,0,1,2-2h11a2,2,0,0,1,2,2v11A2,2,0,0,1,2708-4371Zm-8.414-9.284h0l1.454,4.283h.99l1.456-4.283h-.917l-.811,2.549a7.5,7.5,0,0,0-.22.943c-.012-.076-.04-.208-.089-.418s-.1-.379-.14-.525l-.806-2.549Zm5.039,0V-4376h.908v-1.643h.483l1.022,1.644h1.007c-.213-.308-.672-.988-1.259-1.866a1.381,1.381,0,0,0,.589-.461,1.144,1.144,0,0,0,.208-.672,1.136,1.136,0,0,0-.419-.965,2.142,2.142,0,0,0-1.292-.318Zm-7.087,0V-4376h.909v-4.283Zm8.288,1.9h-.293v-1.157h.275a1.273,1.273,0,0,1,.648.129.471.471,0,0,1,.21.434.513.513,0,0,1-.206.451A1.124,1.124,0,0,1,2705.826-4378.382Z\",\n \"keyboard-return\": \"M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z\",\n \"kofo\": \"M2708-4011h-11a2,2,0,0,1-2-2v-11a2,2,0,0,1,2-2h11a2,2,0,0,1,2,2v11A2,2,0,0,1,2708-4011Zm-3.474-6.351a1.983,1.983,0,0,0-1.515.565,2.309,2.309,0,0,0-.53,1.633,2.345,2.345,0,0,0,.527,1.641,1.964,1.964,0,0,0,1.512.571,1.965,1.965,0,0,0,1.512-.571,2.339,2.339,0,0,0,.526-1.635,2.342,2.342,0,0,0-.522-1.635A1.959,1.959,0,0,0,2704.526-4017.351Zm-5.988.068V-4013h.894v-1.693h1.453v-.741h-1.453v-1.1h1.561v-.745Zm6.1-6.067a1.986,1.986,0,0,0-1.516.564,2.311,2.311,0,0,0-.529,1.634,2.344,2.344,0,0,0,.527,1.641,1.963,1.963,0,0,0,1.511.571,1.965,1.965,0,0,0,1.513-.571,2.335,2.335,0,0,0,.526-1.635,2.341,2.341,0,0,0-.522-1.635A1.958,1.958,0,0,0,2704.642-4023.351Zm-5.194.068h-.908V-4019h.908v-1.53l.383-.274h0l1.121,1.8h1.032l-1.506-2.387,1.493-1.9h-1.007l-1.16,1.456-.358.5Zm5.073,9.579a.957.957,0,0,1-.814-.363,1.8,1.8,0,0,1-.272-1.081,1.784,1.784,0,0,1,.275-1.082.964.964,0,0,1,.817-.365c.718,0,1.081.487,1.081,1.447S2705.242-4013.7,2704.521-4013.7Zm.115-6a.959.959,0,0,1-.814-.363,1.8,1.8,0,0,1-.272-1.081,1.8,1.8,0,0,1,.275-1.083.965.965,0,0,1,.817-.365c.717,0,1.081.487,1.081,1.448S2705.357-4019.7,2704.635-4019.7Z\",\n \"lightbulb-on-10\": \"M1 11H4V13H1V11M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M11 1H13V4H11V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M12 6C8.7 6 6 8.7 6 12C6 14.2 7.2 16.2 9 17.2V19C9 19.6 9.4 20 10 20H14C14.6 20 15 19.6 15 19V17.2C16.8 16.2 18 14.2 18 12C18 8.7 15.3 6 12 6M13 15.9V17H11V15.9C9.3 15.5 8 13.9 8 12C8 9.8 9.8 8 12 8S16 9.8 16 12C16 13.9 14.7 15.4 13 15.9M20 11H23V13H20V11Z\",\n \"link\": \"M3 1C1.89 1 1 1.89 1 3V14C1 15.11 1.89 16 3 16H14C15.11 16 16 15.11 16 14V11H14V14H3V3H14V5H16V3C16 1.89 15.11 1 14 1M9 7C7.89 7 7 7.89 7 9V12H9V9H20V20H9V18H7V20C7 21.11 7.89 22 9 22H20C21.11 22 22 21.11 22 20V9C22 7.89 21.11 7 20 7H9\",\n \"loading\": \"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z\",\n \"logout\": \"M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z\",\n \"mail-fast\": \"M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 9.17L15.5 12.5L9 9.17V7.5L15.5 10.81L22 7.5V9.17M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z\",\n \"mail-newsletter\": \"M12 .64L8.23 3H5V5L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 7.27 21.61 6.64 21.03 6.29L19 5V3H15.77M7 5H17V9.88L12 13L7 9.88M8 6V7.5H16V6M5 7.38V8.63L4 8M19 7.38L20 8L19 8.63M8 8.5V10H16V8.5Z\",\n \"mail-receive\": \"M22 20H18V23L13 18.5L18 14V17H22V20M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11.35A5.8 5.8 0 0 1 11 18A6 6 0 0 1 22 14.69V6A2 2 0 0 0 20 4M20 8L12 13L4 8V6L12 11L20 6Z\",\n \"maximize\": \"M4,4H20V20H4V4M6,8V18H18V8H6Z\",\n \"menu\":\"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\",\n \"menu-down\": \"M7,10L12,15L17,10H7Z\",\n \"menu-up\": \"M7,15L12,10L17,15H7Z\",\n \"message\": \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16Z\",\n \"message-text\": \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M4,4V17.17L5.17,16H20V4H4M6,7H18V9H6V7M6,11H15V13H6V11Z\",\n \"minimize\": \"M20,14H4V10H20\",\n \"newspaper-variant-outline\": \"M20 5L20 19L4 19L4 5H20M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M18 15H6V17H18V15M10 7H6V13H10V7M12 9H18V7H12V9M18 11H12V13H18V11Z\",\n \"note\": \"M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V10L11 20V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 7H7V5H5V7M5 11V13H7V11H5M5 17V19H7V17H5Z\",\n \"office\": \"M18,15H16V17H18M18,11H16V13H18M20,19H12V17H14V15H12V13H14V11H12V9H20M10,7H8V5H10M10,11H8V9H10M10,15H8V13H10M10,19H8V17H10M6,7H4V5H6M6,11H4V9H6M6,15H4V13H6M6,19H4V17H6M12,7V3H2V21H22V7H12Z\",\n \"office-building\": \"M19 3V21H13V17.5H11V21H5V3H19M15 7H17V5H15V7M11 7H13V5H11V7M7 7H9V5H7V7M15 11H17V9H15V11M11 11H13V9H11V11M7 11H9V9H7V11M15 15H17V13H15V15M11 15H13V13H11V15M7 15H9V13H7V15M15 19H17V17H15V19M7 19H9V17H7V19M21 1H3V23H21V1Z\",\n \"paperclip\": \"M16.5,6V17.5A4,4 0 0,1 12.5,21.5A4,4 0 0,1 8.5,17.5V5A2.5,2.5 0 0,1 11,2.5A2.5,2.5 0 0,1 13.5,5V15.5A1,1 0 0,1 12.5,16.5A1,1 0 0,1 11.5,15.5V6H10V15.5A2.5,2.5 0 0,0 12.5,18A2.5,2.5 0 0,0 15,15.5V5A4,4 0 0,0 11,1A4,4 0 0,0 7,5V17.5A5.5,5.5 0 0,0 12.5,23A5.5,5.5 0 0,0 18,17.5V6H16.5Z\",\n \"pencil\": \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\",\n \"phone\": \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z\",\n \"phone-outgoing\": \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M15,3V4.5H18.5L13,10L14,11L19.5,5.5V9H21V3H15Z\",\n \"play\": \"M8,5.14V19.14L19,12.14L8,5.14Z\",\n \"plus\": \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\",\n \"prompt\": \"M13,19V16H21V19H13M8.5,13L2.47,7H6.71L11.67,11.95C12.25,12.54 12.25,13.5 11.67,14.07L6.74,19H2.5L8.5,13Z\",\n \"refresh\": \"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\",\n \"search\": \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\",\n \"settings\": \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\",\n \"star\": \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\",\n \"test\": \"M7,2V4H8V18A4,4 0 0,0 12,22A4,4 0 0,0 16,18V4H17V2H7M11,16C10.4,16 10,15.6 10,15C10,14.4 10.4,14 11,14C11.6,14 12,14.4 12,15C12,15.6 11.6,16 11,16M13,12C12.4,12 12,11.6 12,11C12,10.4 12.4,10 13,10C13.6,10 14,10.4 14,11C14,11.6 13.6,12 13,12M14,7H10V4H14V7Z\",\n \"text\":\"M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z\",\n \"trash-can-outline\": \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\",\n \"trophy\": \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M16 11.5C16 13.43 15.42 15 12 15C8.59 15 8 13.43 8 11.5V6H16V11.5M20 11H18V4H20V11Z\",\n \"upload\": \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\",\n \"user-check\": \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M10,17L13,20H3V18C3,15.79 6.58,14 11,14L12.89,14.11L10,17M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4Z\",\n \"web\": \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\",\n \"web-box\": \"M8.95 13.4H6.58A5.5 5.5 0 0 1 6.58 10.6H8.95A11.56 11.56 0 0 0 8.85 12A11.56 11.56 0 0 0 8.95 13.4M7.16 9.2H9.2A12.06 12.06 0 0 1 10.18 6.71A5.55 5.55 0 0 0 7.16 9.2M16.84 9.2A5.59 5.59 0 0 0 13.81 6.71A10.95 10.95 0 0 1 14.78 9.2M12 17.57A9.5 9.5 0 0 0 13.34 14.8H10.66A9.5 9.5 0 0 0 12 17.57M12 6.42A9.53 9.53 0 0 0 10.66 9.2H13.34A9.53 9.53 0 0 0 12 6.42M7.16 14.8A5.61 5.61 0 0 0 10.18 17.29A12.06 12.06 0 0 1 9.2 14.8M21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19A2 2 0 0 1 21 5M19 12A7 7 0 1 0 12 19A7 7 0 0 0 19 12M15.15 12A11.56 11.56 0 0 1 15.05 13.4H17.42A5.5 5.5 0 0 0 17.42 10.6H15.05A11.56 11.56 0 0 1 15.15 12M13.81 17.29A5.62 5.62 0 0 0 16.84 14.8H14.78A10.95 10.95 0 0 1 13.81 17.29M10.36 10.6A8.81 8.81 0 0 0 10.36 13.4H13.64A10.3 10.3 0 0 0 13.75 12A10.21 10.21 0 0 0 13.64 10.6Z\",\n \"whatsapp\": \"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\",\n \"workflow\": \"M19,9H2V11H19V9M19,5H2V7H19V5M2,15H15V13H2V15M17,13V19L22,16L17,13Z\",\n} as const;\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '@components/icon/icon.component';\nimport { SubNavComponent } from './sub-nav/sub-nav.component';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NavigationService } from '@core/services';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'inf-nav',\n standalone: true,\n imports: [CommonModule, RouterLink, RouterLinkActive, IconComponent, SubNavComponent],\n templateUrl: './nav.component.html',\n styleUrl: './nav.component.scss'\n})\nexport class NavComponent {\n dialog = inject(MatDialog);\n navService = inject(NavigationService);\n}\n","
\n \n
\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '@components/icon/icon.component';\nimport { RouterModule } from '@angular/router';\nimport { NavigationGroup } from '@core/types';\n\n@Component({\n selector: 'inf-sub-nav',\n standalone: true,\n imports: [CommonModule, RouterModule, IconComponent],\n templateUrl: `./sub-nav.component.html`,\n styleUrl: `./sub-nav.component.scss`\n})\nexport class SubNavComponent {\n @Input() navItems: NavigationGroup[] = [];\n}\n","
\n @for (group of navItems;track group.name) {\n
\n
\n {{ group.name }}\n
\n\n @for (item of group.items;track item.id) {\n
\n \n {{ item.label }}\n
\n }\n
\n }\n
\n","import { CommonModule } from \"@angular/common\";\nimport { Component, Inject, Input } from \"@angular/core\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA } from \"@angular/material/snack-bar\";\n\n@Component({\n selector: 'inf-snackbar',\n standalone: true,\n imports: [CommonModule, MatIconModule, MatButtonModule],\n template: `\n
\n check\n {{data.message}}\n \n
\n `,\n styles: [`\n @use '../../../styles/base' as inf;\n \n .container {\n display: flex;\n align-items: center;\n\n span {\n margin: 0 11px;\n }\n\n button {\n margin-left: auto;\n }\n\n .green {\n color: inf.$infrest-success-color;\n }\n\n .red {\n color: inf.$infrest-error-color;\n }\n }\n `]\n })\n export class SnackbarComponent {\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: { message: string, success: boolean, buttonLabel?: string }, private _snackRef: MatSnackBarRef) {}\n \n close() {\n this._snackRef.dismiss();\n }\n }","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n EventEmitter,\n HostBinding,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayContainer, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Subscription } from 'rxjs';\n\nimport { TableCoreDirective } from '../core/table-core.directive';\nimport {\n ContextMenuItem,\n FilterChange,\n IPipe,\n SettingItem,\n TableColumn,\n TableMenuActionChange,\n TableSelectionMode,\n TableSetting,\n RowEventType\n} from '../models';\nimport { TableIntl } from '../core/table-intl';\nimport { HashMap } from '../core/types';\nimport { deepClone } from '../utils';\nimport { TableService } from '../services/table.service';\nimport { FixedSizeTableVirtualScrollStrategy } from '../core/fixed-size-table-virtual-scroll-strategy';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { AbstractFilter } from '../extensions/filter/compare/abstract-filter';\nimport { TooltipComponent } from '../extensions/tooltip/tooltip.component';\nimport { isNullOrUndefined } from '@core';\nimport { CommonListResponseDTO } from '@admin-api';\n\n@Component({\n selector: 'inf-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent extends TableCoreDirective implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('tbl', {static: true}) tbl: CdkVirtualScrollViewport;\n @ViewChild(MatMenuTrigger) contextMenu!: MatMenuTrigger;\n @ViewChild('tooltip') tooltipRef!: TemplateRef;\n\n @HostBinding('style.height.px')\n height: string = null;\n\n @Input()\n get setting() {\n return this.tableSetting;\n }\n\n set setting(value: TableSetting) {\n if (!isNullOrUndefined(value)) {\n value.columnSetting = value.columnSetting || this.tableSetting.columnSetting;\n value.visibleActionMenu = value.visibleActionMenu || this.tableSetting.visibleActionMenu;\n value.visibleColumnSettingsMenu = value.visibleColumnSettingsMenu || this.tableSetting.visibleColumnSettingsMenu;\n value.visibleTableMenu = value.visibleTableMenu ?? this.tableSetting.visibleTableMenu;\n value.visibleHeaderMenu = value.visibleHeaderMenu ?? this.tableSetting.visibleHeaderMenu;\n value.autoHeight = value.autoHeight || this.tableSetting.autoHeight;\n value.saveSettingsMode = value.saveSettingsMode || this.tableSetting.saveSettingsMode;\n this.pagination.pageSize = value.pageSize || this.tableSetting.pageSize || this.pagination.pageSize;\n\n value?.columnSetting?.forEach(column => {\n const originalColumn = this.columns?.find(c => c.key === column.key);\n if (originalColumn) {\n column = { ...originalColumn, ...column };\n }\n this.tableSetting = value;\n this.setDisplayedColumns();\n });\n }\n }\n\n @Input() selectionType?: TableSelectionMode = 'none';\n\n private _viewportSizeChanged: any = null;\n\n @Input()\n get viewportSizeChanged() {\n return this._viewportSizeChanged;\n }\n\n set viewportSizeChanged(value) {\n const scrollStrategy: FixedSizeTableVirtualScrollStrategy = this.viewport['_scrollStrategy'];\n scrollStrategy?.viewport?.checkViewportSize();\n }\n\n @Output() filterChange = new EventEmitter();\n @Output() downloadEvent: EventEmitter = new EventEmitter();\n\n init: boolean = false;\n contextMenuPosition = { x: '0px', y: '0px' };\n overlayRef: OverlayRef = null;\n\n private _dsSubscription: Subscription = new Subscription();\n\n constructor(\n public dialog: MatDialog,\n public overlay: Overlay,\n public tableLanguage: TableIntl,\n tableService: TableService,\n private _overlayContainer: OverlayContainer,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n cd: ChangeDetectorRef\n ) {\n super(tableService, cd);\n\n this._overlayContainer.getContainerElement().addEventListener('contextmenu', e => {\n e.preventDefault();\n return false;\n });\n }\n\n ngOnInit() {\n setTimeout(() => {\n this.init = true;\n this.cd.detectChanges();\n }, 1000);\n }\n\n ngAfterViewInit() {\n this.tvsDS.paginator = this.paginator;\n this.tvsDS.sort = this.sort;\n this._dsSubscription = this.dataSource.subscribe(({items }: CommonListResponseDTO) => {\n const newItems = deepClone(items) || [];\n this.rowSelectionModel.clear();\n this.tvsDS.data = [];\n this.initSystemField(newItems);\n this.tvsDS.data = newItems;\n this.refreshUI(items.length);\n });\n\n this.tvsDS?.sort?.sortChange?.subscribe(sort => {\n this.pagination.pageIndex = 0;\n this.tableEvent.emit({ event: 'SortChanged', sender: sort });\n });\n }\n\n protected initSystemField(data: any[]) {\n if (data) {\n data = data.map((item, index: number) => {\n item._id = index;\n item.option = item.option || {};\n return item;\n });\n }\n }\n\n private autoHeight(numberOfItems: number): string | null {\n\n if (this.tableSetting.autoHeight === true) {\n const minHeight = this.headerHeight + (this.rowHeight + 1) * numberOfItems;\n return minHeight.toString();\n }\n\n return null;\n }\n\n tableMenuActionChange(e: TableMenuActionChange) {\n if (e.type === 'TableSetting') {\n this.refreshColumn(this.tableSetting.columnSetting);\n } else if (e.type === 'DefaultSetting') {\n (this.setting.settingsList || []).forEach(setting => {\n if (setting.settingsName === e.data) {\n setting.isDefaultSetting = true;\n } else {\n setting.isDefaultSetting = false;\n }\n });\n } else if (e.type === 'SaveSetting') {\n const newSetting = Object.assign({}, this.setting);\n delete newSetting.settingsList;\n newSetting.settingsName = e.data;\n const settingIndex = (this.setting.settingsList || []).findIndex(f => f.settingsName === e.data);\n if (settingIndex === -1) {\n this.setting?.settingsList?.push(JSON.parse(JSON.stringify(newSetting)));\n } else {\n if (this.setting && this.setting.settingsList) {\n this.setting.settingsList[settingIndex] = JSON.parse(JSON.stringify(newSetting));\n }\n }\n } else if (e.type === 'DeleteSetting') {\n this.setting.settingsList = this.setting.settingsList.filter(s => s.settingsName !== e.data.settingName);\n this.setting.columnSetting.filter(f => f.display === 'hidden').forEach(f => (f.display = 'visible'));\n this.refreshColumn(this.setting.columnSetting);\n } else if (e.type === 'SelectSetting') {\n let setting: SettingItem = null;\n this.setting.settingsList.forEach(s => {\n if (s.settingsName === e.data) {\n s.isCurrentSetting = true;\n setting = Object.assign(\n {},\n this.setting.settingsList.find(s => s.settingsName === e.data)\n );\n } else {\n s.isCurrentSetting = false;\n }\n });\n setting.settingsList = this.setting.settingsList;\n delete setting.isCurrentSetting;\n delete setting.isDefaultSetting;\n if (this.paginationMode !== 'none' && this.pagination.pageSize != setting?.pageSize) {\n this.pagination.pageSize = setting?.pageSize || this.pagination.pageSize;\n this.paginationChange.emit(this.pagination);\n }\n /* Dynamic Cell must update when setting change */\n setting.columnSetting?.forEach(column => {\n const originalColumn = this.columns.find(c => c.key === column.key);\n column = { ...originalColumn, ...column };\n });\n this.tableSetting = setting;\n this.refreshColumn(this.setting.columnSetting);\n } else if (e.type === 'Download') {\n if (this.setting.options.downloadMode === 'server-side') {\n this.downloadEvent.emit(e.data);\n } else {\n if (e.data === 'CSV') {\n this.tableService.exportToCsv(\n this.columns,\n this.tvsDS.filteredData,\n );\n } else if (e.data === 'JSON') {\n this.tableService.exportToJson(this.tvsDS.filteredData);\n }\n }\n } else if (e.type === 'FilterClear') {\n this.tvsDS.clearFilter();\n }\n }\n\n handlePaginationChange(e: PageEvent) {\n if (this.paginationMode !== 'none') {\n this.pending = true;\n this.tvsDS.refreshFilterPredicate();\n this.pagination.length = e.length;\n this.pagination.pageIndex = e.pageIndex;\n this.pagination.pageSize = e.pageSize;\n this.setting.pageSize = e.pageSize; /* Save Page Size when need in setting config */\n this.paginationChange.emit(this.pagination);\n }\n }\n\n onRowSelection(row, column: TableColumn) {\n if (this.rowSelectionMode && this.rowSelectionMode !== 'none' && column.rowSelectable !== false) {\n this.onRowSelectionChange(row);\n }\n }\n\n ngOnDestroy() {\n this._dsSubscription.unsubscribe();\n }\n\n indexTrackFn = (index: number) => index;\n\n trackColumn(index: number, item: TableColumn): string {\n return `${item.index}`;\n }\n\n public refreshUI(numberOfItems: number) {\n\n this.height = this.autoHeight(numberOfItems);\n\n this.refreshColumn(this.tableColumns);\n this.cd.detectChanges();\n this.tvsDS.columns = this.columns;\n const scrollStrategy: FixedSizeTableVirtualScrollStrategy = this.viewport['_scrollStrategy'];\n scrollStrategy?.viewport?.checkViewportSize();\n this.cd.detectChanges();\n }\n\n rowStyle(row) {\n return row?.option?.style || {};\n }\n\n handleFilterChange(column: TableColumn, filter: AbstractFilter[]) {\n this.pending = true;\n this.tvsDS.setFilter(column.key, filter).subscribe(() => {\n this.clearSelection();\n this.pending = false;\n });\n this.filterChange.emit({\n filter,\n column: column.key\n });\n }\n\n onCellClick(row, column: TableColumn) {\n if (column.cellTooltipEnabled === true) {\n this.closeTooltip();\n }\n\n this.onRowSelection(row, column);\n if (column.clickable !== false && (column.clickType === null || column.clickType === 'cell')) {\n this.rowEvent.emit({\n event: RowEventType.CellClick,\n sender: { row: row, column: column }\n });\n }\n }\n\n onSelectActionMenuOption(event: any, item: T) {\n event.menuItem.onSelect(event, item);\n }\n\n currentContextMenuSender: any = {};\n\n onContextMenu(event: MouseEvent, column: TableColumn, row: any) {\n if (this.currentContextMenuSender?.time && new Date().getTime() - this.currentContextMenuSender.time < 500) {\n return;\n }\n this.contextMenu.closeMenu();\n if (this.contextMenuItems?.length === 0) {\n return;\n }\n event.preventDefault();\n this.contextMenuPosition.x = event.clientX + 'px';\n this.contextMenuPosition.y = event.clientY + 'px';\n this.currentContextMenuSender = {\n column: column,\n row: row,\n time: new Date().getTime()\n };\n this.contextMenu.menuData = this.currentContextMenuSender;\n this.contextMenu.menu.focusFirstItem('mouse');\n this.rowEvent.emit({\n event: RowEventType.BeforeContextMenuOpen,\n sender: { row: row, column: column, contextMenu: this.contextMenuItems }\n });\n this.contextMenu.openMenu();\n }\n\n rowMenuActionChange(contextMenuItem: ContextMenuItem, row: any) {\n this.rowEvent.emit({\n event: RowEventType.RowActionMenu,\n sender: {row: row, action: contextMenuItem}\n });\n }\n\n onTooltipChange(column: TableColumn, row: any, elementRef: HTMLTableCellElement, show: boolean) {\n if (column.cellTooltipEnabled === true) {\n if (show === true && row[column.key]) {\n if (this.overlayRef !== null) {\n this.closeTooltip();\n }\n\n const positionStrategy = this._overlayPositionBuilder.flexibleConnectedTo(elementRef).withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8\n }\n ]);\n\n this.overlayRef = this.overlay.create({ positionStrategy });\n\n let usingValue = row[column.key];\n\n if (column.pipes && column.pipes.length > 0) {\n column.pipes.forEach((pipe: IPipe) => {\n const injector = Injector.create({\n name: 'DynamicPipe',\n // parent: this.injector,\n providers: [{ provide: pipe.token }]\n });\n const _pipe = injector.get(pipe.token);\n usingValue = _pipe.transform(row[column.key], ...pipe.data);\n });\n }\n\n const option = {\n providers: [\n {\n provide: 'tooltipConfig',\n useValue: usingValue\n }\n ]\n };\n\n const injector = Injector.create(option);\n const tooltipRef: ComponentRef = this.overlayRef.attach(new ComponentPortal(TooltipComponent, null, injector));\n setTimeout(() => {\n tooltipRef.destroy();\n }, 5000);\n } else if (show === false && this.overlayRef !== null) {\n this.closeTooltip();\n }\n }\n }\n\n closeTooltip() {\n this.overlayRef?.detach();\n this.overlayRef = null;\n }\n\n ellipsis(column: TableColumn) {\n if (column.cellEllipsisRow > 0) {\n return {\n display: '-webkit-box',\n '-webkit-line-clamp': column?.cellEllipsisRow,\n '-webkit-box-orient': 'vertical',\n overflow: 'hidden',\n 'white-space': 'pre-wrap'\n };\n } else if (column.headerEllipsisRow > 0) {\n return {\n display: '-webkit-box',\n '-webkit-line-clamp': column?.headerEllipsisRow,\n '-webkit-box-orient': 'vertical',\n overflow: 'hidden',\n 'white-space': 'pre-wrap'\n };\n }\n return {};\n }\n\n public get inverseOfTranslation(): number {\n if (!this.viewport || !this.viewport['_renderedContentOffset']) {\n return -0;\n }\n let offset = this.viewport['_renderedContentOffset'];\n return -offset;\n }\n\n headerClass(column: TableColumn) {\n return column?.classNames;\n }\n\n cellClass(option, column) {\n let className = null;\n if (option && column.key) {\n className = option[column.key] ? option[column.key].style : null;\n }\n\n if (className === null) {\n return column.cellClass;\n } else {\n return { ...className, ...column.cellClass };\n }\n }\n\n cellStyle(option: HashMap, column: TableColumn) {\n let style = null;\n if (option && column.key) {\n style = option[column.key] ? option[column.key].style : null;\n }\n /* consider to column width resize */\n if (style === null) {\n return { ...column.cellStyle, ...column.style };\n } else {\n return { ...style, ...column.cellStyle, ...column?.style };\n }\n }\n\n cellIcon(option, cellName) {\n if (option && cellName) {\n return option[cellName] ? option[cellName].icon : null;\n } else {\n return null;\n }\n }\n\n resolvePath(obj, path) {\n return path.split('.').reduce((prev, curr) => {\n return (prev ? prev[curr] : undefined);\n }, obj);\n }\n}\n","
\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.title }}\n
\n \n \n \n \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\"\n [rowActionMenu]=\"row?.actionMenu\"\n [row]=\"row\"\n [tableSetting]=\"tableSetting\"\n [actionMenus]=\"rowContextMenuItems\"\n (rowActionChange)=\"rowMenuActionChange($event, row)\">\n \n \n\n \n\n \n \n\n \n \n \n \n
\n \n
\n\n \n
{{ tableLanguage?.tableLabels?.NoData }}
\n
\n
\n","import {\n ComponentRef,\n Directive,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { TableRow } from '../models/table-row.model';\nimport { TableColumn } from '../models/table-column.model';\n\nexport interface DynamicCell {\n row: TableRow;\n column: TableColumn;\n}\n\n@Directive({\n selector: '[dynamicCell]'\n})\nexport class DynamicCellDirective implements OnChanges, OnDestroy {\n @Input() component: Type;\n @Input() column: TableColumn;\n @Input() row: any;\n componentRef: ComponentRef = null;\n\n constructor(private vc: ViewContainerRef){}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.componentRef === null || this.componentRef === undefined) {\n this.initComponent();\n }\n // pass input parameters\n if (changes['column'] && changes['column'].currentValue) {\n this.componentRef.setInput('column', this.column);\n }\n if (changes['row'] && changes['row'].currentValue) {\n this.componentRef.destroy();\n this.initComponent();\n this.componentRef.setInput('row', this.row);\n }\n }\n\n ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n initComponent() {\n try {\n this.componentRef = this.vc.createComponent(this.component);\n this.updateInput();\n } catch (e) {\n console.warn(e);\n }\n }\n\n updateInput() {\n if (this.column) {\n this.componentRef.instance.column = this.column;\n }\n if (this.row) {\n this.componentRef.instance.row = this.row;\n }\n }\n}\n","import { Injector, Pipe, PipeTransform, Type } from '@angular/core';\nimport { IPipe } from '../models/pipe.model';\n\n@Pipe({\n name: 'dynamicPipe'\n})\nexport class DynamicPipe implements PipeTransform {\n public constructor(private injector: Injector) {}\n\n transform(value: any, pipes: IPipe[]): any {\n if (pipes && pipes.length > 0) {\n pipes.forEach((pipe: IPipe) => {\n const injector = Injector.create({\n name: 'DynamicPipe',\n parent: this.injector,\n providers: [{ provide: pipe.token }]\n });\n const _pipe = injector.get(pipe.token);\n value = _pipe.transform(value, ...pipe.data);\n });\n }\n return value;\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';\nimport { ListRange } from '@angular/cdk/collections';\nimport { Subscription } from 'rxjs';\n\nexport interface TSVStrategyConfigs {\n rowHeight: number;\n headerHeight: number;\n bufferMultiplier: number;\n}\n\nexport declare type TableScrollStrategy = 'fixed-size' | 'none' | null;\n\n@Injectable()\nexport class FixedSizeTableVirtualScrollStrategy implements VirtualScrollStrategy, OnDestroy {\n private eventsSubscription: Subscription;\n private length = 0;\n private rowHeight!: number;\n private headerHeight!: number;\n private bufferMultiplier!: number;\n private indexChange = new Subject();\n public stickyChange = new Subject();\n public scrollStrategyMode: TableScrollStrategy = 'none'; // 'fixed-size';\n\n public viewport: CdkVirtualScrollViewport;\n\n public renderedRangeStream = new BehaviorSubject({ start: 0, end: 0 });\n public offsetChange = new BehaviorSubject(0);\n\n public scrolledIndexChange = this.indexChange.pipe(distinctUntilChanged());\n\n get dataLength(): number {\n return this.length;\n }\n\n set dataLength(value: number) {\n this.length = value;\n this.onDataLengthChanged();\n }\n\n ngOnDestroy(): void {\n this.eventsSubscription.unsubscribe();\n }\n\n public attach(viewport: CdkVirtualScrollViewport): void {\n this.viewport = viewport;\n this.eventsSubscription = this.viewport.renderedRangeStream.subscribe(this.renderedRangeStream);\n this.onDataLengthChanged();\n }\n\n public detach(): void {\n this.indexChange.complete();\n this.stickyChange.complete();\n this.renderedRangeStream.complete();\n }\n\n public onContentScrolled(): void {\n this.updateContent();\n }\n\n public onDataLengthChanged(): void {\n if (this.viewport) {\n this.viewport.setTotalContentSize(this.dataLength * this.rowHeight + this.headerHeight);\n }\n this.updateContent();\n }\n\n public onContentRendered(): void {\n // no-op\n }\n\n public onRenderedOffsetChanged(): void {\n // no-op\n }\n\n public scrollToIndex(index: number, behavior: ScrollBehavior): void {\n // if (this.viewport) {\n // this.viewport.scrollToOffset(this.rowHeight * index, behavior);\n // }\n if (!this.viewport || !this.rowHeight) {\n return;\n }\n this.viewport.scrollToOffset((index - 1) * this.rowHeight + this.headerHeight);\n }\n\n public setConfig(configs: TSVStrategyConfigs) {\n const { rowHeight, headerHeight, bufferMultiplier } = configs;\n if (\n this.rowHeight === rowHeight &&\n this.headerHeight === headerHeight &&\n this.bufferMultiplier === bufferMultiplier\n ) {\n return;\n }\n this.rowHeight = rowHeight;\n this.headerHeight = headerHeight;\n this.bufferMultiplier = bufferMultiplier;\n this.onDataLengthChanged();\n }\n\n // bug fixed some time viewport is zero height (i dont know why!)\n public getViewportSize() {\n if (this.viewport.getViewportSize() === 0) {\n return this.viewport.elementRef.nativeElement.clientHeight + 52;\n } else {\n return this.viewport.getViewportSize();\n }\n }\n\n private updateContent() {\n if (!this.viewport || !this.rowHeight) {\n return;\n }\n let start = 0;\n let end = this.dataLength;\n\n if (this.scrollStrategyMode === 'none' && this.viewport.getRenderedRange().start === start && this.viewport.getRenderedRange().end === end) {\n return;\n }\n\n const scrollOffset = this.viewport.measureScrollOffset();\n const amount = Math.ceil(this.getViewportSize() / this.rowHeight);\n\n const offset = Math.max(scrollOffset - this.headerHeight, 0);\n const buffer = Math.ceil(amount * this.bufferMultiplier);\n\n const skip = Math.round(offset / this.rowHeight);\n const index = Math.max(0, skip);\n\n if (this.scrollStrategyMode === 'fixed-size') {\n start = Math.max(0, index - buffer);\n end = Math.min(this.dataLength, index + amount + buffer);\n\n }\n const renderedOffset = start * this.rowHeight;\n\n this.viewport.setRenderedContentOffset(renderedOffset);\n this.viewport.setRenderedRange({ start, end });\n this.indexChange.next(index);\n this.stickyChange.next(renderedOffset);\n this.offsetChange.next(offset);\n }\n}\n","import { ChangeDetectorRef, Directive, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTable } from '@angular/material/table';\n\nimport { Observable } from 'rxjs';\n\nimport { coerceBool, coerceReadonlyArray, isNullOrUndefined } from '@core';\nimport { ContextMenuItem } from '../models/context-menu-model';\nimport { findSettingsValueToUse } from './types';\nimport { RowEvent, RowEventType, TableEvent, TableSelectionMode } from '../models/table-row.model';\nimport { deepClone } from '../utils';\nimport { AbstractColumn, TableColumn } from '../models/table-column.model';\nimport { TableSetting } from '../models/table-settings.model';\nimport { TablePagination, TablePaginationMode } from '../models/table-pagination.model';\nimport { TableVirtualScrollDataSource } from './table-data-source';\nimport { TableService } from '../services/table.service';\nimport { TableScrollStrategy } from './fixed-size-table-virtual-scroll-strategy';\nimport { SizeWithCssUnit } from '@cdk';\nimport { CommonListResponseDTO } from '@admin-api';\n\n@Directive({\n selector: '[core]'\n})\nexport class TableCoreDirective {\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatTable, { static: true }) table!: MatTable;\n @ViewChild(CdkVirtualScrollViewport, { static: true }) viewport!: CdkVirtualScrollViewport;\n\n @Input()\n get tableName() {\n return this.tableService.tableName;\n }\n\n set tableName(value: string) {\n this.tableService.tableName = value;\n }\n\n @Input() dataSource: Observable>;\n @Input() contextMenuItems: ContextMenuItem[] = [];\n @Input() rowContextMenuItems: ContextMenuItem[];\n @Input() defaultWidth: SizeWithCssUnit | undefined;\n\n @Input()\n get ScrollStrategyType() {\n return this.tableSetting.scrollStrategy;\n }\n\n set ScrollStrategyType(value: TableScrollStrategy) {\n this.viewport['_scrollStrategy'].scrollStrategyMode = value;\n this.tableSetting.scrollStrategy = value;\n }\n\n @Input()\n get columns() {\n return this.tableColumns;\n }\n\n set columns(columns: TableColumn[]) {\n\n for(const c of columns) {\n const settingColumn = coerceReadonlyArray(this.tableSetting?.columnSetting)\n .find(e => e.key === c.key);\n c.exportable = coerceBool(c.exportable, true);\n c.toExport = c.toExport || ((row, type) => (typeof row === 'object' ? row[c.key] : ''));\n c.enableContextMenu = coerceBool(c.enableContextMenu, true);\n c.display = findSettingsValueToUse('display','visible', settingColumn, c);\n c.filter = findSettingsValueToUse('filter', 'client-side', settingColumn, c);\n c.sort = findSettingsValueToUse('sort', 'client-side', settingColumn, c);\n c.sticky = findSettingsValueToUse('sticky', 'none', settingColumn, c);\n c.width = findSettingsValueToUse('width', this.defaultWidth, settingColumn, c);\n\n if (c.width) {\n const style = c.width.endsWith('px') ? c.width : `calc(${c.width})`;\n c.style = { ...c.style, 'max-width': style, 'min-width': style };\n }\n }\n this.tableColumns = columns;\n this.updateColumn();\n }\n\n @Input()\n get paginationMode() {\n return this.tablePagingMode;\n }\n\n set paginationMode(value: TablePaginationMode) {\n this.tablePagingMode = value;\n this.updatePagination();\n }\n\n @Input()\n get pagination() {\n return this._tablePagination;\n }\n\n set pagination(value: TablePagination) {\n if (value && value !== null) {\n this._tablePagination = value;\n if (isNullOrUndefined(this._tablePagination.pageSizeOptions)) {\n this._tablePagination.pageSizeOptions = [5, 10, 25, 100];\n }\n if (isNullOrUndefined(this._tablePagination.pageSize)) {\n this._tablePagination.pageSize = this._tablePagination.pageSizeOptions[0];\n }\n this.updatePagination();\n }\n }\n\n @Input()\n get rowSelectionModel() {\n return this._rowSelectionModel;\n }\n\n set rowSelectionModel(value: SelectionModel) {\n if (!isNullOrUndefined(value)) {\n if (this._rowSelectionMode && value && this._rowSelectionMode !== 'none') {\n this._rowSelectionMode = value.isMultipleSelection() === true ? 'multiple' : 'single';\n }\n this._rowSelectionModel = value;\n }\n }\n\n @Input()\n get rowSelectionMode() {\n return this._rowSelectionMode;\n }\n\n set rowSelectionMode(selection: TableSelectionMode) {\n selection = selection || 'none';\n const isSelectionColumn = selection === 'single' || selection === 'multiple';\n if (\n this._rowSelectionModel === null ||\n (this._rowSelectionModel.isMultipleSelection() === true && selection === 'single') ||\n (this._rowSelectionModel.isMultipleSelection() === false && selection === 'multiple')\n ) {\n if (!this._rowSelectionModel) {\n // In-built SelectionModel has issues with Comparing Objects\n // So for angular 14 and below new ComparableSelection Model is created\n // to compare using a compare function\n\n this._rowSelectionModel = new SelectionModel(selection === 'multiple', []);\n // this._rowSelectionModel = new SelectionModel();\n }\n }\n if (this.displayedColumns?.length > 0 && !isSelectionColumn && this.displayedColumns[0] === 'row-checkbox') {\n this.displayedColumns.shift();\n } else if (this.displayedColumns?.length > 0 && isSelectionColumn && this.displayedColumns[0] !== 'row-checkbox') {\n this.displayedColumns.unshift('row-checkbox');\n }\n this._rowSelectionMode = selection;\n }\n\n @Input()\n get showProgress() {\n return this.progressColumn.length > 0;\n }\n\n set showProgress(value: boolean) {\n this.progressColumn = [];\n if (value === true) {\n this.progressColumn.push('progress');\n }\n }\n\n @Input() sticky: boolean;\n @Input() pending: boolean;\n @Input() rowHeight = 40;\n @Input() headerHeight = 40;\n @Input() headerEnable = true;\n @Input() showNoData: boolean;\n\n @Output() tableEvent: EventEmitter = new EventEmitter();\n @Output() rowEvent: EventEmitter = new EventEmitter();\n @Output() paginationChange: EventEmitter = new EventEmitter();\n\n public tvsDS: TableVirtualScrollDataSource = new TableVirtualScrollDataSource([]);\n public tablePagingMode: TablePaginationMode = 'none';\n public viewportClass: 'viewport' | 'viewport-with-pagination' = 'viewport-with-pagination';\n public progressColumn: string[] = [];\n public displayedColumns: string[] = [];\n public tableColumns: TableColumn[];\n public tableSetting: TableSetting;\n\n private _rowSelectionMode: TableSelectionMode;\n private _rowSelectionModel = new SelectionModel();\n private _tablePagination: TablePagination = {};\n\n constructor(public tableService: TableService, public cd: ChangeDetectorRef) {\n this.showProgress = true;\n this.tableSetting = { columnSetting: null, visibleActionMenu: null };\n }\n\n updateColumn() {\n if (this.tableColumns) {\n this.tableSetting.columnSetting = deepClone(this.tableColumns);\n }\n this.setDisplayedColumns();\n }\n\n public updatePagination() {\n if (isNullOrUndefined(this.tvsDS)) {\n return;\n }\n if (this.tablePagingMode === 'client-side' || this.tablePagingMode === 'server-side') {\n this.viewportClass = 'viewport-with-pagination';\n if (!isNullOrUndefined(this.tvsDS.paginator)) {\n let dataLen = this.tvsDS.paginator.length;\n if (!isNullOrUndefined(this._tablePagination.length) && this._tablePagination.length > dataLen) {\n dataLen = this._tablePagination.length;\n }\n this.tvsDS.paginator.length = dataLen;\n if (!isNullOrUndefined(this._tablePagination.pageIndex)) {\n this.tvsDS.paginator.pageIndex = this._tablePagination.pageIndex;\n }\n }\n } else {\n this.viewportClass = 'viewport';\n if ((this.tvsDS as any)._paginator !== undefined) {\n delete (this.tvsDS as any)._paginator;\n }\n }\n this.tvsDS.refreshFilterPredicate();\n }\n\n setDisplayedColumns() {\n if (this.columns) {\n this.displayedColumns.splice(0, this.displayedColumns.length);\n this.columns.forEach((column: TableColumn, index: number) => {\n column.index = index;\n if (column.display === undefined || column.display === 'visible' || column.display === 'prevent-hidden') {\n this.displayedColumns.push(column.key);\n }\n });\n if ((this._rowSelectionMode === 'multiple' || this._rowSelectionMode === 'single') && this.displayedColumns.indexOf('row-checkbox') === -1) {\n this.displayedColumns.unshift('row-checkbox');\n }\n if (this.tableSetting.visibleTableMenu !== false) {\n this.displayedColumns.push('table-menu');\n }\n }\n }\n\n refreshColumn(columns: TableColumn[]) {\n if (this.viewport) {\n const currentOffset = this.viewport.measureScrollOffset();\n this.columns = columns;\n // this.setDisplayedColumns();\n setTimeout(() => this.viewport.scrollTo({ top: currentOffset, behavior: 'auto' }), 0);\n }\n }\n\n clearSelection() {\n if (this._rowSelectionModel) {\n this._rowSelectionModel.clear();\n }\n }\n\n isAllSelected() {\n const numSelected = this._rowSelectionModel.selected.length;\n const numRows = this.tvsDS.filteredData?.length;\n return numSelected === numRows;\n }\n\n masterToggle() {\n const isAllSelected = this.isAllSelected();\n if (isAllSelected === false) {\n this.tvsDS.filteredData.forEach(row => this._rowSelectionModel.select(row));\n } else {\n this._rowSelectionModel.clear();\n }\n this.rowEvent.emit({\n event: RowEventType.MasterSelectionChange,\n sender: { selectionModel: this._rowSelectionModel }\n });\n }\n\n onRowSelectionChange(row: T) {\n this._rowSelectionModel.toggle(row);\n this.rowEvent.emit({\n event: RowEventType.RowSelectionChange,\n sender: {\n selectionModel: this._rowSelectionModel,\n row: row\n }\n });\n }\n\n resetPaginator() {\n this.paginator.pageIndex = 0;\n }\n}\n","import { MatTableDataSource } from '@angular/material/table';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { BehaviorSubject, combineLatest, map, merge, Observable, of, ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { HashMap } from './types';\nimport { TableColumn } from '../models/table-column.model';\nimport { AbstractFilter } from '../extensions/filter/compare/abstract-filter';\n\nexport class TableVirtualScrollDataSource extends MatTableDataSource {\n public dataToRender$: Subject;\n public dataOfRange$: Subject;\n private streamsReady: boolean;\n private filterMap: HashMap = {};\n public columns: TableColumn[] = [];\n\n override sortingDataAccessor = (data: any, sortHeaderId: string): string => {\n // set default case-sensitive sorting to case-insensitive (https://github.com/angular/components/issues/9205)\n if (typeof data[sortHeaderId] === 'string') {\n return data[sortHeaderId].toLocaleLowerCase();\n }\n return data[sortHeaderId];\n };\n\n get allData(): T[] {\n return this.data;\n }\n\n getFilter(fieldName: string): AbstractFilter[] {\n return this.filterMap[fieldName];\n }\n\n setFilter(fieldName: string, filters: AbstractFilter[]): Observable {\n this.filterMap[fieldName] = filters;\n return new Observable(subscriber => {\n setTimeout(() => {\n this.refreshFilterPredicate();\n subscriber.next();\n subscriber.complete();\n }, 200); // to show progress\n });\n }\n\n clearFilter(fieldName: string = null) {\n if (fieldName != null) {\n delete this.filterMap[fieldName];\n } else {\n this.filterMap = {};\n }\n this.refreshFilterPredicate();\n }\n\n clearData() {\n this.data = [];\n }\n\n public refreshFilterPredicate() {\n let conditionsString = '';\n Object.keys(this.filterMap).forEach((key: string) => {\n let fieldCondition = '';\n this.filterMap[key].forEach((fieldFilter, row, array) => {\n if (row < array.length - 1) {\n fieldCondition += fieldFilter.toString(key) + (fieldFilter.type === 'and' ? ' && ' : ' || ');\n } else {\n fieldCondition += fieldFilter.toString(key);\n }\n });\n if (fieldCondition !== '') {\n conditionsString += ` ${conditionsString === '' ? '' : ' && '} ( ${fieldCondition} )`;\n }\n });\n if (conditionsString !== '') {\n const filterFunction = new Function('_a$', 'return ' + conditionsString);\n this.filterPredicate = (data: T, filter: string) => filterFunction(data) as boolean;\n } else {\n this.filterPredicate = (data: T, filter: string) => true;\n }\n this.filter = conditionsString;\n }\n\n // When client paging active use for retrieve paging data\n pagingData(data) {\n const p: MatPaginator = (this as any)._paginator;\n if (p && p !== null) {\n const end = (p.pageIndex + 1) * p.pageSize;\n const start = p.pageIndex * p.pageSize;\n return data.slice(start, end);\n }\n return data;\n }\n\n override _updateChangeSubscription() {\n this.initStreams();\n const sort: MatSort | null = (this as any)._sort;\n const paginator: MatPaginator | null = (this as any)._paginator;\n const internalPageChanges: Subject = (this as any)._internalPageChanges;\n const filter: BehaviorSubject = (this as any)._filter;\n const renderData: BehaviorSubject = (this as any)._renderData;\n const dataStream: BehaviorSubject = (this as any)._data;\n\n const sortChange: Observable = sort ? (merge(sort.sortChange, sort.initialized) as Observable) : of(null);\n const pageChange: Observable = paginator\n ? (merge(paginator.page, internalPageChanges, paginator.initialized) as Observable)\n : of(null);\n\n // First Filter\n const filteredData = combineLatest([dataStream, filter]).pipe(map(([data]) => this._filterData(data)));\n // Second Order\n const orderedData = combineLatest([filteredData, sortChange]).pipe(\n map(([data, sortColumn]) => {\n const sc: Sort = sortColumn as Sort;\n if (!sc) {\n return data;\n } else if (sc.active !== '') {\n const column = this.columns.filter(c => c.key == sc.active)[0];\n if (column.sort === 'server-side') {\n return data;\n } else if (column.sort === 'client-side') {\n return this._orderData(data);\n }\n }\n\n return data;\n })\n );\n // Last Paging\n const paginatedData = combineLatest([orderedData, pageChange]).pipe(map(([data]) => this.pagingData(data)));\n\n this._renderChangesSubscription?.unsubscribe();\n this._renderChangesSubscription = new Subscription();\n this._renderChangesSubscription.add(paginatedData.subscribe(data => this.dataToRender$.next(data)));\n this._renderChangesSubscription.add(this.dataOfRange$.subscribe(data => renderData.next(data)));\n }\n\n private initStreams() {\n if (!this.streamsReady) {\n this.dataToRender$ = new ReplaySubject(1);\n this.dataOfRange$ = new ReplaySubject(1);\n this.streamsReady = true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { Subject } from 'rxjs';\nimport { FilterLabels, MenuLabels, TableLabels, TableLanguage } from '../models/table-language.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableIntl implements TableLanguage {\n menuLabels: MenuLabels = {\n saveData: 'Daten speichern',\n newSetting: 'Neue Einstellung',\n noSetting: 'Keine Einstellung ',\n fullScreen: 'Vollbild',\n\n columnSetting: 'Spalteneinstellung',\n saveTableSetting: 'View speichern',\n clearFilter: 'Filter löschen',\n jsonFile: 'JSON File',\n csvFile: 'CSV File',\n filterMode: 'Filter Mode:',\n filterLocalMode: 'Lokal',\n filterServerMode: 'Server',\n sortMode: 'Sort Mode:',\n sortLocalMode: 'Lokal',\n sortServerMode: 'Server',\n thereIsNoColumn: 'There is no column.'\n };\n\n paginatorLabels: MatPaginatorIntl = {\n changes: new Subject(),\n itemsPerPageLabel: 'Zeilen pro Seite:',\n nextPageLabel: 'Nächste Seite:',\n previousPageLabel: 'Vorige Seite:',\n firstPageLabel: 'Erste Seite:',\n lastPageLabel: 'Letzte Seite:',\n getRangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 of ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} von ${length}`;\n }\n };\n\n tableLabels: TableLabels = {\n NoData: 'Keine Daten vorhanden.'\n };\n\n filterLabels: FilterLabels = {\n Clear: 'Löschen',\n Search: 'Suchen',\n And: 'und',\n Or: 'oder',\n /* Text Compare */\n Text: 'Text',\n TextContains: 'enthält',\n TextEmpty: 'leer',\n TextStartsWith: 'beginnt mit',\n TextEndsWith: 'endet mit',\n TextEquals: 'gleich',\n TextNotEmpty: 'nicht leer',\n /* Number Compare */\n Number: 'Nummer',\n NumberEquals: 'gleich',\n NumberNotEquals: 'ungleich',\n NumberGreaterThan: 'größer als',\n NumberLessThan: 'kleiner als',\n NumberEmpty: 'leer',\n NumberNotEmpty: 'nicht leer',\n /* Category List Compare */\n CategoryContains: 'Contains',\n CategoryNotContains: 'Not Contains',\n /* Boolean Compare */\n Boolean: 'Boolean',\n BooleanEquals: 'gleich',\n Yes: 'Ja',\n No: 'Nein',\n All: 'Alle',\n /* Date Compare */\n };\n}\n","import {\n AfterContentInit,\n ContentChild,\n Directive,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy\n} from '@angular/core';\nimport {VIRTUAL_SCROLL_STRATEGY} from '@angular/cdk/scrolling';\nimport {distinctUntilChanged, filter, map, switchMap, takeUntil, takeWhile, tap} from 'rxjs/operators';\nimport {TableVirtualScrollDataSource} from './table-data-source';\nimport {MatTable} from '@angular/material/table';\nimport {FixedSizeTableVirtualScrollStrategy} from './fixed-size-table-virtual-scroll-strategy';\nimport {CdkHeaderRowDef} from '@angular/cdk/table';\nimport {Subject} from 'rxjs';\n\nexport function _tableVirtualScrollDirectiveStrategyFactory(tableDir: TableItemSizeDirective) {\n return tableDir.scrollStrategy;\n}\n\nconst stickyHeaderSelector = '.mat-header-row .mat-table-sticky';\nconst stickyFooterSelector = '.mat-footer-row .mat-table-sticky';\n\nconst defaults = {\n rowHeight: 40,\n headerHeight: 40,\n bufferMultiplier: 1\n};\n\n@Directive({\n selector: 'cdk-virtual-scroll-viewport[tvsItemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _tableVirtualScrollDirectiveStrategyFactory,\n deps: [forwardRef(() => TableItemSizeDirective)]\n }\n ]\n})\nexport class TableItemSizeDirective implements OnChanges, AfterContentInit, OnDestroy {\n private alive = true;\n\n @Input('tvsItemSize') rowHeight = defaults.rowHeight;\n @Input() headerHeight = defaults.headerHeight;\n @Input() bufferMultiplier = defaults.bufferMultiplier;\n @ContentChild(MatTable, {static: true}) table: MatTable;\n\n scrollStrategy = new FixedSizeTableVirtualScrollStrategy();\n dataSourceChanges = new Subject();\n\n private stickyPositions: Map;\n\n constructor(private zone: NgZone) {\n }\n\n ngOnDestroy() {\n this.alive = false;\n this.dataSourceChanges.complete();\n }\n\n private isAlive() {\n return () => this.alive;\n }\n\n private isStickyEnabled(): boolean {\n return (\n !!this.scrollStrategy.viewport &&\n ((this.table as any)._headerRowDefs as CdkHeaderRowDef[]).map(def => def.sticky).reduce((prevState, state) => prevState && state, true)\n );\n }\n\n ngAfterContentInit() {\n const switchDataSourceOrigin = (this.table as any)._switchDataSource;\n (this.table as any)._switchDataSource = (dataSource: any) => {\n switchDataSourceOrigin.call(this.table, dataSource);\n this.connectDataSource(dataSource);\n };\n\n this.connectDataSource(this.table.dataSource);\n\n this.scrollStrategy.stickyChange\n .pipe(\n filter(() => this.isStickyEnabled()),\n tap(() => {\n if (!this.stickyPositions) {\n this.initStickyPositions();\n }\n }),\n takeWhile(this.isAlive())\n )\n .subscribe(stickyOffset => {\n this.setSticky(stickyOffset);\n });\n }\n\n connectDataSource(dataSource: any) {\n this.dataSourceChanges.next();\n if (dataSource instanceof TableVirtualScrollDataSource) {\n dataSource.dataToRender$\n .pipe(\n distinctUntilChanged(),\n takeUntil(this.dataSourceChanges),\n takeWhile(this.isAlive()),\n tap(data => (this.scrollStrategy.dataLength = data?.length)),\n switchMap(data => {\n return this.scrollStrategy.renderedRangeStream.pipe(\n map(({start, end}) => {\n // this.requestRendering.emit({from: start, to: end});\n return typeof start !== 'number' || typeof end !== 'number' ? data : data.slice(start, end);\n })\n )\n }\n )\n )\n .subscribe(data => {\n this.zone.run(() => {\n dataSource.dataOfRange$.next(data);\n });\n });\n } else {\n throw new Error('[tvsItemSize] requires TableVirtualScrollDataSource be set as [dataSource] of [mat-table]');\n }\n }\n\n ngOnChanges() {\n const config = {\n rowHeight: +this.rowHeight || defaults.rowHeight,\n headerHeight: +this.headerHeight || defaults.headerHeight,\n bufferMultiplier: +this.bufferMultiplier || defaults.bufferMultiplier\n };\n this.scrollStrategy.setConfig(config);\n }\n\n setSticky(offset) {\n this.scrollStrategy.viewport.elementRef.nativeElement.querySelectorAll(stickyHeaderSelector).forEach((el: HTMLElement) => {\n const parent = el.parentElement;\n let baseOffset = 0;\n if (this.stickyPositions.has(parent)) {\n baseOffset = this.stickyPositions.get(parent);\n }\n el.style.top = `${baseOffset - offset}px`;\n });\n // this.scrollStrategy.viewport.elementRef.nativeElement.querySelectorAll(stickyFooterSelector).forEach((el: HTMLElement) => {\n // const parent = el.parentElement;\n // let baseOffset = 0;\n // if (this.stickyPositions.has(parent)) {\n // baseOffset = this.stickyPositions.get(parent);\n // }\n // el.style.bottom = `${-baseOffset + offset}px`;\n // });\n }\n\n private initStickyPositions() {\n this.stickyPositions = new Map();\n this.scrollStrategy.viewport.elementRef.nativeElement.querySelectorAll(stickyHeaderSelector).forEach(el => {\n const parent = el.parentElement;\n if (!this.stickyPositions.has(parent)) {\n this.stickyPositions.set(parent, parent.offsetTop);\n }\n });\n }\n}\n","export interface HashMap {\n [key: string]: T;\n}\n\nimport { isNotNullOrUndefined } from \"@app/core\";\nimport { AbstractColumn } from \"../models\";\n\nexport const findSettingsValueToUse = (\n fieldName: K,\n fallback: T[K],\n tableSetting: T,\n columnSetting: T): T[K] => {\n for (const v of [tableSetting, columnSetting]) {\n\n const value = v?.[fieldName]\n if (isNotNullOrUndefined(value)) {\n return value;\n }\n }\n\n return fallback;\n};\n","export * from './table-boolean/table-boolean.component';\nexport * from './table-dl-link/table-dl-link.component';\nexport * from './table-link/table-link.component';\nexport * from './table-status/table-status.component';\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatIconModule} from '@angular/material/icon';\nimport {TableColumn, TableRow} from '../../models';\nimport {DynamicCell} from '../../core/dynamic-cell.directive';\n\n@Component({\n selector: 'inf-table-boolean',\n standalone: true,\n imports: [CommonModule, MatIconModule],\n template: `\n check\n close\n remove\n `,\n styleUrls: [`./table-boolean.component.scss`],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableBooleanComponent implements DynamicCell {\n @Input() column: TableColumn;\n @Input() row: TableRow;\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { TableColumn, TableRow} from '../../models';\nimport { DynamicCell } from '../../core/dynamic-cell.directive';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { MediaType } from '@core';\n\n@Component({\n selector: 'inf-table-dl-link',\n standalone: true,\n imports: [CommonModule],\n template: `\n {{row[column.key]}}\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableDlLinkComponent implements DynamicCell, OnInit {\n constructor(private http: HttpClient) {}\n\n @Input() column: TableColumn;\n @Input() row: TableRow;\n\n href: string;\n\n ngOnInit() {\n this.href = `${this.column.option.basePath}/${this.row[this.column.option.idKey]}`;\n }\n\n handle(e: Event) {\n e.preventDefault();\n const url = this.href;\n const headers = new HttpHeaders().append('Accept', MediaType.PDF);\n return this.http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .subscribe(blob => {\n const link = document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = this.row[this.column.key];\n link.click();\n window.URL.createObjectURL(blob);\n });\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RowEvent, TableColumn, TableRow} from '../../models';\nimport {TableComponent} from '../../components/table.component';\nimport {DynamicCell} from '../../core/dynamic-cell.directive';\n\n@Component({\n selector: 'inf-table-link',\n standalone: true,\n imports: [CommonModule],\n template: `{{row[this.column.key]}}`,\n styles: [``],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableLinkComponent implements OnInit, DynamicCell {\n @Input() column: TableColumn;\n @Input() parent: TableComponent;\n @Input() row: TableRow;\n @Input() onRowEvent: EventEmitter;\n\n url = '';\n\n ngOnInit(): void {\n const url: string = this.column?.option?.url ?? null;\n\n if (url) {\n const value = this.column?.option?.column ? this.row[this.column.option?.column] : this.row[this.column.key];\n this.url = url.replace('{key}', `${value}`) || '';\n } else {\n this.url = this.row[this.column.key];\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { TableColumn, TableRow} from '../../models';\nimport { DynamicCell} from '../../core/dynamic-cell.directive';\n\n@Component({\n selector: 'inf-table-status',\n standalone: true,\n imports: [CommonModule, MatChipsModule],\n templateUrl: './table-status.component.html',\n styleUrls: ['./table-status.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableStatusComponent implements DynamicCell, OnInit {\n @Input() column: TableColumn;\n @Input() row: TableRow;\n\n statusText = '';\n\n ngOnInit() {\n this.statusText = this.row[this.column.key];\n }\n}\n","\n {{ this.statusText }}\n\n","import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\n\nimport { AbstractColumn } from '../../models';\nimport { TableIntl } from '../../core/table-intl';\n\n@Component({\n selector: 'inf-table-column-settings',\n templateUrl: './column-settings.component.html',\n styleUrls: ['./column-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableColumnSettingsComponent implements OnInit {\n columnSetting: AbstractColumn[] = [];\n\n private columnSettingSubject: BehaviorSubject = new BehaviorSubject(this.columnSetting);\n\n selectedColumns$: Observable = this.columnSettingSubject\n .asObservable()\n .pipe(map((columns: AbstractColumn[]) => columns.filter((column: AbstractColumn) => column?.display === 'visible' || column?.display === 'prevent-hidden')));\n\n notSelectedColumns$: Observable = this.columnSettingSubject\n .asObservable()\n .pipe(map((columns: AbstractColumn[]) => columns.filter((column: AbstractColumn) => column?.display !== 'visible' && column?.display !== 'prevent-hidden')));\n\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: any,\n public languagePack: TableIntl,\n private _dialogRef: MatDialogRef\n ) {\n }\n\n ngOnInit(): void {\n this.resetColumnSetting();\n }\n\n resetColumnSetting(): void {\n this.columnSetting = this.data?.['columnSetting'];\n this.columnSettingSubject.next(this.columnSetting);\n }\n\n handleColumnMenuDropped(event: CdkDragDrop): void {\n moveItemInArray(this.columnSetting, event.previousIndex, event.currentIndex);\n this.columnSettingSubject.next(this.columnSetting);\n }\n\n onToggleSelectedColumn(column: AbstractColumn): void {\n const currentSelectedLength = this.columnSetting.filter(column => column?.display === 'visible' || column?.display === 'prevent-hidden').length;\n const alphabeticNonSelectedIndex = (this.columnSetting as any).findLastIndex(col => col.display !== 'visible' && col.display !== 'prevent-hidden' && col.title.localeCompare(column.title) === -1);\n column.display = column.display === 'visible' ? 'hidden' : 'visible';\n\n if (column?.display !== 'hidden') {\n moveItemInArray(this.columnSetting, this.columnSetting.findIndex(e => e.key === column?.key), currentSelectedLength);\n } else {\n moveItemInArray(this.columnSetting, this.columnSetting.findIndex(e => e.key === column?.key), alphabeticNonSelectedIndex === -1 ? currentSelectedLength - 1 : alphabeticNonSelectedIndex);\n }\n\n this.columnSettingSubject.next(this.columnSetting);\n }\n\n onSave(e: MouseEvent): void {\n e.stopPropagation();\n e.preventDefault();\n this._dialogRef.close({ action: 'save', model: this.columnSetting });\n }\n\n onCancel(): void {\n this._dialogRef.close(undefined);\n }\n}\n","
\n
\n

{{ languagePack.menuLabels.columnSetting }}

\n clear\n
\n\n \n
\n
Verfügbare Spalten
\n
Ausgewählte Spalten
\n
\n
\n {{ column.title }}\n chevron_right\n
\n
\n
\n \n
\n close\n {{ column.title }}\n drag_indicator\n
\n
\n
\n \n\n \n
Abbrechen
\n \n
\n\n\n\n
{{ languagePack.menuLabels.thereIsNoColumn }}
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatInputModule } from '@angular/material/input';\nimport { TableColumnSettingsComponent } from './column-settings.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\n\nconst components = [TableColumnSettingsComponent];\n\n@NgModule({\n declarations: [components],\n exports: components,\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n MatRadioModule,\n MatButtonModule,\n MatFormFieldModule,\n MatTooltipModule,\n MatDialogModule,\n MatMenuModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n MatInputModule,\n DragDropModule\n ]\n})\nexport class ColumnSettingsModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild\n} from '@angular/core';\nimport { animate, query, stagger, style, transition, trigger } from '@angular/animations';\nimport { MatInput } from '@angular/material/input';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { Subscription } from 'rxjs';\n\nimport { TextFilter } from './compare/text-filter';\nimport { NumberFilter } from './compare/number-filter';\nimport { BooleanFilter } from './compare/boolean-filter';\nimport { AbstractFilter } from './compare/abstract-filter';\nimport { TableColumn } from '../../models/table-column.model';\nimport { TableIntl } from '../../core/table-intl';\nimport { TableService } from '../../services/table.service';\nimport { isNullOrUndefined } from '@core';\n\nconst listAnimation = trigger('listAnimation', [\n transition('* <=> *', [query(':enter', [style({ opacity: 0 }), stagger('10ms', animate('400ms ease-out', style({ opacity: 1 })))], { optional: true })])\n]);\n\n@Component({\n selector: 'inf-table-column-filter',\n templateUrl: './column-filter.component.html',\n styleUrls: ['./column-filter.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [listAnimation]\n})\nexport class ColumnFilterComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() column?: TableColumn;\n @Output() filterChange: EventEmitter = new EventEmitter();\n\n @ContentChildren('filterInput') filterInputList!: QueryList;\n @ViewChild(MatMenuTrigger, { static: true }) menu!: MatMenuTrigger;\n\n private filterList: AbstractFilter[] = [];\n private eventsSubscription: Subscription;\n\n @Input()\n get filters(): AbstractFilter[] {\n if (isNullOrUndefined(this.filterList) === true || this.filterList.length === 0) {\n this.filterList = [];\n this.addNewFilter(this.column.type || 'text');\n }\n return this.filterList;\n }\n\n set filters(values: AbstractFilter[]) {\n this.filterList = values;\n }\n\n @HostBinding('class.has-value')\n get hasValue(): boolean {\n return this.filterList && this.filterList.filter(f => f.hasValue() === true).length > 0;\n }\n\n @HostBinding('class.show-trigger')\n get showTrigger(): boolean {\n if (this.menu === undefined) {\n return false;\n } else {\n return this.menu.menuOpen || this.hasValue;\n }\n }\n\n constructor(\n public languagePack: TableIntl,\n public service: TableService) {\n }\n\n ngOnDestroy(): void {\n if (this.eventsSubscription) {\n this.eventsSubscription.unsubscribe();\n }\n }\n\n ngOnInit(): void {\n if (isNullOrUndefined(this.filters)) {\n this.filters = [];\n this.addNewFilter(this.column.type);\n }\n }\n\n addNewFilter(type: string = 'text'): AbstractFilter {\n switch (type || 'text') {\n case 'text': {\n this.filterList.push(new TextFilter(this.languagePack));\n break;\n }\n case 'number': {\n this.filterList.push(new NumberFilter(this.languagePack));\n break;\n }\n case 'boolean': {\n this.filterList.push(new BooleanFilter(this.languagePack));\n break;\n }\n default:\n this.filterList.push(new TextFilter(this.languagePack));\n break;\n }\n\n this.filters[this.filters.length - 1].selectedIndex = 0;\n return this.filters[this.filters.length - 1];\n }\n\n ngAfterViewInit() {\n if (this.menu) {\n this.eventsSubscription = this.menu.menuOpened.subscribe(() => this.focusToLastInput());\n }\n }\n\n focusToLastInput() {\n setTimeout(() => {\n if (this.filterInputList.length > 0) {\n this.filterInputList.last.focus();\n }\n });\n }\n\n onClearColumnClick() {\n this.filterList = [];\n this.filterChange.emit(this.filterList);\n }\n\n onApplyFilterClick() {\n this.filterChange.emit(this.filterList);\n }\n}\n","\n\n\n\n \n \n \n \n \n {{ op.text }}\n \n \n \n\n
\n @if (ctrl.text === 'Boolean') {\n
\n \n {{ languagePack.filterLabels.Yes }}\n {{ languagePack.filterLabels.No }}\n \n
\n } @else {\n \n {{ ctrl.text }}\n \n \n }\n
\n \n\n
\n \n {{ languagePack.filterLabels.Clear }}\n \n \n {{ languagePack.filterLabels.Search }}\n \n
\n
\n\n\n\n filter_list\n\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { ColumnFilterComponent } from './column-filter.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FilterEventDirective } from './filter-event.directive';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\n\nconst components = [ColumnFilterComponent, FilterEventDirective];\n\n@NgModule({\n declarations: [components],\n exports: components,\n imports: [\n CommonModule,\n FormsModule,\n MatSelectModule,\n MatButtonToggleModule,\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatCheckboxModule,\n MatIconModule,\n DragDropModule,\n MatMenuModule,\n MatRadioModule,\n MatDividerModule\n ]\n})\nexport class ColumnFilterModule {}\n","export abstract class AbstractFilter {\n /*\n type variable is array because in future may be\n control have two or more parameters such as ranger[from, to]\n */\n public parameters?: [{ value: T; text: string }];\n public type: 'and' | 'or';\n abstract selectedIndex: number;\n abstract readonly selectedValue: FilterOperation;\n abstract toString(dynamicVariable: string): string;\n abstract getOperations(): FilterOperation[];\n public hasValue() {\n if (this.parameters !== null) {\n return this.parameters.filter(p => p.value != null && p.value !== undefined && p.value.toString() !== '').length > 0;\n }\n return false;\n }\n}\n\nexport interface FilterOperation {\n predicate: string;\n operator: string;\n text: string;\n}\n","import { AbstractFilter, FilterOperation } from './abstract-filter';\nimport { TableIntl } from '../../../core/table-intl';\n\nexport class BooleanFilter extends AbstractFilter {\n private static operationList: FilterOperation[] = [];\n\n constructor(public languagePack: TableIntl) {\n super();\n if (BooleanFilter.operationList.length === 0) {\n BooleanFilter.operationList = [{\n predicate: 'a == b',\n operator: '==',\n text: languagePack.filterLabels.BooleanEquals\n }];\n }\n }\n\n private _selectedIndex: number = null;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value: number) {\n this._selectedIndex = value;\n if (value === 0) {\n this.parameters = [{ value: null, text: this.languagePack.filterLabels.Boolean }];\n } else {\n this.parameters = null;\n }\n }\n\n get selectedValue(): FilterOperation {\n if (this._selectedIndex !== null) {\n return BooleanFilter.operationList[this._selectedIndex];\n } else {\n return null;\n }\n }\n\n public getOperations(): FilterOperation[] {\n return BooleanFilter.operationList;\n }\n\n public toString(dynamicVariable: string): string {\n const a = '_a$';\n const b = '_b$';\n const modifiedPredicate = this.selectedValue.predicate === '==' ? 'a == b' : 'a == b';\n const predicate = modifiedPredicate.replace('a', a).replace('b', b);\n const statement = predicate.replace(a, `${a}['${dynamicVariable}']`);\n\n if (this._selectedIndex === 0) {\n const value = this.parameters[0].value ? this.parameters[0].value.toString() : ' null ';\n return statement.replace(b, value);\n } else {\n return statement;\n }\n }\n}\n","import { AbstractFilter, FilterOperation } from './abstract-filter';\nimport { TableIntl } from '../../../core/table-intl';\n\nexport class NumberFilter extends AbstractFilter {\n private static operationList: FilterOperation[] = [];\n\n constructor(public languagePack: TableIntl) {\n super();\n if (NumberFilter.operationList.length === 0) {\n NumberFilter.operationList = [\n {\n predicate: 'a == b',\n operator: '==',\n text: languagePack.filterLabels.NumberEquals\n },\n {\n predicate: 'a > b',\n operator: '>',\n text: languagePack.filterLabels.NumberGreaterThan\n },\n {\n predicate: 'a < b',\n operator: '<',\n text: languagePack.filterLabels.NumberLessThan\n }\n ];\n }\n }\n\n private _selectedIndex: number = null;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value: number) {\n this._selectedIndex = value;\n if (value === 0 || value === 1 || value === 2) {\n this.parameters = [{ value: null, text: this.languagePack.filterLabels.Number }];\n } else {\n this.parameters = null;\n }\n }\n\n get selectedValue(): FilterOperation {\n if (this._selectedIndex !== null) {\n return NumberFilter.operationList[this._selectedIndex];\n } else {\n return null;\n }\n }\n\n public getOperations(): FilterOperation[] {\n return NumberFilter.operationList;\n }\n\n public toString(dynamicVariable: string): string {\n const a = '_a$';\n const b = '_b$';\n const predicate = this.selectedValue.predicate.replace('a', a).replace('b', b);\n const statement = predicate.replace(a, `${a}['${dynamicVariable}']`);\n\n if (this._selectedIndex === 0 || this._selectedIndex === 1 || this._selectedIndex === 2) {\n const value = this.parameters[0].value ? this.parameters[0].value.toString() : ' null ';\n return statement.replace(b, value);\n } else {\n return statement;\n }\n }\n}\n","import { AbstractFilter, FilterOperation } from './abstract-filter';\nimport { TableIntl } from '../../../core/table-intl';\n\nexport class TextFilter extends AbstractFilter {\n private static operationList: FilterOperation[] = [];\n\n constructor(public languagePack: TableIntl) {\n super();\n this._selectedIndex = 0;\n if (TextFilter.operationList.length === 0) {\n TextFilter.operationList = [\n {\n predicate: 'a.toString().includes(b)',\n operator: 'contains',\n text: languagePack.filterLabels.TextContains\n },\n {\n predicate: 'a.toString() === b.toString()',\n operator: '==',\n text: languagePack.filterLabels.TextEquals\n }];\n }\n }\n\n private _selectedIndex: number = null;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value: number) {\n this._selectedIndex = value;\n if (value === 0 || value === 1) {\n this.parameters = [{ value: '', text: this.languagePack.filterLabels.Text }];\n } else {\n this.parameters = null;\n }\n }\n\n get selectedValue(): FilterOperation {\n if (this._selectedIndex !== null) {\n return TextFilter.operationList[this._selectedIndex];\n } else {\n return null;\n }\n }\n\n public getOperations(): FilterOperation[] {\n return TextFilter.operationList;\n }\n\n public toString(dynamicVariable: any): string {\n const a = '_a$';\n const b = '_b$';\n const predicate = this.selectedValue.predicate.replace('a', a).replace('b', b);\n const statement = predicate.replace(a, `${a}['${dynamicVariable}']?.toString()?.toLowerCase()`);\n\n if (this._selectedIndex === 0 || this._selectedIndex === 1) {\n const value = '\\'' + (this.parameters[0].value !== null ? this.parameters[0].value.toLowerCase() : ' null ') + '\\'';\n return statement.replace('_b$', value);\n } else {\n return statement;\n }\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[filter-event]'\n})\nexport class FilterEventDirective {\n @HostListener('click', ['$event'])\n onClick(e: MouseEvent) {\n e.stopPropagation();\n e.preventDefault();\n\n return false;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatMenu, MatMenuModule } from '@angular/material/menu';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ContextMenuItem, PredicateFn } from '../../models/context-menu-model';\nimport { isNullOrUndefined } from '@core';\n\n@Component({\n selector: 'inf-table-row-menu-item',\n template: `\n \n \n \n {{ menu.icon }}\n {{ menu.text }}\n \n \n \n \n \n \n \n \n \n `,\n styles: [\n `\n @use '../../components/table-style' as tableStyle;\n\n @include tableStyle.context-menu;\n\n :host {\n display: flex;\n align-items: center;\n background-color: #fff;\n border-left: 1px solid #e5e5e5;\n //border-bottom: 1px solid #e5e5e5;\n\n button {\n height: 48px;\n }\n }\n\n .button-menu {\n display: flex;\n\n span {\n display: inline-block;\n width: 100%;\n text-align: left;\n }\n\n mat-icon {\n line-height: 48px;\n height: 48px;\n //margin: 0 5px;\n width: 40px;\n }\n }\n `\n ],\n standalone: true,\n imports: [\n CommonModule,\n MatMenuModule,\n MatIconModule,\n MatDividerModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowMenuItemComponent {\n @Input() items: ContextMenuItem[];\n @Input() row: any;\n @Output() rowActionChange: EventEmitter = new EventEmitter();\n\n @ViewChild('menu', { static: true }) menu: MatMenu;\n\n menuButton_OnClick(menu: ContextMenuItem) {\n setTimeout(() => {\n this.rowActionChange.emit(menu);\n });\n }\n\n checkPredicate(predicate: boolean | PredicateFn, defaultValue: boolean): boolean {\n if (isNullOrUndefined(predicate)) {\n return defaultValue;\n }\n\n if (typeof predicate === 'boolean' || predicate instanceof Boolean) {\n return predicate as boolean;\n }\n\n return predicate(this.row);\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {ContextMenuItem, PredicateFn, TableSetting} from '../../models';\nimport { isNullOrUndefined } from '@core';\n\n@Component({\n selector: 'inf-table-row-menu',\n template: `\n \n\n \n `,\n styleUrls: ['./row-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowMenuComponent {\n @Input() actionMenus: ContextMenuItem[] = [];\n @Input() tableSetting: TableSetting;\n @Input() row: any;\n @Input() rowActionMenu?: { [key: string]: ContextMenuItem };\n @Input() disabled: boolean = false;\n @Output() rowActionChange: EventEmitter = new EventEmitter();\n\n visibleActionMenus: ContextMenuItem[] = [];\n\n onMenuClick(e: MouseEvent): void {\n e.stopPropagation();\n e.preventDefault();\n\n this.visibleActionMenus = [];\n this.actionMenus.forEach((menu: ContextMenuItem) => {\n const am: ContextMenuItem =\n isNullOrUndefined(this.rowActionMenu) || isNullOrUndefined(this.rowActionMenu[menu.name])\n ? menu\n : this.rowActionMenu[menu.name];\n\n const visible = this.checkPredicate(this.row, isNullOrUndefined(am.visible) || menu.visible, true);\n\n if (visible) {\n this.visibleActionMenus.push({\n name: menu.name,\n text: am.text || menu.text,\n disabled: this.checkPredicate(this.row, isNullOrUndefined(am.disabled) || menu.disabled, false),\n icon: am.icon || menu.icon,\n color: am.color || menu.color,\n divider: am.divider || menu.divider,\n submenu: am.submenu || menu.submenu\n });\n }\n });\n }\n\n menuButton_OnClick(menu: ContextMenuItem): void {\n setTimeout(() => {\n this.rowActionChange.emit(menu);\n });\n }\n\n private checkPredicate(row: any, predicate: boolean | PredicateFn, defaultValue: boolean): boolean {\n if (isNullOrUndefined(predicate)) {\n return defaultValue;\n }\n\n if (typeof predicate === 'boolean' || predicate instanceof Boolean) {\n return predicate as boolean;\n }\n\n return predicate(row);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RowMenuComponent } from './row-menu.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { RowMenuItemComponent } from './row-menu-item.component';\n\n\n@NgModule({\n declarations: [RowMenuComponent],\n exports: [RowMenuComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule, MatDividerModule, RowMenuItemComponent]\n})\nexport class RowMenuModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'inf-table-save-view',\n templateUrl: './save-view.component.html',\n styleUrls: ['./save-view.component.scss']\n})\nexport class SaveViewComponent implements OnInit {\n title: string;\n audience = '1';\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private matDialogRef: MatDialogRef) {}\n\n ngOnInit(): void {\n if (!this.data) return;\n this.title = this.data.filterTitle;\n }\n\n onCancel() {\n this.matDialogRef.close(undefined);\n }\n\n onSave() {\n if (!this.title) {\n return;\n }\n const filter = {\n title: this.title,\n audience: this.audience\n };\n this.matDialogRef.close(filter);\n }\n}\n","
\n

Eigene View speichern

\n clear\n
\n\n \n Titel\n \n Bitte vergeben Sie einen Titel für den neuen View mit den ausgewählten Filtereinstellungen\n \n
Bitte vergeben Sie einen Titel für den neuen View mit den ausgewählten Filtereinstellungen
\n
\n
\n \n Sichtbarkeit\n
\n organisationsweit\n privat\n
\n
\n\n
Abbrechen
\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { SaveViewComponent } from './save-view.component';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { FormsModule } from '@angular/forms';\n\nconst components = [SaveViewComponent];\n\n@NgModule({\n declarations: [components],\n exports: components,\n imports: [CommonModule, FormsModule, MatRadioModule, MatButtonModule, MatFormFieldModule, MatIconModule, MatDialogModule, MatMenuModule]\n})\nexport class SaveViewModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild\n} from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { MatDialog } from '@angular/material/dialog';\nimport { distinctUntilChanged, Subscription, filter } from 'rxjs';\n\nimport { TableService } from '../../services/table.service';\nimport { AbstractColumn, TableMenuActionChange, TableSetting } from '../../models';\nimport { TableIntl } from '../../core/table-intl';\nimport { deepClone } from '../../utils';\nimport { TableColumnSettingsComponent } from '@components/table/extensions/column-settings/column-settings.component';\nimport { isNullOrUndefined } from '@core';\n\n@Component({\n selector: 'inf-table-menu',\n templateUrl: './table-menu.component.html',\n styleUrls: ['./table-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableMenuComponent implements OnDestroy {\n @Output()\n menuActionChange: EventEmitter = new EventEmitter();\n\n @Input()\n visible: boolean = false;\n\n @Input()\n get tableSetting(): TableSetting {\n return this.currentTableSetting;\n }\n\n set tableSetting(value: TableSetting) {\n value.settingsList = value.settingsList === undefined ? [] : value.settingsList;\n this.originalTableSetting = value;\n this.currentTableSetting = value;\n }\n\n @Output()\n tableSettingChange: EventEmitter = new EventEmitter();\n\n @ViewChild('newSetting', { static: false })\n newSettingElement: ElementRef;\n\n newSettingName = '';\n showNewSetting: boolean = false;\n currentColumn: number = null;\n originalTableSetting: TableSetting;\n currentTableSetting: TableSetting;\n dialogSubscription: Subscription = new Subscription();\n\n constructor(\n public dialog: MatDialog,\n public languagePack: TableIntl,\n public tableService: TableService\n ) {\n }\n\n handleColumnMenuDropped(event: CdkDragDrop): void {\n moveItemInArray(this.currentTableSetting.columnSetting, event.item.data.columnIndex, event.currentIndex);\n }\n\n onToggleSelectedColumn(column: AbstractColumn): void {\n column.display = column.display === 'visible' ? 'hidden' : 'visible';\n }\n\n onApplyClick(e: MouseEvent): void {\n e.stopPropagation();\n e.preventDefault();\n this.menuActionChange.emit({\n type: 'TableSetting',\n data: this.currentTableSetting\n });\n this.tableService.saveColumnInfo(this.currentTableSetting.columnSetting);\n }\n\n onCancelClick(): void {\n this.currentTableSetting = deepClone(this.originalTableSetting);\n }\n\n isVisible(visible: boolean): boolean {\n return isNullOrUndefined(visible) ? true : visible;\n }\n\n onSaveSettingClick(e: MouseEvent, setting: TableSetting): void {\n e.stopPropagation();\n this.menuActionChange.emit({\n type: 'SaveSetting',\n data: setting?.settingsName\n });\n }\n\n onNewSettingClick(e: MouseEvent): void {\n this.showNewSetting = true;\n this.newSettingName = '';\n window.requestAnimationFrame(() => {\n this.newSettingElement.nativeElement.focus();\n });\n e.stopPropagation();\n }\n\n onSelectSettingClick(e: MouseEvent, setting: TableSetting): void {\n e.stopPropagation();\n this.menuActionChange.emit({\n type: 'SelectSetting',\n data: setting?.settingsName\n });\n }\n\n onDefaultClick(e: MouseEvent, setting: TableSetting): void {\n e.stopPropagation();\n this.menuActionChange.emit({\n type: 'DefaultSetting',\n data: setting?.settingsName\n });\n }\n\n onApplySaveSettingClick(e: MouseEvent | Event): void {\n e.stopPropagation();\n this.menuActionChange.emit({\n type: 'SaveSetting',\n data: this.newSettingName\n });\n this.showNewSetting = false;\n }\n\n onCancelSaveSettingClick(e: MouseEvent): void {\n e.stopPropagation();\n this.newSettingName = '';\n this.showNewSetting = false;\n }\n\n onDeleteSettingClick(e: MouseEvent, setting: TableSetting): void {\n e.stopPropagation();\n this.menuActionChange.emit({ type: 'DeleteSetting', data: setting });\n this.newSettingName = '';\n this.showNewSetting = false;\n }\n\n onClearFilterClick(e: MouseEvent): void {\n e.stopPropagation();\n setTimeout(() => {\n this.menuActionChange.emit({ type: 'FilterClear' });\n });\n }\n\n onDownloadClick(e: MouseEvent, type: string): void {\n e.stopPropagation();\n setTimeout(() => {\n this.menuActionChange.emit({ type: 'Download', data: type });\n });\n }\n\n onColumnSettingClick(e: MouseEvent): void {\n e.stopPropagation();\n\n const dialog = this.dialog.open(TableColumnSettingsComponent, {\n width: '60vw',\n height: '60vh',\n data: {\n columnSetting: deepClone(this.currentTableSetting.columnSetting)\n }\n });\n\n this.dialogSubscription = dialog\n .afterClosed()\n .pipe(\n filter(result => result?.action === 'save'),\n distinctUntilChanged()\n )\n .subscribe(async res => {\n this.currentTableSetting.columnSetting = res?.model;\n this.menuActionChange.emit({\n type: 'TableSetting',\n data: this.currentTableSetting\n });\n this.tableService.saveColumnInfo(this.currentTableSetting.columnSetting);\n });\n }\n\n ngOnDestroy(): void {\n this.dialogSubscription.unsubscribe();\n }\n}\n\n","\n settings\n\n
\n\n\n \n\n \n view_column\n {{ languagePack.menuLabels.columnSetting }}\n \n\n \n grading\n {{ languagePack.menuLabels.saveTableSetting }}\n \n\n \n grading\n {{ languagePack.menuLabels.saveTableSetting }}\n \n\n\n\n\n \n tune\n {{ languagePack.menuLabels.newSetting }}\n \n\n \n
\n \n
\n
\n close\n done\n
\n \n\n \n\n \n \n {{ (setting?.isDefaultSetting == true) ? 'star' : 'star_outline' }}\n \n {{ setting.settingsName }}\n save\n delete\n \n\n \n lightbulb\n {{ languagePack.menuLabels.noSetting }}\n \n
\n\n\n\n \n {{ languagePack.menuLabels.jsonFile }}\n \n\n \n {{ languagePack.menuLabels.csvFile }}\n \n\n\n\n\n 0; else noColumns\">\n \n \n drag_indicator\n \n {{ column.title }}\n \n
\n drag_indicator\n \n {{ column.title }}\n \n
\n \n \n\n
\n \n done\n \n \n clear\n \n
\n
\n\n \n
\n {{ languagePack.menuLabels.thereIsNoColumn }}\n
\n
\n
\n\n\n \n \n
\n filter_alt\n {{ languagePack.menuLabels.filterMode }}\n
\n \n \n {{ languagePack.menuLabels.filterLocalMode }}\n \n \n {{ languagePack.menuLabels.filterServerMode }}\n \n \n
\n\n \n
\n sort\n {{ languagePack.menuLabels.sortMode }}\n
\n \n \n {{ languagePack.menuLabels.sortLocalMode }}\n \n \n {{ languagePack.menuLabels.sortServerMode }}\n \n \n
\n \n\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatButtonModule } from '@angular/material/button';\nimport { TableMenuComponent } from './table-menu.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatInput } from '@angular/material/input';\n\nconst components = [TableMenuComponent];\n\n@NgModule({\n declarations: [components],\n exports: components,\n imports: [CommonModule, FormsModule, MatButtonModule, MatCheckboxModule, MatIconModule, DragDropModule, MatMenuModule, MatRadioModule, MatDividerModule, MatInput]\n})\nexport class TableMenuModule {}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[templateOrString]'\n})\nexport class TemplateOrStringDirective {\n @Input() set templateOrString(content: string | TemplateRef) {\n let template = content instanceof TemplateRef ? content : this.defaultTpl;\n this.vcr.clear();\n this.vcr.createEmbeddedView(template);\n }\n\n constructor(private defaultTpl: TemplateRef, private vcr: ViewContainerRef) {}\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, OnDestroy, OnInit } from '@angular/core';\n\n@Component({\n selector: 'inf-table-tooltip',\n template: `\n
\n \n {{ content }}\n \n
\n `,\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('tooltip', [\n transition(':enter', [style({ opacity: 0 }), animate(300, style({ opacity: 1 }))]),\n transition(':leave', [animate(300, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TooltipComponent implements OnInit, OnDestroy {\n @HostBinding('class') class = 'cell-tooltip';\n\n constructor(@Inject('tooltipConfig') public content) {}\n\n ngOnInit(): void {}\n\n ngOnDestroy(): void {}\n}\n","import { ComponentRef, Directive, ElementRef, HostListener, Input, OnInit, TemplateRef, Injector, OnDestroy } from '@angular/core';\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[infTableTooltip]:not([click-to-open])'\n})\nexport class TooltipDirective implements OnDestroy {\n @Input('appTooltip') content: string | TemplateRef;\n private overlayRef: OverlayRef;\n\n constructor(private overlay: Overlay, private overlayPositionBuilder: OverlayPositionBuilder, private elementRef: ElementRef) {}\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n ngOnInit() {\n const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -8\n }\n ]);\n\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n @HostListener('mouseenter')\n show() {\n const injector = Injector.create({\n providers: [{ provide: 'tooltipConfig', useValue: this.content }]\n });\n const tooltipRef: ComponentRef = this.overlayRef.attach(new ComponentPortal(TooltipComponent, null, injector));\n // tooptipRef.onDestroy((x) => {});\n }\n\n @HostListener('mouseleave')\n hide() {\n this.overlayRef.detach();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\nimport { TemplateOrStringDirective } from './template-or-string.directive';\n\nconst components = [TooltipComponent, TooltipDirective, TemplateOrStringDirective];\n\n@NgModule({\n declarations: [components],\n exports: components,\n imports: [CommonModule]\n})\nexport class TooltipModule {}\n","// Core Types and Dynamic Cell\nexport * from './core/types';\nexport * from './core/dynamic-cell.directive';\n\n// Table Component\nexport * from './table.module';\nexport * from './components/table.component';\n// export * from './lib/services/table.service;\nexport * from './core/table-data-source';\n\n// Models\nexport * from './models';\n\n// Dynamic Cells\nexport * from './dynamic-cells';\n","import { Type } from \"@angular/core\";\nimport { AbstractColumn, ColumnType, ProcessingLocation } from \"./table-column.model\";\nimport { DynamicCell } from \"../core/dynamic-cell.directive\";\nimport { SizeWithCssUnit } from \"@cdk\";\n\nexport class ColumnBuilder {\n\n private _column: AbstractColumn;\n\n constructor(key: string) {\n\n if(key.length === 0) {\n throw new Error('Invalid key');\n }\n\n this._column = { key };\n }\n\n public setTitleToCapitalizedKey(): this {\n\n const old = this._column;\n const key = old.key;\n const title = `${key.at(0).toUpperCase()}${key.slice(1)}`\n this._column = {...old, title}\n return this;\n }\n\n public setTitle(title: string): this {\n\n const old = this._column;\n this._column = {...old, title}\n\n return this;\n }\n\n public setType(type: ColumnType): this {\n const old = this._column;\n this._column = {...old, type };\n return this;\n }\n\n public setCellTooltip(enabled: boolean): this {\n const old = this._column;\n this._column = { ...old, cellTooltipEnabled: enabled }\n return this;\n }\n\n public setCellEllipsisRows(rows: number): this {\n const old = this._column;\n this._column = { ...old , cellEllipsisRow: rows }\n return this;\n }\n\n public setDynamicCell(cell: Type): this {\n\n const old = this._column;\n this._column = { ...old, dynamicCellComponent: cell }\n\n return this;\n }\n\n public setFilterType(type: ProcessingLocation) {\n const old = this._column;\n this._column = { ...old, filter: type }\n\n return this;\n }\n\n public setSortType(type: ProcessingLocation) {\n const old = this._column;\n this._column = { ...old, sort: type }\n\n return this;\n }\n\n public setWidth(width: SizeWithCssUnit) {\n const old = this._column;\n this._column = { ...old, width }\n\n return this;\n }\n\n public setTypeTextWithServerSideFilteringAndSorting(): this {\n\n this.setType('text')\n .setFilterType('server-side')\n .setSortType('server-side');\n\n return this;\n }\n\n public setTypeTextWithOneLineAndTooltipWithClientFilter(): this {\n\n this.setType('text')\n .setFilterType('client-side')\n .setCellTooltip(true)\n .setCellEllipsisRows(1)\n\n return this;\n }\n\n build(): AbstractColumn {\n return this._column;\n }\n}\n","import {ThemePalette} from '@angular/material/core';\n\nexport declare type PredicateFn = (row: any) => boolean;\n\nexport interface ContextMenuItem {\n name: string;\n text: string;\n icon?: string;\n color?: ThemePalette;\n disabled?: boolean | PredicateFn;\n visible?: boolean | PredicateFn;\n divider?: boolean;\n submenu?: ContextMenuItem[];\n}\n","export interface DynamicTableData {\n readonly items: T[];\n readonly totalCount: number;\n}\n","import { AbstractFilter } from '../extensions/filter/compare/abstract-filter';\n\nexport interface FilterChange {\n readonly filter: readonly AbstractFilter[];\n readonly column: string;\n}\n","export * from './context-menu-model';\nexport * from './dynamic-table-data.model';\nexport * from './filter-change';\nexport * from './pipe.model';\nexport * from './table-column.model';\nexport * from './table-language.model';\nexport * from './table-menu-action-change.model';\nexport * from './table-pagination.model';\nexport * from './table-row.model';\nexport * from './table-settings.model';\nexport * from './table-settings.model';\nexport { ColumnBuilder } from './column-builder';\n\nexport { ColumnOrder } from './column-order';\n","import { Type } from '@angular/core';\n\nexport interface IPipe {\n token?: Type;\n data?: any[];\n}\n","import { TableRow } from './table-row.model';\nimport { TemplateRef, Type } from '@angular/core';\nimport { IPipe } from './pipe.model';\nimport { DynamicCell } from '../core/dynamic-cell.directive';\nimport { SizeWithCssUnit } from '@cdk';\n\nexport declare type SortFn = (data: TRow[], col: any) => string;\nexport declare type ColumnType = 'text' | 'number' | 'date' | 'selection' | 'link' | 'boolean';\nexport declare type ColumnDisplay = 'visible' | 'hidden' | 'prevent-hidden';\nexport declare type ColumnSticky = 'start' | 'end' | 'none';\nexport declare type ToExport = (row: any, type: any) => any;\nexport type ProcessingLocation = 'client-side' | 'server-side' | 'none';\n\nexport interface TableColumn extends AbstractColumn {\n classNames?: string;\n toExport?: ToExport;\n}\n\nexport interface AbstractColumn {\n index?: number;\n key: string; // Key of data\n type?: ColumnType; // Type of data\n template?: TemplateRef; // Template to use\n width?: SizeWithCssUnit;\n style?: any; // Private property used only in html\n title?: string; // Title of column\n display?: ColumnDisplay; // Show or hide the column\n sticky?: ColumnSticky; // Stick this column at start or end or none\n filter?: ProcessingLocation; // Filter\n sort?: ProcessingLocation; // Sort\n cellClass?: string; // Apply a class to a cell, the class name must be in global stylesheet\n cellStyle?: any; // Apply a style to a cell, style must be an object\n dynamicCellComponent?: Type; // Set dynamic component in cell\n clickable?: boolean; // Clickable\n clickType?: 'cell' | 'label' | 'custom'; // Click type\n exportable?: boolean; // Exportable\n enableContextMenu?: boolean; // Enable context menu\n rowSelectable?: boolean; // Row Selectable\n cellEllipsisRow?: number; // Ellipsis Text\n cellTooltipEnabled?: boolean; // Cell tooltip\n headerEllipsisRow?: number; // Header Ellipsis\n toString?: (column: TableColumn, row: TableRow) => string; // ToString\n option?: any; // For Storing shared data shown in the cell of column\n customSort?: (column: TableColumn, row: any) => string; // Custom Sort\n pipes?: IPipe[];\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport interface TableLanguage {\n tableLabels: TableLabels;\n filterLabels: FilterLabels;\n paginatorLabels: MatPaginatorIntl;\n menuLabels: MenuLabels;\n}\n\nexport interface TableLabels {\n NoData: string;\n}\n\nexport interface PaginatorLabels {\n itemsPerPageLabel: string;\n nextPageLabel: string;\n previousPageLabel: string;\n firstPageLabel: string;\n lastPageLabel: string;\n getRangeLabel: (page: number, pageSize: number, length: number) => string;\n}\n\nexport interface FilterLabels {\n Clear: string;\n Search: string;\n And: string;\n Or: string;\n /* Text Compare */\n Text: string;\n TextContains: string;\n TextEquals: string;\n TextStartsWith: string;\n TextEndsWith: string;\n TextEmpty: string;\n TextNotEmpty: string;\n /* Number Compare */\n Number: string;\n NumberEquals: string;\n NumberNotEquals: string;\n NumberGreaterThan: string;\n NumberLessThan: string;\n NumberEmpty: string;\n NumberNotEmpty: string;\n /* Category List Compare */\n CategoryContains: string;\n CategoryNotContains: string;\n /* Boolean Compare */\n Boolean: string;\n BooleanEquals: string;\n Yes: string;\n No: string;\n All: string;\n /* Date Compare */\n\n /* Paginator */\n}\n\nexport interface MenuLabels {\n saveData: string;\n fullScreen: string;\n newSetting: string;\n noSetting: string;\n columnSetting: string;\n saveTableSetting: string;\n clearFilter: string;\n jsonFile: string;\n csvFile: string;\n filterMode: string;\n filterLocalMode: string;\n filterServerMode: string;\n sortMode: string;\n sortLocalMode: string;\n sortServerMode: string;\n thereIsNoColumn: string;\n}\n","export interface TableMenuActionChange {\n type: 'FilterClear' | 'TableSetting' | 'Download' | 'SaveSetting' | 'DeleteSetting' | 'SelectSetting' | 'DefaultSetting';\n data?: any;\n}\n","export declare type TablePaginationMode = 'client-side' | 'server-side' | 'none';\n\nexport interface TablePagination {\n length?: number;\n pageIndex?: number;\n pageSize?: number;\n pageSizeOptions?: number[];\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Sort } from '@angular/material/sort';\n\nimport { HashMap } from '../core/types';\nimport { TableColumn } from './table-column.model';\nimport { ContextMenuItem } from './context-menu-model';\n\nexport type TableSelectionMode = 'none' | 'single' | 'multiple';\n\nexport enum RowEventType {\n CellClick = 'CellClick',\n BeforeContextMenuOpen = 'BeforeContextMenuOpen',\n RowActionMenu = 'RowActionMenu',\n MasterSelectionChange = 'MasterSelectionChange',\n RowSelectionChange = 'RowSelectionChange'\n}\n\nexport interface TableRow {\n id?: number;\n rowActionMenu?: { [key: string]: ContextMenuItem };\n options?: RowOption;\n}\n\nexport type RowEvent = { readonly event: RowEventType.CellClick, readonly sender: { row: any; column: TableColumn} } |\n { readonly event: RowEventType.BeforeContextMenuOpen, readonly sender: { row: any; column: TableColumn; contextMenu?: ContextMenuItem[] } } |\n { readonly event: RowEventType.RowActionMenu, readonly sender: { row: any, action: ContextMenuItem} } |\n { readonly event: RowEventType.MasterSelectionChange; readonly sender: { selectionModel: SelectionModel } } |\n { readonly event: RowEventType.RowSelectionChange; readonly sender: { row: any; selectionModel: SelectionModel } };\n\n\n\nexport interface TableEvent {\n event: 'SortChanged';\n sender: Sort\n}\n\nexport interface RowActionMenuEvent {\n actionItem: ContextMenuItem;\n rowItem: T;\n}\n\nexport interface RowOption extends HashMap {\n style?: any;\n class?: any;\n selected?: any;\n disabled?: any;\n}\n","import { AbstractColumn } from './table-column.model';\nimport { TableScrollStrategy } from '../core/fixed-size-table-virtual-scroll-strategy';\n\nexport type DisplayMode = 'visible' | 'hidden' | 'none';\nexport type DownloadMode = 'server-side' | 'client-side';\n\nexport interface TableSetting {\n pageSize?: number;\n columnSetting?: AbstractColumn[];\n visibleActionMenu?: VisibleActionMenu;\n visibleColumnSettingsMenu?: boolean;\n visibleTableMenu?: boolean;\n visibleHeaderMenu?: boolean;\n scrollStrategy?: TableScrollStrategy;\n enableContextMenu?: boolean;\n autoHeight?: boolean;\n saveSettingsMode?: 'simple' | 'multiple' | 'none';\n settingsName?: string;\n settingsList?: SettingItem[];\n options?: TableOptions;\n}\n\nexport interface SettingItem extends TableSetting {\n isCurrentSetting?: boolean;\n isDefaultSetting?: boolean;\n}\n\nexport interface VisibleActionMenu {\n json?: boolean;\n csv?: boolean;\n columnSetting?: boolean;\n columnSettingOrder?: boolean;\n columnSettingFilter?: boolean;\n columnSettingSort?: boolean;\n saveTableSetting?: boolean;\n clearFilter?: boolean;\n}\n\nexport interface TableOptions {\n downloadMode?: DownloadMode;\n}\n","import { Injectable } from '@angular/core';\nimport { TableColumn } from '../models/table-column.model';\nimport { getDateForFilename, FileSaverService } from '@core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableService {\n\n constructor(private _fileSaverService: FileSaverService) { }\n\n public tableName: string;\n\n public exportToCsv(columns: TableColumn[], rows: T[], filename: string = '') {\n filename = filename === '' ? `${this.tableName}${getDateForFilename()}.csv` : filename;\n if (!rows || !rows.length) {\n return;\n }\n\n const csvContent = this.convertTableDataToCsvFormat(columns, rows);\n const blob = new Blob([new Uint8Array([0xef, 0xbb, 0xbf]) /* UTF-8 BOM */, csvContent], { type: 'text/csv;charset=utf-8' });\n this._fileSaverService\n .saveBlob(blob, filename);\n }\n\n private convertTableDataToCsvFormat(columns: TableColumn[], rows: T[]): string {\n\n const exportableColumns = columns.filter(c => c.exportable !== false && c.display !== 'hidden');\n const separator = ';';\n const headerRow = exportableColumns\n .map(c => c.title)\n .join(separator)\n\n const dataRows = rows\n .map(row => exportableColumns.map(c => {\n let cell = c.toExport(row, 'csv') || '';\n cell = cell instanceof Date ? cell.toLocaleString() : cell.toString().replace(/\"/g, '\"\"');\n if (cell.search(/(\"|,|\\n)/g) >= 0) {\n cell = `\"${cell}\"`;\n }\n return cell;\n }).join(separator)\n );\n\n return [headerRow, ...dataRows].join('\\n');\n }\n\n public exportToJson(rows: T[], filename: string = '') {\n filename = filename === '' ? `${this.tableName}${getDateForFilename()}.json` : filename;\n\n this._fileSaverService.saveAsJson(rows, filename);\n }\n\n public loadSavedColumnInfo(columnInfo: TableColumn[], saveName?: string): TableColumn[] {\n // Only load if a save name is passed in\n if (saveName) {\n if (!localStorage) {\n return [];\n }\n\n const loadedInfo = localStorage.getItem(`${saveName}-columns`);\n\n if (loadedInfo) {\n return JSON.parse(loadedInfo);\n }\n this.saveColumnInfo(columnInfo);\n return columnInfo;\n }\n return [];\n }\n\n public saveColumnInfo(columnInfo: TableColumn[], saveName: string = this.tableName): void {\n if (saveName) {\n if (!localStorage) {\n return;\n }\n\n localStorage.setItem(`${saveName}-columns`, JSON.stringify(columnInfo));\n }\n }\n}\n","import {Compiler, COMPILER_OPTIONS, CompilerFactory, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TableComponent} from './components/table.component';\nimport {MatTableModule} from '@angular/material/table';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {MatPaginatorIntl, MatPaginatorModule} from '@angular/material/paginator';\nimport {MatSortModule} from '@angular/material/sort';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatSelectModule} from '@angular/material/select';\nimport {FormsModule} from '@angular/forms';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {TableIntl} from './core/table-intl';\nimport {JitCompilerFactory} from '@angular/platform-browser-dynamic';\nimport {TableItemSizeDirective} from './core/table-item-size.directive';\nimport {TableCoreDirective} from './core/table-core.directive';\nimport {DynamicCellDirective} from './core/dynamic-cell.directive';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport {TableMenuModule} from './extensions/table-menu/table-menu.module';\nimport {TooltipModule} from './extensions/tooltip/tooltip.module';\nimport {ColumnFilterModule} from './extensions/filter/column-filter.module';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {RowMenuModule} from './extensions/row-menu/row-menu.module';\nimport {SaveViewModule} from './extensions/save-view/save-view.module';\nimport {DynamicPipe} from './core/dynamic-pipe.pipe';\nimport {MatSlideToggleModule} from \"@angular/material/slide-toggle\";\nimport { ColumnSettingsModule } from '@components/table/extensions/column-settings/column-settings.module';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\n\n// import { ComparableSelectionModel } from './core/comparable-selection-model';\n\nexport function createCompiler(compilerFactory: CompilerFactory): Compiler {\n return compilerFactory.createCompiler();\n}\n\nexport function paginatorLabels(tableIntl: TableIntl) {\n const paginatorIntl = new MatPaginatorIntl();\n paginatorIntl.firstPageLabel = tableIntl?.paginatorLabels?.firstPageLabel;\n paginatorIntl.getRangeLabel = tableIntl?.paginatorLabels?.getRangeLabel;\n paginatorIntl.itemsPerPageLabel = tableIntl?.paginatorLabels?.itemsPerPageLabel;\n paginatorIntl.lastPageLabel = tableIntl?.paginatorLabels?.lastPageLabel;\n paginatorIntl.nextPageLabel = tableIntl?.paginatorLabels?.nextPageLabel;\n paginatorIntl.previousPageLabel = tableIntl?.paginatorLabels?.previousPageLabel;\n return paginatorIntl || null;\n}\n\n@NgModule({\n declarations: [DynamicPipe, DynamicCellDirective, TableComponent, TableCoreDirective, TableItemSizeDirective],\n imports: [\n CdkTableModule,\n MatSlideToggleModule,\n ColumnFilterModule,\n CommonModule,\n DragDropModule,\n FormsModule,\n MatButtonToggleModule,\n MatButtonModule,\n MatCardModule,\n MatCheckboxModule,\n MatDialogModule,\n MatDividerModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatSelectModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTooltipModule,\n RowMenuModule,\n SaveViewModule,\n ScrollingModule,\n TableMenuModule,\n TooltipModule,\n ColumnSettingsModule\n ],\n exports: [TableComponent],\n providers: [\n {provide: COMPILER_OPTIONS, useValue: {}, multi: true},\n {\n provide: CompilerFactory,\n useClass: JitCompilerFactory,\n deps: [COMPILER_OPTIONS]\n },\n {provide: Compiler, useFactory: createCompiler, deps: [CompilerFactory]},\n TableIntl,\n {\n provide: MatPaginatorIntl,\n useFactory: paginatorLabels,\n deps: [TableIntl]\n }\n ]\n})\nexport class TableModule {\n}\n","export * from './utils';\nexport * from './rfdc';\n","const copyBuffer = (cur) => {\n if (cur instanceof Buffer) {\n return Buffer.from(cur)\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)\n}\n\nexport const rfdc = (opts) => {\n opts = opts || {}\n\n if (opts.circles) return rfdcCircles(opts)\n\n const cloneArray = (a, fn) => {\n let keys = Object.keys(a)\n let a2 = new Array(keys.length)\n for (let i = 0; i < keys.length; i++) {\n let k = keys[i]\n let cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n a2[k] = fn(cur)\n }\n }\n return a2\n }\n\n const clone = (o) => {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n let o2 = {}\n for (let k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n let cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = clone(cur)\n }\n }\n return o2\n }\n\n const cloneProto = (o) => {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n let o2 = {}\n for (let k in o) {\n let cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n return o2\n }\n\n return opts.proto ? cloneProto : clone\n}\n\nconst rfdcCircles = (opts) => {\n let refs = []\n let refsNew = []\n\n const cloneArray = (a, fn) => {\n let keys = Object.keys(a)\n let a2 = new Array(keys.length)\n for (let i = 0; i < keys.length; i++) {\n let k = keys[i]\n let cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n let index = refs.indexOf(cur)\n if (index !== -1) {\n a2[k] = refsNew[index]\n } else {\n a2[k] = fn(cur)\n }\n }\n }\n return a2\n }\n\n const clone = (o) => {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n let o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (let k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n let cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n let i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = clone(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n const cloneProto = (o) => {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n let o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (let k in o) {\n let cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n let i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n return opts.proto ? cloneProto : clone\n}\n","import {rfdc} from './rfdc';\n\nexport interface DeepCloneOptions {\n circles?: boolean;\n proto?: boolean;\n}\n\nexport const deepClone = (valToClone: any, options?: DeepCloneOptions) => {\n const defaultOptions = {\n circles: false,\n proto: true,\n ...(options ? options : {})\n };\n\n return rfdc(defaultOptions)(valToClone);\n};\n","import { BrowserCacheLocation, Configuration, LogLevel } from '@azure/msal-browser';\nimport { environment } from '@environments/environment';\n\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n\nexport const b2cPolicies = {\n names: {\n signUpSignIn: 'B2C_1_susi_v2',\n resetPassword: 'B2C_1_reset_v3',\n editProfile: 'B2C_1_edit_profile_v2'\n },\n authorities: {\n signUpSignIn: {\n authority: `https://${environment.oauth.b2cTenant}.b2clogin.com/${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.flowSignInSignUp}`\n },\n resetPassword: {\n authority: `https://${environment.oauth.b2cTenant}.b2clogin.com/${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.flowPasswordReset}`\n }\n // editProfile: {\n // authority: `https://${environment.oauth.b2cTenant}.b2clogin.com/${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.flowEditProfile}`,\n // },\n },\n authorityDomain: `${environment.oauth.b2cTenant}.b2clogin.com`\n};\n\nexport const msalConfig: Configuration = {\n auth: {\n clientId: environment.oauth.clientId, // This is the ONLY mandatory field that you need to supply.\n authority: b2cPolicies.authorities.signUpSignIn.authority, // Defaults to \"https://login.microsoftonline.com/common\"\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\n // redirectUri: '/auth', // Points to window.location.origin by default. You must register this URI on Azure portal/App Registration.\n redirectUri: window.location.origin, // Points to window.location.origin by default. You must register this URI on Azure portal/App Registration.\n postLogoutRedirectUri: '/' // Points to window.location.origin by default.\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\n storeAuthStateInCookie: isIE // Set this to \"true\" if you are having issues on IE11 or Edge. Remove this line to use Angular Universal\n },\n system: {\n loggerOptions: {\n loggerCallback(logLevel: LogLevel, message: string) {\n console.log(message);\n },\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false\n }\n }\n};\n\nexport const loginRequest = {\n scopes: [`openid`, `offline_access`, `https://${environment.oauth.b2cTenant}.onmicrosoft.com/${environment.oauth.clientId}/api`]\n};\n\nexport const silentRequest = {\n scopes: [],\n loginHint: 'example@domain.net'\n};\n","import { AbstractControl, FormControl, ValidationErrors } from '@angular/forms';\nimport { AutocompleteTypeComponent } from '@components/formly/autocomplete-type.component';\nimport { ChipInputTypeComponent } from '@components/formly/chip-input-type.component';\nimport { DialogSelectTypeComponent } from '@components/formly/dialog-select-type.component';\nimport { FileUploadTypeComponent } from '@components/formly/file-upload-type/file-upload-type.component';\nimport { FormlyWrapperComponent } from '@components/formly/formly-wrapper.component';\nimport { FormlyNoteComponent } from '@components/formly/note-type.component';\nimport { RteTypeComponent } from '@components/formly/rte-type.component';\nimport { FormlySectionComponent } from '@components/formly/section-type.component';\nimport { SelectTypeComponent } from '@components/formly/select-type.component';\nimport { FormlySpacingComponent } from '@components/formly/spacing-type.component';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { FormlyFieldInput } from '@ngx-formly/material/input';\nimport { IsEmail, isPhoneNumber, isPostalCode, validateSync } from 'class-validator';\nimport * as moment from 'moment';\nimport { Moment } from 'moment';\nimport countryCodeMap from '../utils/country-code';\nimport { FormlyExpandableWrapper } from '@components/formly/exandable-wrapper.component';\nimport { FormlyDatePickerComponent } from '@components/formly/datepicker-type.component';\nimport * as dayjs from 'dayjs'\n\n// Validators and Validator messages\nconst whenNonEmptyValue =\n (fn: (value: T) => ValidationErrors) =>\n (control: FormControl) =>\n control.value ? fn(control.value) : null;\n\n// PLZ\nexport const plzValidator = (control: FormControl, field: FormlyFieldConfig): ValidationErrors =>\n !control.value || /^\\d{5}$/.test(control.value) ? null : { plz: field.formControl.value };\nexport const plzValidatorMessage = (plz: string) => `${plz} is nicht gültig`;\n\nexport const euPlzAdresseValidator = (\n control: AbstractControl,\n _field: FormlyFieldConfig,\n options: {\n plzKey: string;\n landKey: string;\n }\n) => {\n const { plzKey, landKey } = options;\n const plzControl = control.get(plzKey);\n const plz = plzControl?.value;\n\n if (plz) plzControl.markAsTouched();\n\n const land = (control.get(landKey)?.value || 'DE') as string;\n if (plz === undefined) return null; // field currently hidden\n\n if (land === 'CY' && plz.length < 5) {\n return null;\n } else if (land !== 'CY' && isPostalCode(plz, land as any)) {\n return null;\n } else {\n return { 'eu-plz-adresse': { message: `Keine zulässige PLZ für Land ${land || 'DE'}` } };\n }\n};\n\nexport const euPlzPostfachValidator = (\n control: AbstractControl,\n _field: FormlyFieldConfig,\n options: {\n plzKey: string;\n landKey: string;\n }\n) => {\n const { plzKey, landKey } = options;\n const plzControl = control.get(plzKey);\n const plz = plzControl?.value;\n\n if (plz) plzControl.markAsTouched();\n\n const land = (control.get(landKey)?.value || 'DE') as string;\n if (plz === undefined) return null; // field currently hidden\n\n if (land === 'CY' && plz.length < 5) {\n return null;\n } else if (land !== 'CY' && isPostalCode(plz, land as any)) {\n return null;\n } else {\n return { 'eu-plz-postfach': { message: `Keine zulässige PLZ für Land ${land || 'DE'}` } };\n }\n};\n\n// CoName\nconst coRegex = /^c\\W?o\\s/i;\nexport const coNameValidator = whenNonEmptyValue((coName: string) => (coName.match(coRegex) ? { coName } : null));\nexport const coNameValidatorMessage = coName => `c/o Name darf nicht mit \"${coName.match(coRegex)[0]}\" beginnen`;\n\n// land validator\nexport const landValidator = whenNonEmptyValue((land: string) => {\n let landUpperCase = land.toUpperCase();\n\n if (['DEUTSCHLAND', 'BRD', 'D'].includes(landUpperCase)) landUpperCase = 'DE';\n\n return countryCodeMap[landUpperCase] ? null : { land };\n});\nexport const landValidatorMessage = (land: string) => `${land} is nicht gültig`;\n\n// E-Mail\nexport class EmailValidatorClass {\n @IsEmail() email: string;\n}\n\nexport const isValidEmail = (email: string) => {\n const emailValidatorObj = new EmailValidatorClass();\n emailValidatorObj.email = email;\n return validateSync(emailValidatorObj).length === 0;\n};\nexport const emailValidator = (control: FormControl): ValidationErrors => (isValidEmail(control.value) ? null : { email: true });\nexport const emailValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine gültige E-Mail Adresse`;\n\nconst emailsValidator = ({ value: emails }: AbstractControl): ValidationErrors => {\n return (emails || []).every(email => isValidEmail(email)) ? null : { emails: true };\n};\nexport const emailsValidatorMessage = 'Bitte überprüfen Sie Ihre Eingaben';\n\n// URL\nexport const urlValidator = (control: FormControl): ValidationErrors =>\n !control.value ||\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/.test(\n control.value\n )\n ? null\n : { url: true };\nexport const urlValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine gültige URL`;\n\n// Phone Number\nexport const phoneValidator = whenNonEmptyValue((phone: string) => {\n return validatePhone(phone, { maxLength: 20 });\n});\nexport const phoneValidatorMessage = (phone: string) => `\"${phone}\" ist ungültig`;\n\n// Mobile Phone Number\nexport const mobilePhoneValidator = whenNonEmptyValue((phone: string) => {\n const validatorResult = validatePhone(phone);\n // Map to mobile property so that formly uses correct validator message\n return validatorResult ? { mobile: validatorResult.phone } : null;\n});\nexport const mobilePhoneValidatorMessage = (mobile: string) => `\"${mobile}\" ist ungültig`;\n\nconst validatePhone = (phone: string, options?: { maxLength?: number }) => {\n if (options?.maxLength && phone.length > options.maxLength) return { phone };\n const cleanedPhone = phone.replaceAll(/\\s/g, '');\n const startsWithPlus = cleanedPhone.startsWith('+');\n const startsWithZero = cleanedPhone.startsWith('0');\n if (!startsWithPlus && !startsWithZero) return { phone };\n const hasSpecialChars = /[^\\d+]/.test(startsWithPlus ? cleanedPhone.slice(1) : cleanedPhone);\n if (hasSpecialChars) return { phone };\n const isValidGermanPhone = isPhoneNumber(cleanedPhone, 'DE');\n if (isValidGermanPhone) return null;\n if (!startsWithPlus) return { phone };\n const isValidInternationalPhone = isPhoneNumber(cleanedPhone);\n return isValidInternationalPhone ? null : { phone };\n};\n\n// IBAN\nexport const ibanValidator = (control: FormControl): ValidationErrors =>\n !control.value || /^DE\\d{2}\\s?([0-9a-zA-Z]{4}\\s?){4}[0-9a-zA-Z]{2}$/.test(control.value) ? null : { iban: true };\n\nexport const ibanValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine gültige IBAN`;\n\n// BIC\nexport const bicValidator = (control: FormControl): ValidationErrors =>\n !control.value || /^[a-z]{6}[2-9a-z][0-9a-np-z]([a-z0-9]{3}|x{3})?$/i.test(control.value) ? null : { bic: true };\n\nexport const bicValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine gültige BIC`;\n\n// date not past\nexport const dateNotPastValidator = (control: FormControl): ValidationErrors => {\n const value = control.value as Moment;\n const now = moment().startOf('day');\n\n return !control.value || value.isSameOrAfter(now) ? null : { dateNotPast: true };\n};\nconst dateNotPastValidationMessage = 'Das Datum darf nicht in der Vergangenheit liegen';\n\n// scale\nexport const scaleValidator = (control: FormControl): ValidationErrors => (!control.value || /^1:\\d+$/.test(control.value) ? null : { scale: true });\nconst scaleValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist kein gültiger Maßstab`;\n\n// integer\nexport const integerValidator = (control: FormControl): ValidationErrors => (control.value?.toFixed(0) === String(control.value) ? null : { integer: true });\nconst integerValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine ganze Zahl`;\n\n// number greater equals zero\nexport const numberGreaterEqualsZeroValidator = (control: FormControl): ValidationErrors => {\n if (!control.value) return null;\n const value = Number(control.value);\n return !isNaN(value) && value >= 0 ? null : { numberGreaterEqualsZero: true };\n};\nconst numberGreaterEqualsZeroValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" muss eine Zahl größer oder gleich 0 sein`;\n\n// nullable integer\nexport const nullableIntegerValidator = (control: FormControl): ValidationErrors => {\n if (!control.value) return null;\n const value = Number(control.value);\n return value.toFixed(0) === String(control.value) ? null : { integer: true };\n};\nconst nullableIntegerValidatorMessage = (err, field: FormlyFieldConfig) => `\"${field.formControl.value}\" ist keine ganze Zahl`;\n\nexport const nonEmptyValidator = (control: FormControl): ValidationErrors => {\n if (!control.value) return null;\n return control.value.length > 0 ? null : { nonEmpty: true };\n};\nconst nonEmptyValidatorMessage = () => `Braucht mindestens ein Wert`;\n\n// date\nexport const dateFutureValidator = (\n control: AbstractControl,\n _field: FormlyFieldConfig,\n options: { days: number; baseDateKey: string; futureDateKey: string }\n): ValidationErrors => {\n const { days, baseDateKey, futureDateKey } = options;\n const baseDate = control.get(baseDateKey).value;\n const selectedDate = dayjs(control.value[futureDateKey]);\n const futureDate = dayjs(baseDate).add(days, 'day');\n\n const baseField = _field.get(baseDateKey);\n const futureField = _field.get(futureDateKey);\n\n if (!control.value[futureDateKey]) {\n return null\n }\n\n if (selectedDate.isAfter(futureDate) || selectedDate.isSame(futureDate)) {\n return null;\n }\n\n return {\n 'date-future': {\n message: `\"${baseField.props?.label || baseDateKey}\" muss mindestens ${days === 1 ? 'ein' : days} Tag${days === 1 ? '' : 'e'} nach \"${futureField.props?.label || futureDateKey}\" stattfinden`\n }\n };\n};\n\n// Formly Config\nexport const formlyConfig = {\n extras: { renderFormlyFieldElement: true, lazyRender: false },\n validators: [\n { name: 'plz', validation: plzValidator },\n { name: 'co-name', validation: coNameValidator },\n { name: 'email', validation: emailValidator },\n { name: 'url', validation: urlValidator },\n { name: 'phone', validation: phoneValidator },\n { name: 'iban', validation: ibanValidator },\n { name: 'bic', validation: bicValidator },\n { name: 'mobile', validation: mobilePhoneValidator },\n { name: 'dateNotPast', validation: dateNotPastValidator },\n { name: 'emails', validation: emailsValidator },\n { name: 'scale', validation: scaleValidator },\n { name: 'integer', validation: integerValidator },\n { name: 'nullableInteger', validation: nullableIntegerValidator },\n { name: 'numberGreaterEqualsZero', validation: numberGreaterEqualsZeroValidator },\n { name: 'eu-plz-adresse', validation: euPlzAdresseValidator },\n { name: 'eu-plz-postfach', validation: euPlzPostfachValidator },\n { name: 'land', validation: landValidator },\n { name: 'nonEmpty', validation: nonEmptyValidator },\n { name: 'date-future', validation: dateFutureValidator },\n ],\n validationMessages: [\n { name: 'required', message: 'Bitte überprüfen Sie Ihre Eingaben' },\n { name: 'coName', message: coNameValidatorMessage },\n { name: 'plz', message: plzValidatorMessage },\n { name: 'email', message: emailValidatorMessage },\n { name: 'url', message: urlValidatorMessage },\n { name: 'phone', message: phoneValidatorMessage },\n { name: 'iban', message: ibanValidatorMessage },\n { name: 'bic', message: bicValidatorMessage },\n { name: 'mobile', message: mobilePhoneValidatorMessage },\n { name: 'dateNotPast', message: dateNotPastValidationMessage },\n { name: 'emails', message: emailsValidatorMessage },\n { name: 'scale', message: scaleValidatorMessage },\n { name: 'integer', message: integerValidatorMessage },\n { name: 'numberGreaterEqualsZero', message: numberGreaterEqualsZeroValidatorMessage },\n { name: 'nullableInteger', message: nullableIntegerValidatorMessage },\n { name: 'nonEmpty', message: nonEmptyValidatorMessage }\n ],\n types: [\n { name: 'input', component: FormlyFieldInput },\n {\n name: 'autocomplete',\n component: AutocompleteTypeComponent,\n wrappers: ['form-field']\n },\n // {\n // name: 'button',\n // component: FormlyButtonComponent,\n // defaultOptions: {\n // templateOptions: {\n // btnType: 'mat-button'\n // }\n // }\n // },\n {\n name: 'select-with-endpoint',\n component: SelectTypeComponent\n },\n {\n name: 'file-upload',\n component: FileUploadTypeComponent\n },\n {\n name: 'dialog-select',\n component: DialogSelectTypeComponent\n },\n {\n name: 'chip-input',\n component: ChipInputTypeComponent\n },\n {\n name: 'rte',\n component: RteTypeComponent\n },\n {\n name: 'section',\n component: FormlySectionComponent\n },\n {\n name: 'spacing',\n component: FormlySpacingComponent\n },\n {\n name: 'note',\n component: FormlyNoteComponent\n },\n {\n name: 'datepicker',\n component: FormlyDatePickerComponent,\n defaultOptions: { templateOptions: { datepickerOptions: { datepickerTogglePosition: 'prefix' } } }\n },\n ],\n wrappers: [\n { name: 'formly-wrapper', component: FormlyWrapperComponent },\n { name: 'expandable-wrapper', component: FormlyExpandableWrapper }\n ]\n};\n","export * from './auth-config';\nexport * from './formly.config';\n","/*\n * Based on msal.guard.ts from\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/src/msal.guard.ts\n *\n * to create additional guards based on this\n */\n\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Inject, Injectable, VERSION } from '@angular/core';\nimport { Location } from '@angular/common';\nimport {\n AuthenticationResult,\n BrowserConfigurationAuthError,\n BrowserUtils,\n InteractionType,\n PopupRequest,\n RedirectRequest,\n UrlString\n} from '@azure/msal-browser';\nimport { catchError, concatMap, map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalService } from '@azure/msal-angular';\n\n@Injectable()\nexport class BaseGuard {\n private loginFailedRoute?: UrlTree;\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) protected msalGuardConfig: MsalGuardConfiguration,\n protected msalBroadcastService: MsalBroadcastService,\n protected authService: MsalService,\n protected location: Location,\n protected router: Router\n ) {\n // Subscribing so events in MsalGuard will set inProgress$ observable\n this.msalBroadcastService.inProgress$.subscribe();\n }\n\n /**\n * Parses url string to UrlTree\n * @param url\n */\n parseUrl(url: string): UrlTree {\n return this.router.parseUrl(url);\n }\n\n /**\n * Builds the absolute url for the destination page\n * @param path Relative path of requested page\n * @returns Full destination url\n */\n getDestinationUrl(path: string): string {\n this.authService.getLogger().verbose('Guard - getting destination url');\n // Absolute base url for the application (default to origin if base element not present)\n const baseElements = document.getElementsByTagName('base');\n const baseUrl = this.location.normalize(baseElements.length ? baseElements[0].href : window.location.origin);\n\n // Path of page (including hash, if using hash routing)\n const pathUrl = this.location.prepareExternalUrl(path);\n\n // Hash location strategy\n if (pathUrl.startsWith('#')) {\n this.authService.getLogger().verbose('Guard - destination by hash routing');\n return `${baseUrl}/${pathUrl}`;\n }\n\n /*\n * If using path location strategy, pathUrl will include the relative portion of the base path (e.g. /base/page).\n * Since baseUrl also includes /base, can just concatentate baseUrl + path\n */\n return `${baseUrl}${path}`;\n }\n\n /**\n * Interactively prompt the user to login\n * @param url Path of the requested page\n */\n private loginInteractively(state: RouterStateSnapshot): Observable {\n const authRequest =\n typeof this.msalGuardConfig.authRequest === 'function'\n ? this.msalGuardConfig.authRequest(this.authService, state)\n : { ...this.msalGuardConfig.authRequest };\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n this.authService.getLogger().verbose('Guard - logging in by popup');\n return this.authService.loginPopup(authRequest as PopupRequest).pipe(\n map((response: AuthenticationResult) => {\n this.authService.getLogger().verbose('Guard - login by popup successful, can activate, setting active account');\n this.authService.instance.setActiveAccount(response.account);\n return true;\n })\n );\n }\n\n this.authService.getLogger().verbose('Guard - logging in by redirect');\n const redirectStartPage = this.getDestinationUrl(state.url);\n return this.authService\n .loginRedirect({\n redirectStartPage,\n ...authRequest\n } as RedirectRequest)\n .pipe(map(() => false));\n }\n\n /**\n * Helper which checks for the correct interaction type, prevents page with Guard to be set as reidrect, and calls handleRedirectObservable\n * @param state\n */\n protected activateHelper(state?: RouterStateSnapshot, route?: ActivatedRouteSnapshot): Observable {\n if (this.msalGuardConfig.interactionType !== InteractionType.Popup && this.msalGuardConfig.interactionType !== InteractionType.Redirect) {\n throw new BrowserConfigurationAuthError(\n 'invalid_interaction_type',\n 'Invalid interaction type provided to MSAL Guard. InteractionType.Popup or InteractionType.Redirect must be provided in the MsalGuardConfiguration'\n );\n }\n this.authService.getLogger().verbose('MSAL Guard activated');\n\n /*\n * If a page with MSAL Guard is set as the redirect for acquireTokenSilent,\n * short-circuit to prevent redirecting or popups.\n */\n if (typeof window !== 'undefined') {\n if (\n UrlString.hashContainsKnownProperties(window.location.hash) &&\n BrowserUtils.isInIframe() &&\n !this.authService.instance.getConfiguration().system.allowRedirectInIframe\n ) {\n this.authService\n .getLogger()\n .warning('Guard - redirectUri set to page with MSAL Guard. It is recommended to not set redirectUri to a page that requires authentication.');\n return of(false);\n }\n } else {\n this.authService.getLogger().info('Guard - window is undefined, MSAL does not support server-side token acquisition');\n return of(true);\n }\n\n /**\n * If a loginFailedRoute is set in the config, set this as the loginFailedRoute\n */\n if (this.msalGuardConfig.loginFailedRoute) {\n this.loginFailedRoute = this.parseUrl(this.msalGuardConfig.loginFailedRoute);\n }\n\n // Capture current path before it gets changed by handleRedirectObservable\n const currentPath = this.location.path(true);\n\n return this.authService.handleRedirectObservable().pipe(\n concatMap(() => {\n if (!this.authService.instance.getAllAccounts().length) {\n if (state) {\n this.authService.getLogger().verbose('Guard - no accounts retrieved, log in required to activate');\n return this.loginInteractively(state);\n }\n this.authService.getLogger().verbose('Guard - no accounts retrieved, no state, cannot load');\n return of(false);\n }\n\n this.authService.getLogger().verbose('Guard - at least 1 account exists, can activate or load');\n\n // Prevent navigating the app to /#code= or /code=\n if (state) {\n /*\n * Path routing:\n * state.url: /#code=...\n * state.root.fragment: code=...\n */\n\n /*\n * Hash routing:\n * state.url: /code\n * state.root.fragment: null\n */\n const urlContainsCode: boolean = this.includesCode(state.url);\n const fragmentContainsCode: boolean = !!state.root && !!state.root.fragment && this.includesCode(`#${state.root.fragment}`);\n const hashRouting: boolean = this.location.prepareExternalUrl(state.url).indexOf('#') === 0;\n\n // Ensure code parameter is in fragment (and not in query parameter), or that hash hash routing is used\n if (urlContainsCode && (fragmentContainsCode || hashRouting)) {\n this.authService.getLogger().info('Guard - Hash contains known code response, stopping navigation.');\n\n // Path routing (navigate to current path without hash)\n if (currentPath.indexOf('#') > -1) {\n return of(this.parseUrl(this.location.path()));\n }\n\n // Hash routing (navigate to root path)\n return of(this.parseUrl(''));\n }\n }\n\n return of(true);\n }),\n catchError((error: Error) => {\n this.authService.getLogger().error('Guard - error while logging in, unable to activate');\n this.authService.getLogger().errorPii(`Guard - error: ${error.message}`);\n /**\n * If a loginFailedRoute is set, checks to see if Angular 10+ is used and state is passed in before returning route\n * Apps using Angular 9 will receive of(false) in canLoad interface, as it does not support UrlTree return types\n */\n if (this.loginFailedRoute && parseInt(VERSION.major, 10) > 9 && state) {\n this.authService.getLogger().verbose('Guard - loginFailedRoute set, redirecting');\n return of(this.loginFailedRoute);\n }\n return of(false);\n })\n );\n }\n\n includesCode(path: string): boolean {\n return (\n (path.lastIndexOf('/code') > -1 && path.lastIndexOf('/code') === path.length - '/code'.length) || // path.endsWith(\"/code\")\n path.indexOf('#code=') > -1 ||\n path.indexOf('&code=') > -1\n );\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n this.authService.getLogger().verbose('Guard - canActivate');\n return this.activateHelper(state, route);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n this.authService.getLogger().verbose('Guard - canActivateChild');\n return this.activateHelper(state, route);\n }\n\n canLoad(): Observable {\n this.authService.getLogger().verbose('Guard - canLoad');\n // @ts-ignore\n return this.activateHelper();\n }\n}\n","import { Role } from '@app/models';\nimport { NavigationItem } from '@core/types';\n\nexport default (roles: string[]) => {\n const items: NavigationItem[] = [\n {\n id: 'dashboard',\n label: 'Dashboard',\n icon: 'fire',\n routerLink: '/dashboard',\n groups: [\n {\n name: 'Übersicht',\n items: [{ id: 'uebersicht', label: 'Übersicht', icon: 'fire', routerLink: '/dashboard/uebersicht', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBPflege, Role.ToeBFreigabe, Role.Kundenservice, Role.Diensleistung, Role.DSGVO] }]\n }\n ]\n },\n {\n id: 'vorgaenge',\n label: 'Vorgänge',\n icon: 'inbox',\n routerLink: '/vorgaenge',\n groups: [\n {\n name: 'Vorgänge',\n items: [\n { id: 'all', label: 'Alle Vorgänge', icon: 'inbox', routerLink: '/vorgaenge/alle', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice] },\n { id: 'all-teilvorgänge', label: 'Alle Teilvorgänge', icon: 'inbox', routerLink: '/vorgaenge/alle-teilvorgaenge', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice] }\n ]\n },\n {\n name: 'DL-Vorgänge',\n items: [\n { id: 'all', label: 'Alle', icon: 'inbox', routerLink: '/vorgaenge/dl-vorgaenge', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Diensleistung] },\n {\n id: 'not-assigned',\n label: 'Nicht zugewiesene',\n icon: 'inbox',\n routerLink: '/vorgaenge/dl-vorgaenge-nicht-zugewiesene',\n roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Diensleistung]\n }\n ]\n },\n {\n name: 'Übertragungen',\n items: [\n { id: 'bsa', label: 'Baustellenatlas (BSA)', icon: 'inbox', routerLink: '/vorgaenge/bsa-uebertragung', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'bsa', label: 'OPLEX', icon: 'inbox', routerLink: '/vorgaenge/oplex-uebertragung', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n }\n ]\n },\n {\n id: 'organisation',\n label: 'Organisation',\n icon: 'office-building',\n routerLink: '/organisation',\n groups: [\n {\n name: 'Anfrage',\n items: [\n {\n id: 'registrierte-organisation',\n label: 'Registrierte',\n icon: 'help-circle',\n routerLink: '/organisation/registrierte',\n roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice, Role.ToeBPflege]\n },\n {\n id: 'organisation-aenderungsanfrage',\n label: 'Änderungsanfragen',\n icon: 'help-circle',\n routerLink: '/organisation/aenderungsanfragen',\n roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice]\n }\n ]\n },\n {\n name: 'Organisationen',\n items: [\n { id: 'alle', label: 'Alle', icon: 'office-building', routerLink: '/organisation/alle', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice, Role.ToeBPflege] },\n { id: 'privat', label: 'Privat', icon: 'office-building', routerLink: '/organisation/privat', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice, Role.ToeBPflege] },\n { id: 'unternehmen', label: 'Unternehmen', icon: 'office-building', routerLink: '/organisation/unternehmen', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice, Role.ToeBPflege] },\n { id: 'kommune', label: 'Kommune', icon: 'office-building', routerLink: '/organisation/kommune', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice, Role.ToeBPflege] }\n ]\n },\n {\n name: 'Beziehungen',\n items: [\n {\n id: 'ag-an-beziehung',\n label: 'AG-AN-Beziehung',\n icon: 'link',\n routerLink: '/organisation/auftraggeber-beziehung',\n roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice]\n }\n ]\n }\n ]\n },\n {\n id: 'toebs',\n label: 'TöB',\n icon: 'office',\n routerLink: '/toebs',\n groups: [\n {\n name: 'TöB',\n items: [\n { id: 'toebs', label: 'Alle', icon: 'office', routerLink: '/toebs/alle', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBPflege] },\n { id: 'toebs-draft', label: 'Entwurf', icon: 'office', routerLink: '/toebs/entwurf', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBPflege] },\n { id: 'toebs-freigabe', label: 'Freigabe', icon: 'office', routerLink: '/toebs/freigabe', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.ToeBFreigabe] }\n ]\n }\n ]\n },\n {\n id: 'transaktionen',\n label: 'Transaktion',\n icon: 'note',\n routerLink: '/transaktionen',\n groups: [\n {\n name: 'Transaktionen',\n items: [\n { id: 'anfrage', label: 'Anfrage', icon: 'note', routerLink: '/transaktionen/anfrage', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'auskunft', label: 'Auskunft', icon: 'note', routerLink: '/transaktionen/auskunft', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n }\n ]\n },\n {\n id: 'nutzer',\n label: 'Nutzer',\n icon: 'account',\n routerLink: '/nutzer',\n groups: [\n {\n name: 'Übersicht',\n items: [\n { id: 'nutzer', label: 'Aktiv', icon: 'account', routerLink: '/nutzer/alle', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice] },\n { id: 'admin', label: 'Admin', icon: 'account', routerLink: '/nutzer/admin', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n }\n ]\n },\n {\n id: 'news',\n label: 'News',\n icon: 'newspaper-variant-outline',\n routerLink: '/news',\n groups: [\n {\n name: 'Übersicht',\n items: [\n { id: 'news', label: 'News', icon: 'newspaper-variant-outline', routerLink: '/news/alle', roles: [Role.InfrestAdmin, Role.SuperAdmin, Role.Kundenservice] },\n ]\n }\n ]\n },\n {\n id: 'einstellungen',\n label: 'Einstellung',\n icon: 'cog',\n routerLink: '/einstellungen',\n groups: [\n {\n name: 'Produkte',\n items: [\n { id: 'vorgang-produkte', label: 'Anfrage', icon: 'settings', routerLink: '/einstellungen/vorgang-produkte', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'auskunft-produkte', label: 'Auskunft', icon: 'settings', routerLink: '/einstellungen/auskunft-produkte', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n },\n {\n name: 'SAP Produkte',\n items: [\n {\n id: 'sap-vorgang-produkte',\n label: 'Anfrage',\n icon: 'settings',\n routerLink: '/einstellungen/sap-vorgang-produkte',\n roles: [Role.InfrestAdmin, Role.SuperAdmin]\n },\n {\n id: 'sap-auskunft-produkte',\n label: 'Auskunft',\n icon: 'settings',\n routerLink: '/einstellungen/sap-auskunft-produkte',\n roles: [Role.InfrestAdmin, Role.SuperAdmin]\n }\n ]\n },\n {\n name: 'Wertetabellen',\n items: [\n { id: 'anfrageanlass', label: 'Anfrageanlass', icon: 'settings', routerLink: '/einstellungen/anfrageanlass', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'massnahmeart', label: 'Art der Maßnahme', icon: 'settings', routerLink: '/einstellungen/massnahmeart', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'vorgangsart', label: 'Vorgangsart', icon: 'settings', routerLink: '/einstellungen/vorgangsart', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'dokumentart', label: 'Dokumentart', icon: 'settings', routerLink: '/einstellungen/dokumentart', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'sparten', label: 'Sparten', icon: 'settings', routerLink: '/einstellungen/sparten', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n },\n {\n name: 'Dienst',\n items: [\n {\n id: 'kartendienst',\n label: 'Kartendienst',\n icon: 'settings',\n routerLink: '/einstellungen/kartendienst',\n roles: [Role.InfrestAdmin, Role.SuperAdmin]\n }\n ]\n },\n {\n name: 'Sonstiges',\n items: [\n {\n id: 'nutzungsbedingung',\n label: 'Nutzungsbedingung',\n icon: 'settings',\n routerLink: '/einstellungen/nutzungsbedingung',\n roles: [Role.InfrestAdmin, Role.SuperAdmin]\n }\n ]\n }\n ]\n },\n {\n id: 'aufgaben',\n label: 'Aufgaben',\n icon: 'workflow',\n routerLink: '/aufgaben',\n groups: [\n {\n name: 'Status',\n items: [\n { id: 'active', label: 'Aktiv', icon: 'workflow', routerLink: '/aufgaben/aktiv', roles: [Role.InfrestAdmin, Role.SuperAdmin] },\n { id: 'completed', label: 'Abgeschlossene', icon: 'workflow', routerLink: '/aufgaben/abgeschlossene', roles: [Role.InfrestAdmin, Role.SuperAdmin] }\n ]\n }\n ]\n }\n ];\n\n return items.filter(item => {\n item.groups = item.groups.filter(group => {\n group.items = group.items.filter(gi => {\n return gi?.roles?.some(r => roles.includes(r));\n });\n return group.items.length > 0;\n });\n return item.groups.length > 0;\n });\n};\n","export * from './mixins';\nexport * from './models';\nexport * from './utils';\nexport * from './pipes';\nexport * from './token';\nexport * from './services';\n","import { Observable, Subject } from \"rxjs\";\n\nimport { AbstractConstructor, Constructor } from \"../models\";\nimport { OnDestroy } from \"@angular/core\";\n\nexport interface HasDestroyed extends OnDestroy {\n readonly destroyed: Observable;\n}\n\nexport type HasDestroyedCtor = Constructor & AbstractConstructor;\n\nexport function mixinHasDestroyed(base:T) : T & HasDestroyedCtor {\n\n return class extends base implements OnDestroy {\n\n private readonly _destroyed = new Subject();\n public readonly destroyed = this._destroyed.asObservable();\n\n ngOnDestroy(): void {\n this._destroyed.next();\n this._destroyed.complete();\n }\n }\n}\n","export { mixinHasDestroyed, HasDestroyedCtor, HasDestroyed } from './destroyed';\nexport { mixinHasInitialized, HasInitializedCtor, HasInitialized } from './initialized';\n","import { Observable, Subject } from \"rxjs\";\nimport { AbstractConstructor, Constructor } from \"../models\";\n\nexport interface HasInitialized {\n readonly initialized: Observable;\n readonly markAsInitialized: () => void;\n}\n\nexport type HasInitializedCtor = Constructor & AbstractConstructor;\n\nexport function mixinHasInitialized(base:T) : T & HasInitializedCtor {\n\n return class extends base {\n\n private readonly _initialized = new Subject();\n public readonly initialized = this._initialized.asObservable();\n\n public markAsInitialized(): void {\n this._initialized.next();\n this._initialized.complete();\n }\n }\n}\n","export enum AsyncOperationState {\n Pending = 'Pending',\n Success = 'Success',\n Error = 'Error'\n}\n","export enum HttpRequestMethod {\n GET = 'GET',\n POST = 'POST'\n}\n","export { Constructor } from './constructor';\nexport { AbstractConstructor } from './abstract-constructor';\nexport { HttpRequestMethod } from './http-request-method';\nexport { AsyncOperationState } from './async-operation-state';\nexport { MediaType } from './media-type';\n\n","export enum MediaType {\n CSV_UTF8 = 'text/csv;charset=utf-8',\n DOCX = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n JSON = 'application/json',\n PDF = 'application/pdf',\n XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { filterByPropertyValue } from '../utils';\n\n@Pipe({\n name: 'filterByPropertyValue',\n standalone: true\n})\nexport class FilterByPropertyValuePipe implements PipeTransform {\n\n transform>(array: T[], property: keyof T, toRemove:T[keyof T][]): T[] {\n return filterByPropertyValue(array, property, toRemove)\n }\n}\n","export { FilterByPropertyValuePipe } from './filter-by-property-value.pipe';\n","import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Inject, Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Observable, of } from 'rxjs';\nimport { concatMap } from 'rxjs/operators';\n\nimport { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalGuardConfiguration, MsalService } from '@azure/msal-angular';\nimport { BaseGuard } from './base.guard';\n\nconst ADMIN_CLAIM_NAME = 'extension_InfrestGroups';\n\n@Injectable()\nexport class RoleGuard extends BaseGuard {\n constructor(\n @Inject(MSAL_GUARD_CONFIG) protected override msalGuardConfig: MsalGuardConfiguration,\n protected override msalBroadcastService: MsalBroadcastService,\n protected override authService: MsalService,\n protected override location: Location,\n protected override router: Router\n ) {\n super(msalGuardConfig, msalBroadcastService, authService, location, router);\n }\n\n override activateHelper(state?: RouterStateSnapshot, route?: ActivatedRouteSnapshot): Observable {\n let result = super.activateHelper(state, route);\n\n const expectedRoles: string[] = route ? route.data['expectedRoles'] : [];\n\n return result.pipe(\n concatMap(() => {\n let activeAccount = this.authService.instance.getActiveAccount();\n\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\n activeAccount = this.authService.instance.getAllAccounts()[0];\n }\n\n if (!activeAccount?.idTokenClaims?.[ADMIN_CLAIM_NAME]) {\n this.router.navigateByUrl('/unauthorized');\n // window.alert(\n // 'Token does not have extension_InfrestGroups claim. Please ensure that your account is assigned to an app role and then sign-out and sign-in again.'\n // );\n return of(false);\n }\n\n const hasRequiredRole = expectedRoles.some((role: string) =>\n (activeAccount?.idTokenClaims?.[ADMIN_CLAIM_NAME] as string)\n .split(',')\n .map(role => role.trim())\n .includes(role)\n );\n\n if (!hasRequiredRole) {\n this.router.navigateByUrl('/unauthorized');\n // window.alert(\n // 'You do not have access as the expected role is not found. Please ensure that your account is assigned to an app role and then sign-out and sign-in again.'\n // );\n }\n\n return of(hasRequiredRole);\n })\n );\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { THE_DOCUMENT, MediaType } from '@core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileSaverService {\n\n constructor(@Inject(THE_DOCUMENT) private readonly _document: Document) { }\n\n public saveBlob(blob: Blob, filename: string): void {\n\n if (filename.length === 0) {\n return;\n }\n\n const window = this._document.defaultView;\n if (window === null) {\n return;\n }\n\n const link = this._document.createElement('a');\n if (link.download === undefined) {\n return;\n }\n\n // Browsers that support HTML5 download attribute\n const url = window.URL.createObjectURL(blob);\n link.href = url;\n link.download = filename;\n link.style.display = 'none'\n this._document.body.appendChild(link);\n link.click();\n this._document.body.removeChild(link);\n }\n\n public saveAsCsvWithUtf8Encoding(content: string, filename: string) {\n const blob = new Blob([content], { type: MediaType.CSV_UTF8 })\n this.saveBlob(blob, filename);\n }\n\n public saveAsJson(content: T, filename: string) {\n try {\n const contentAsString = JSON.stringify(content, null, 2);\n const blob = new Blob([contentAsString], { type: MediaType.JSON });\n this.saveBlob(blob, filename);\n } catch (error) { }\n }\n}\n","export * from './navigation.service';\nexport { FileSaverService } from './file-saver/file-saver.service'\n","import { inject, Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport NavigationItems from '../constants/navigation-items.const';\nimport { NavigationItem, NavigationState } from '@core/types';\nimport { filter, map, startWith } from 'rxjs/operators';\nimport { signalSlice } from 'ngxtension/signal-slice';\nimport { Observable, of } from 'rxjs';\nimport { MsalService } from '@azure/msal-angular';\n\nconst ADMIN_CLAIM_NAME = 'extension_InfrestGroups';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigationService {\n router = inject(Router);\n route = inject(ActivatedRoute);\n authService = inject(MsalService)\n\n private _initialState: NavigationState = {\n navigationItems: [],\n selectedNavigationItem: undefined,\n expanded: true\n };\n\n getRoles = () => {\n let activeAccount = this.authService.instance.getActiveAccount();\n\n if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) {\n activeAccount = this.authService.instance.getAllAccounts()[0];\n }\n\n return (activeAccount?.idTokenClaims?.[ADMIN_CLAIM_NAME] as string)?.split?.(',')?.map(role => role?.trim()) || []\n }\n\n // sources\n navItems$ = of(NavigationItems(this.getRoles())).pipe(\n map((items: NavigationItem[]) => {\n const url = this.route['_routerState']['snapshot'].url;\n const firstLevel = url.split('/')[1];\n const topLevelRoute = firstLevel ? `/${firstLevel}` : `/dashboard`;\n const item = items.find(item => item.routerLink === topLevelRoute);\n return { navigationItems: items, selectedNavigationItem: item };\n })\n );\n\n selectedNavItem$ = this.router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n startWith(this.router),\n map(event => {\n if (event instanceof NavigationEnd) {\n const firstLevel = event.url.split('/')[1];\n const topLevelRoute = firstLevel ? `/${firstLevel}` : `/dashboard`;\n const item = this.state.navigationItems().find(item => item.routerLink === topLevelRoute);\n return { selectedNavigationItem: item };\n } else {\n return { selectedNavigationItem: null };\n }\n })\n );\n\n expanded$ = of(localStorage.getItem('nav_expanded')).pipe(\n map(expanded => {\n if (expanded === null) {\n localStorage.setItem('nav_expanded', 'true');\n return { expanded: true };\n }\n return { expanded: expanded === 'true' };\n }),\n startWith({ expanded: true })\n );\n\n // state\n state = signalSlice({\n initialState: this._initialState,\n sources: [this.navItems$, this.selectedNavItem$, this.expanded$],\n selectors: state => ({\n navSubItems: () => state().navigationItems.find(item => item.id === state().selectedNavigationItem?.id)?.groups\n }),\n actionSources: {\n toggleNav: (state, $: Observable) => {\n return $.pipe(\n map(() => {\n const newExpandedState = !state().expanded;\n localStorage.setItem('nav_expanded', newExpandedState.toString());\n return { expanded: newExpandedState };\n })\n );\n },\n setSelectedNavigationItem: (state, item$: Observable) => {\n return item$.pipe(map(item => ({ selectedNavigationItem: item })));\n },\n loadNavigationItems: (state, $: Observable) => {\n return $.pipe(\n map(() => {\n return {\n navigationItems: NavigationItems(this.getRoles())\n }\n })\n )\n }\n }\n });\n\n constructor() {}\n}\n","export { THE_DOCUMENT } from './the-document';\n","import { DOCUMENT } from \"@angular/common\";\nimport { inject, InjectionToken } from \"@angular/core\";\n\nexport const THE_DOCUMENT = new InjectionToken(\n 'THE_DOCUMENT',\n { providedIn: 'root', factory: () => inject(DOCUMENT) }\n);\n","import { MISSING_NUMBER, MISSING_STRING } from \"./constants\";\n\nexport function coerceBool(value: any, fallback: boolean = false): boolean {\n return typeof value === 'boolean' ? value : fallback;\n}\n\nexport function coerceNumber(value: any, fallback: number = MISSING_NUMBER): number {\n return typeof value === 'number' ? value : fallback;\n}\n\nexport function coerceString(value: any, fallback: string = MISSING_STRING): string {\n return typeof value === 'string' ? value: fallback;\n}\n\nexport function coerceArray(value: any): T[] {\n return Array.isArray(value) ? value: [];\n}\n\nexport function coerceReadonlyArray(value: any): readonly T[] {\n return coerceArray(value);\n}\n","export const MISSING_STRING = '?';\nexport const MISSING_NUMBER = 0;\nexport const NOT_FOUND_INDEX = -1;\n","export function getDateForFilename(today = new Date()): string {\n const y = today.getFullYear();\n const m = today.getMonth() + 1;\n const d = today.getDate();\n const h = today.getHours();\n const mi = today.getMinutes();\n const s = today.getSeconds();\n return y + '-' + m + '-' + d + '-' + h + '-' + mi + '-' + s;\n}\n","import { NOT_FOUND_INDEX } from \"./constants\";\n\nexport function extractFilenameFromContentDispositionHeader(\n contentDispositionHeader: string | null,\n fallback: string): string {\n\n if (!contentDispositionHeader) {\n return fallback;\n };\n\n const filenameToken = 'filename=';\n const filenameTokenIndex = contentDispositionHeader.indexOf(filenameToken);\n if (filenameTokenIndex === NOT_FOUND_INDEX) {\n return fallback;\n };\n\n const filenameStart = filenameTokenIndex + filenameToken.length;\n let filenameEnd = contentDispositionHeader.indexOf(';', filenameStart);\n if (filenameEnd === NOT_FOUND_INDEX) {\n filenameEnd = contentDispositionHeader.length;\n }\n\n const filename = contentDispositionHeader.substring(filenameStart, filenameEnd).trim();\n if (filename.startsWith('\"') && filename.endsWith('\"')) {\n return filename.substring(1, filename.length - 1);\n }\n\n return filename;\n}\n","export * from './coercion';\nexport * from './constants';\nexport * from './extraction';\nexport * from './date';\nexport * from './transformation';\nexport * from './verification';\n","export function filterByPropertyValue, K>(\n array: T[],\n property: keyof T,\n toRemove:T[keyof T][]): T[] {\n return array\n .filter(e => !toRemove.includes(e[property]))\n}\n\n","export function isTypescriptObject(value: any): value is T {\n return typeof value === 'object' && value !== null\n}\n\nexport function isNotNullOrUndefined(value: any): value is T {\n return value !== null && value !== undefined;\n}\n\nexport function isNullOrUndefined(value: any): value is null | undefined {\n return value === null || value === undefined;\n}\n\n\n","export { Role } from './role';\nexport { RoutePath } from './route-path';\nexport { Environment, ProductionEnvironment } from './environment';\nexport { HttpsURL } from './https-url';\nexport { OAuthConfig } from './o-auth-config'\n","export enum Role {\n SuperAdmin = 'SA',\n ToeBPflege = 'TP',\n ToeBFreigabe = 'TF',\n Kundenservice = 'KS',\n Diensleistung = 'DL',\n DSGVO = 'DG',\n InfrestAdmin = 'InfrestAdmin'\n}\n","export enum RoutePath {\n Dashboard = 'dashboard',\n Organisation = 'organisation',\n Toebs = 'toebs',\n Transaktionen = 'transaktionen',\n Nutzer = 'nutzer',\n News ='news',\n Einstellungen = 'einstellungen',\n Aufgaben = 'aufgaben',\n Vorgaenge = 'vorgaenge',\n AuftraggeberBeziehung = 'auftraggeber-beziehung',\n Auth = 'auth',\n Unauthorized = 'unauthorized'\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-aufgaben-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class AufgabenShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-dashboard-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class DashboardShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-einstellungen-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class EinstellungenShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-news-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class NewsShellComponent {}","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-nutzer-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class NutzerShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-organisation-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class OrganisationShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-toeb-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class ToebShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-transaktionen-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class TransaktionenShellComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'inf-unauthorized',\n standalone: true,\n imports: [CommonModule],\n template: `\n
\n

Unauthorized:

\n

Bitte vergewissern Sie sich, dass Ihrem Konto die Rolle eines Administrators zugewiesen ist, und melden Sie sich dann ab und erneut an.

\n
\n `,\n styles: [\n `\n @use '../../../styles/base' as inf;\n\n .inf-unauthorized {\n margin: 16px;\n padding: 16px;\n border: 1px solid inf.$infrest-standard-border-color;\n background-color: inf.$infrest-warning-background-color;\n border-radius: 10px;\n\n h1 {\n color: inf.$infrest-error-color-dark;\n }\n\n h3 {\n color: inf.$infrest-error-color;\n }\n }\n `\n ]\n})\nexport class UnauthorizedComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'inf-vorgaenge-shell',\n standalone: true,\n imports: [CommonModule, RouterOutlet],\n template: `\n \n `,\n styles: ``\n})\nexport class VorgaengeShellComponent {}\n","const countryCodeMap = {\n AT: true,\n BE: true,\n BG: true,\n BRD: true,\n CY: true,\n CZ: true,\n D: true,\n DE: true,\n DK: true,\n EE: true,\n ES: true,\n FI: true,\n FR: true,\n GR: true,\n HR: true,\n HU: true,\n IE: true,\n IT: true,\n LT: true,\n LU: true,\n LV: true,\n MT: true,\n NL: true,\n PL: true,\n PT: true,\n RO: true,\n SE: true,\n SI: true,\n SK: true\n};\n\nexport default countryCodeMap;\n","import { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n@Directive({\n // eslint-disable-next-line\n selector: 'input[type=file]',\n host: {\n '(change)': 'onChange($event.target.files)',\n '(blur)': 'onTouched()',\n },\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileValueAccessor, multi: true }],\n})\n// https://github.com/angular/angular/issues/7341\nexport class FileValueAccessor implements ControlValueAccessor {\n value: any;\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(_value: any) {}\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","export * from './utilts';\nexport * from './snackbar.service';\nexport * from './country-code';\n","import { Injectable } from \"@angular/core\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { SnackbarComponent } from \"../components/snackbar/snackbar.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackbarService {\n constructor(private matSnackbar: MatSnackBar) {}\n\n open(message: string, success: boolean, duration?: number, buttonLabel?: string) {\n return this.matSnackbar.openFromComponent(SnackbarComponent, {\n data: { message, success, buttonLabel },\n panelClass: success ? ['success'] : ['error'],\n duration\n })\n }\n}","import * as rfdc from 'rfdc';\n\nexport interface DeepCloneOptions {\n circles?: boolean;\n proto?: boolean;\n}\n\nexport const deepClone = (valToClone, options?: DeepCloneOptions) => {\n const defaultOptions = {\n circles: false,\n proto: true,\n ...(options ? options : {})\n };\n return rfdc(defaultOptions)(valToClone);\n};\n\nexport const autoConvertMapToObject = map => {\n const obj = {};\n for (const item of [...map]) {\n const [key, value] = item;\n obj[key] = value;\n }\n return obj;\n};\n\nexport const sortByLocalCompare = (\n rows: any[],\n orderBy:\n | {\n column: string;\n asc: boolean;\n }[]\n | undefined\n): any[] | undefined => {\n if (!rows || !Array.isArray(rows) || !orderBy) return undefined;\n rows.sort((e1, e2) => {\n for (const o of orderBy) {\n const diff = `${e1[o.column]}`.localeCompare(`${e2[o.column]}`);\n if (diff !== 0) return o.asc ? diff : -diff;\n }\n return 0;\n });\n\n return rows;\n};\n\nexport const formatDateTime = (date: Date) => {\n if (!date) return '';\n return date.toLocaleDateString('de-DE', {\n timeZone: 'UTC',\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n};\n\nexport const formatDate = (date: Date) => {\n if (!date || !+date || !date.toLocaleDateString()) return null;\n return date.toLocaleDateString('de-DE', {\n timeZone: 'UTC',\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n });\n}\n\nexport const subtractSet = (setA: Set, setB: Set) => {\n Array.from(setB).forEach(v => setA.delete(v));\n return setA;\n}\n","import { Environment } from \"@app/models\";\n\nexport const environment: Environment = {\n production: false,\n apiUrl: 'https://dev.lap.api.portal.infrest.de/',\n portalUrl: 'https://dev.portal.infrest.de/',\n importNutzerTemplate: 'https://dev-static.portal.infrest.de/docs/Import-Nutzern.xlsx',\n oauth: {\n identityProvider: 'https://infrestcustomersdev.b2clogin.com/32dfe5f8-48ea-4860-8986-eacd65217e23/v2.0/',\n clientId: 'cecb2470-20e3-44c6-8dbd-39d5fa7f014d',\n b2cTenant: 'infrestcustomersdev',\n flowSignInSignUp: 'b2c_1_sign_in_and_up',\n flowPasswordReset: 'b2c_1_password_reset'\n }\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/dist/zone-error'; // Included with Angular CLI.\n","import { bootstrapApplication } from '@angular/platform-browser';\nimport { AppComponent } from './app/app.component';\nimport { appConfig } from './app/app.config';\n\nbootstrapApplication(AppComponent, appConfig).catch(err => console.error(err));\n","var map = {\n\t\"./af\": 85637,\n\t\"./af.js\": 85637,\n\t\"./ar\": 6777,\n\t\"./ar-dz\": 74508,\n\t\"./ar-dz.js\": 74508,\n\t\"./ar-kw\": 67504,\n\t\"./ar-kw.js\": 67504,\n\t\"./ar-ly\": 95373,\n\t\"./ar-ly.js\": 95373,\n\t\"./ar-ma\": 92412,\n\t\"./ar-ma.js\": 92412,\n\t\"./ar-ps\": 78823,\n\t\"./ar-ps.js\": 78823,\n\t\"./ar-sa\": 36670,\n\t\"./ar-sa.js\": 36670,\n\t\"./ar-tn\": 36448,\n\t\"./ar-tn.js\": 36448,\n\t\"./ar.js\": 6777,\n\t\"./az\": 23009,\n\t\"./az.js\": 23009,\n\t\"./be\": 28299,\n\t\"./be.js\": 28299,\n\t\"./bg\": 4685,\n\t\"./bg.js\": 4685,\n\t\"./bm\": 11171,\n\t\"./bm.js\": 11171,\n\t\"./bn\": 23590,\n\t\"./bn-bd\": 5841,\n\t\"./bn-bd.js\": 5841,\n\t\"./bn.js\": 23590,\n\t\"./bo\": 54309,\n\t\"./bo.js\": 54309,\n\t\"./br\": 54130,\n\t\"./br.js\": 54130,\n\t\"./bs\": 8033,\n\t\"./bs.js\": 8033,\n\t\"./ca\": 55294,\n\t\"./ca.js\": 55294,\n\t\"./cs\": 53028,\n\t\"./cs.js\": 53028,\n\t\"./cv\": 5807,\n\t\"./cv.js\": 5807,\n\t\"./cy\": 70342,\n\t\"./cy.js\": 70342,\n\t\"./da\": 38269,\n\t\"./da.js\": 38269,\n\t\"./de\": 11489,\n\t\"./de-at\": 42123,\n\t\"./de-at.js\": 42123,\n\t\"./de-ch\": 17757,\n\t\"./de-ch.js\": 17757,\n\t\"./de.js\": 11489,\n\t\"./dv\": 28152,\n\t\"./dv.js\": 28152,\n\t\"./el\": 7687,\n\t\"./el.js\": 7687,\n\t\"./en-au\": 46668,\n\t\"./en-au.js\": 46668,\n\t\"./en-ca\": 76798,\n\t\"./en-ca.js\": 76798,\n\t\"./en-gb\": 53615,\n\t\"./en-gb.js\": 53615,\n\t\"./en-ie\": 91364,\n\t\"./en-ie.js\": 91364,\n\t\"./en-il\": 79907,\n\t\"./en-il.js\": 79907,\n\t\"./en-in\": 70533,\n\t\"./en-in.js\": 70533,\n\t\"./en-nz\": 33190,\n\t\"./en-nz.js\": 33190,\n\t\"./en-sg\": 51096,\n\t\"./en-sg.js\": 51096,\n\t\"./eo\": 3962,\n\t\"./eo.js\": 3962,\n\t\"./es\": 37726,\n\t\"./es-do\": 65010,\n\t\"./es-do.js\": 65010,\n\t\"./es-mx\": 63654,\n\t\"./es-mx.js\": 63654,\n\t\"./es-us\": 59043,\n\t\"./es-us.js\": 59043,\n\t\"./es.js\": 37726,\n\t\"./et\": 25343,\n\t\"./et.js\": 25343,\n\t\"./eu\": 90728,\n\t\"./eu.js\": 90728,\n\t\"./fa\": 60787,\n\t\"./fa.js\": 60787,\n\t\"./fi\": 71771,\n\t\"./fi.js\": 71771,\n\t\"./fil\": 45335,\n\t\"./fil.js\": 45335,\n\t\"./fo\": 69761,\n\t\"./fo.js\": 69761,\n\t\"./fr\": 1670,\n\t\"./fr-ca\": 28991,\n\t\"./fr-ca.js\": 28991,\n\t\"./fr-ch\": 97280,\n\t\"./fr-ch.js\": 97280,\n\t\"./fr.js\": 1670,\n\t\"./fy\": 24203,\n\t\"./fy.js\": 24203,\n\t\"./ga\": 69858,\n\t\"./ga.js\": 69858,\n\t\"./gd\": 38605,\n\t\"./gd.js\": 38605,\n\t\"./gl\": 27365,\n\t\"./gl.js\": 27365,\n\t\"./gom-deva\": 33896,\n\t\"./gom-deva.js\": 33896,\n\t\"./gom-latn\": 95587,\n\t\"./gom-latn.js\": 95587,\n\t\"./gu\": 97950,\n\t\"./gu.js\": 97950,\n\t\"./he\": 92029,\n\t\"./he.js\": 92029,\n\t\"./hi\": 51897,\n\t\"./hi.js\": 51897,\n\t\"./hr\": 29816,\n\t\"./hr.js\": 29816,\n\t\"./hu\": 22253,\n\t\"./hu.js\": 22253,\n\t\"./hy-am\": 28196,\n\t\"./hy-am.js\": 28196,\n\t\"./id\": 51307,\n\t\"./id.js\": 51307,\n\t\"./is\": 95474,\n\t\"./is.js\": 95474,\n\t\"./it\": 23099,\n\t\"./it-ch\": 45807,\n\t\"./it-ch.js\": 45807,\n\t\"./it.js\": 23099,\n\t\"./ja\": 19127,\n\t\"./ja.js\": 19127,\n\t\"./jv\": 30182,\n\t\"./jv.js\": 30182,\n\t\"./ka\": 10758,\n\t\"./ka.js\": 10758,\n\t\"./kk\": 93444,\n\t\"./kk.js\": 93444,\n\t\"./km\": 72034,\n\t\"./km.js\": 72034,\n\t\"./kn\": 46223,\n\t\"./kn.js\": 46223,\n\t\"./ko\": 83064,\n\t\"./ko.js\": 83064,\n\t\"./ku\": 8714,\n\t\"./ku-kmr\": 10961,\n\t\"./ku-kmr.js\": 10961,\n\t\"./ku.js\": 8714,\n\t\"./ky\": 12062,\n\t\"./ky.js\": 12062,\n\t\"./lb\": 84796,\n\t\"./lb.js\": 84796,\n\t\"./lo\": 19279,\n\t\"./lo.js\": 19279,\n\t\"./lt\": 106,\n\t\"./lt.js\": 106,\n\t\"./lv\": 11840,\n\t\"./lv.js\": 11840,\n\t\"./me\": 42240,\n\t\"./me.js\": 42240,\n\t\"./mi\": 13588,\n\t\"./mi.js\": 13588,\n\t\"./mk\": 15518,\n\t\"./mk.js\": 15518,\n\t\"./ml\": 37823,\n\t\"./ml.js\": 37823,\n\t\"./mn\": 98657,\n\t\"./mn.js\": 98657,\n\t\"./mr\": 61285,\n\t\"./mr.js\": 61285,\n\t\"./ms\": 43014,\n\t\"./ms-my\": 86253,\n\t\"./ms-my.js\": 86253,\n\t\"./ms.js\": 43014,\n\t\"./mt\": 20167,\n\t\"./mt.js\": 20167,\n\t\"./my\": 47940,\n\t\"./my.js\": 47940,\n\t\"./nb\": 50014,\n\t\"./nb.js\": 50014,\n\t\"./ne\": 49023,\n\t\"./ne.js\": 49023,\n\t\"./nl\": 34208,\n\t\"./nl-be\": 71412,\n\t\"./nl-be.js\": 71412,\n\t\"./nl.js\": 34208,\n\t\"./nn\": 81354,\n\t\"./nn.js\": 81354,\n\t\"./oc-lnc\": 40870,\n\t\"./oc-lnc.js\": 40870,\n\t\"./pa-in\": 80389,\n\t\"./pa-in.js\": 80389,\n\t\"./pl\": 7342,\n\t\"./pl.js\": 7342,\n\t\"./pt\": 34774,\n\t\"./pt-br\": 73003,\n\t\"./pt-br.js\": 73003,\n\t\"./pt.js\": 34774,\n\t\"./ro\": 85333,\n\t\"./ro.js\": 85333,\n\t\"./ru\": 73451,\n\t\"./ru.js\": 73451,\n\t\"./sd\": 43921,\n\t\"./sd.js\": 43921,\n\t\"./se\": 59682,\n\t\"./se.js\": 59682,\n\t\"./si\": 80582,\n\t\"./si.js\": 80582,\n\t\"./sk\": 4348,\n\t\"./sk.js\": 4348,\n\t\"./sl\": 95337,\n\t\"./sl.js\": 95337,\n\t\"./sq\": 39358,\n\t\"./sq.js\": 39358,\n\t\"./sr\": 50683,\n\t\"./sr-cyrl\": 69382,\n\t\"./sr-cyrl.js\": 69382,\n\t\"./sr.js\": 50683,\n\t\"./ss\": 51156,\n\t\"./ss.js\": 51156,\n\t\"./sv\": 29855,\n\t\"./sv.js\": 29855,\n\t\"./sw\": 18536,\n\t\"./sw.js\": 18536,\n\t\"./ta\": 15373,\n\t\"./ta.js\": 15373,\n\t\"./te\": 37809,\n\t\"./te.js\": 37809,\n\t\"./tet\": 61297,\n\t\"./tet.js\": 61297,\n\t\"./tg\": 92527,\n\t\"./tg.js\": 92527,\n\t\"./th\": 85862,\n\t\"./th.js\": 85862,\n\t\"./tk\": 79331,\n\t\"./tk.js\": 79331,\n\t\"./tl-ph\": 44387,\n\t\"./tl-ph.js\": 44387,\n\t\"./tlh\": 3592,\n\t\"./tlh.js\": 3592,\n\t\"./tr\": 79732,\n\t\"./tr.js\": 79732,\n\t\"./tzl\": 99570,\n\t\"./tzl.js\": 99570,\n\t\"./tzm\": 83553,\n\t\"./tzm-latn\": 7699,\n\t\"./tzm-latn.js\": 7699,\n\t\"./tzm.js\": 83553,\n\t\"./ug-cn\": 25674,\n\t\"./ug-cn.js\": 25674,\n\t\"./uk\": 69974,\n\t\"./uk.js\": 69974,\n\t\"./ur\": 45773,\n\t\"./ur.js\": 45773,\n\t\"./uz\": 357,\n\t\"./uz-latn\": 77135,\n\t\"./uz-latn.js\": 77135,\n\t\"./uz.js\": 357,\n\t\"./vi\": 20043,\n\t\"./vi.js\": 20043,\n\t\"./x-pseudo\": 40767,\n\t\"./x-pseudo.js\": 40767,\n\t\"./yo\": 80150,\n\t\"./yo.js\": 80150,\n\t\"./zh-cn\": 21828,\n\t\"./zh-cn.js\": 21828,\n\t\"./zh-hk\": 86644,\n\t\"./zh-hk.js\": 86644,\n\t\"./zh-mo\": 79305,\n\t\"./zh-mo.js\": 79305,\n\t\"./zh-tw\": 31860,\n\t\"./zh-tw.js\": 31860\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;"],"names":["FilterOperator","ColumnFilterBuilder","constructor","_filter","setColumn","column","length","Error","old","setOperator","operator","setTerm","term","setNot","not","setColumnEqualsTerm","Equals","setColumnContainsTerm","Contains","_isColumnFilter","value","undefined","build","filter","buildAndWrapInArray","InjectionToken","BACKEND_SERVICE_BASE_API_URL","BackendService","_baseApiUrl","http","resendTeilvorgangEmail","id","email","post","resendTeilvorgang","getVorgangCounts","get","getVorgangDetails","getLokationen","request","getAnfragedokumente","getAntwortdokumente","getToebs","getWeitereToebs","getProtokoll","getNachforderungen","getTeilvorgaenge","_","i0","ɵɵinject","i1","HttpClient","_2","factory","ɵfac","computed","MSAL_GUARD_CONFIG","MsalModule","EventType","InteractionStatus","InteractionType","PromptValue","b2cPolicies","SubSink","RouterOutlet","CommonModule","NavComponent","AppHeaderComponent","FormlyMaterialModule","AngularSplitModule","ReactiveFormsModule","HttpClientModule","FormlyComponentsModule","Role","ɵɵelement","ɵɵelementStart","ɵɵlistener","AppComponent_Conditional_1_Conditional_0_Template_inf_app_header_menuToggleClick_1_listener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","_onToggleMenu","AppComponent_Conditional_1_Conditional_0_Template_inf_app_header_logout_1_listener","_onLogout","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","isAuthorized","ɵɵstyleProp","maxWidth","AppComponent_Conditional_1_Conditional_1_Template_inf_app_header_logout_0_listener","_r3","ɵɵtemplate","AppComponent_Conditional_1_Conditional_0_Template","AppComponent_Conditional_1_Conditional_1_Template","ɵɵconditional","AppComponent","msalGuardConfig","authService","msalBroadcastService","router","navService","iconRegistry","domSanitizer","title","isIframe","loginDisplay","_subs","state","expanded","addSvgIconSetInNamespace","bypassSecurityTrustResourceUrl","ngOnInit","window","parent","opener","setLoginDisplay","roles","getRoles","config","map","route","path","vorgaengeRoute","find","children","includes","Diensleistung","SuperAdmin","InfrestAdmin","some","s","unshift","redirectTo","pathMatch","toebsRoute","ToeBFreigabe","instance","enableAccountStorageEvents","sink","events","subscribe","event","url","msalSubject$","pipe","msg","eventType","LOGIN_SUCCESS","loadNavigationItems","ACQUIRE_TOKEN_SUCCESS","SSO_SILENT_SUCCESS","result","payload","idtoken","idTokenClaims","acr","names","signUpSignIn","tfp","setActiveAccount","account","editProfile","originalSignInAccount","getAllAccounts","oid","sub","signUpSignInFlowRequest","authority","authorities","ssoSilent","resetPassword","prompt","LOGIN","scopes","login","LOGIN_FAILURE","ACQUIRE_TOKEN_FAILURE","error","message","indexOf","resetPasswordFlowRequest","clear","inProgress$","status","None","checkAndSetActiveAccount","activeAccount","getActiveAccount","accounts","ngOnDestroy","unsubscribe","userFlowRequest","interactionType","Popup","authRequest","loginPopup","response","loginRedirect","logout","toggleNav","ɵɵdirectiveInject","MsalService","MsalBroadcastService","i2","Router","i3","NavigationService","i4","MatIconRegistry","i5","DomSanitizer","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","AppComponent_Template","rf","ctx","AppComponent_Conditional_1_Template","styles","importProvidersFrom","LOCALE_ID","provideRouter","APP_ROUTES","HTTP_INTERCEPTORS","provideHttpClient","withFetch","withInterceptorsFromDi","provideAnimations","QuillModule","FormlyModule","configs","loginRequest","msalConfig","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","MsalGuard","MsalInterceptor","MAT_FORM_FIELD_DEFAULT_OPTIONS","DateAdapter","MAT_DATE_FORMATS","MAT_DATE_LOCALE","MomentDateAdapter","RoleGuard","PublicClientApplication","environment","localeDe","localeDeExtra","registerLocaleData","MSALInstanceFactory","MSALGuardConfigFactory","Redirect","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","oauth","b2cTenant","clientId","DE_DATE_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","appConfig","providers","provide","useValue","useClass","multi","appearance","deps","useFactory","forRoot","formlyConfig","apiUrl","DEBUG","location","hostname","MsalRedirectComponent","UnauthorizedComponent","OrganisationShellComponent","ToebShellComponent","AufgabenShellComponent","NutzerShellComponent","EinstellungenShellComponent","VorgaengeShellComponent","TransaktionenShellComponent","DashboardShellComponent","NewsShellComponent","RoutePath","Dashboard","component","canActivate","loadChildren","Organisation","Toebs","loadComponent","then","mod","ToebComponent","data","expectedRoles","ToeBPflege","ToebDraftComponent","ToebFreigabeComponent","Transaktionen","Nutzer","News","Einstellungen","Aufgaben","Vorgaenge","VorgaengeComponent","Kundenservice","filters","TeilvorgaengeComponent","DlVorgaengeComponent","BsaUebertragungComponent","OplexUebertragungComponent","AuftraggeberBeziehung","Auth","Unauthorized","input","output","MatMenuModule","MatToolbarModule","MatIconModule","MatButtonModule","AppHeaderComponent_button_1_Template_button_click_0_listener","_r2","ctx_r2","menuToggleClick","emit","ɵɵtext","showMenuToggle","inputs","ɵɵInputFlags","SignalBased","outputs","AppHeaderComponent_Template","AppHeaderComponent_button_1_Template","AppHeaderComponent_Template_button_click_9_listener","userMenu_r4","NgIf","MatMenu","MatMenuItem","MatMenuTrigger","MatToolbar","MatIcon","MatIconButton","encapsulation","changeDetection","MAT_DIALOG_DATA","DynamicForm","FormDialogComponent_button_8_Template_button_click_0_listener","cancel","ɵɵtextInterpolate","cancelButtonText","FormDialogComponent_button_9_Template_button_click_0_listener","FormDialogComponent_button_10_Template_button_click_0_listener","_r4","save","FormDialogComponent","dialogData","dialogRef","dynamicFormService","dynamicForm","showSaveButton","showCancelButton","schema","getDynamicForm","body","schemaUrl","modelUrl","form","model","setupAutocompleteFields","setupSubformButtons","markAsUntouched","close","action","markAllAsTouched","valid","getModelForSending","MatDialogRef","DynamicFormService","FormDialogComponent_Template","FormDialogComponent_Template_mat_icon_click_3_listener","FormDialogComponent_button_8_Template","FormDialogComponent_button_9_Template","FormDialogComponent_button_10_Template","FormComponent","onSubmit","FormComponent_Template","FormComponent_Template_form_ngSubmit_0_listener","fields","options","catchError","forkJoin","of","tap","endpointSchema","endpointModel","results","autocompletes","getFieldsByType","forEach","field","props","getAutocompleteOptions","onChangeSelected","option","newModel","selectedOptionId","key","prefillSubformFields","distribute","templateOptions","mapping","datamodelKey","fieldKey","endpoint","err","fieldsToClear","attToChange","Object","keys","formField","f","onClick","validateAndPostSubform","areFieldsValid","fieldToValidate","markAsTouched","console","log","alert","providedIn","FormGroup","subtractSet","BehaviorSubject","LAST_CONDITION_VALUE_KEY","Symbol","DEPENDENCY_DIRTY_KEY","_replaceTemplateOptionsWithProps","newFields","push","newField","fieldGroup","_model","Proxy","target","modelSubject","next","modelFieldsToSetToNull","allModelFields","getValue","Set","_fields","replacedFields","fieldsWithoutFieldGroups","filterFieldsIgnoringFieldGroupsRecursive","setupDependencies","subs","meta","isAllFieldsDisabled","registerAllFieldsDisabledListener","setAllFieldsDisabled","_setAllFieldsDisabled","dependencies","registerDependencyListener","conditions","dependency","condition","conditionValue","checkDependencyCondition","newOptions","onTrueSet","onFalseSet","updateFieldOptions","recursionInfo","currentDepth","maxDepth","kind","checkDependencyConditionSingle","checkDependencyConditionCombined","dependencyValue","dependencyPathToValue","reduce","prev","curr","dependencyField","checkForEmptyIntended","dependencyValues","valueIsEmpty","checkForEmptySuccessful","type","every","isFirstLoad","conditionHasChanged","isBoolean","newProps","setTimeout","hide","readonly","disabled","required","selectOptions","setAllReadonlyFieldsDisabled","getFieldByKey","predicate","maxRecDepth","currentRecDepth","filteredFields","concat","DynamicFormFieldDependencyConditionSingle","DynamicFormFieldDependencyConditionCombined","DynamicFormFieldDependencyOptions","DynamicFormFieldDependency","MatDialogModule","MatInputModule","MatAutocompleteModule","DynamicFormModule","_3","forChild","declarations","imports","exports","FieldType","EMPTY","debounceTime","startWith","switchMap","option_r2","ɵɵtextInterpolate1","label","AutocompleteTypeComponent","initialModelValue","setSelectedOption","formControl","valueChanges","termArray","sort","a","b","localeCompare","debug","JSON","stringify","setValue","changeSelected","$event","displaySelectedOption","t","ɵɵInheritDefinitionFeature","AutocompleteTypeComponent_Template","AutocompleteTypeComponent_Template_mat_autocomplete_optionSelected_1_listener","AutocompleteTypeComponent_mat_option_3_Template","auto_r3","placeholder","ɵɵpipeBind1","COMMA","ENTER","ChipInputTypeComponent_mat_chip_row_5_Template_mat_chip_row_removed_0_listener","item_r3","$implicit","ctx_r3","remove","ChipInputTypeComponent_mat_chip_row_5_Template_mat_chip_row_edited_0_listener","edit","ɵɵclassProp","isItemValid","name","ChipInputTypeComponent","items","addOnBlur","separatorKeysCodes","i","add","trim","chipInput","item","index","splice","ChipInputTypeComponent_Template","ChipInputTypeComponent_mat_chip_row_5_Template","ChipInputTypeComponent_Template_input_matChipInputTokenEnd_6_listener","ɵɵpureFunction1","_c0","errorStateMatcher","chipGrid_r5","FormlyDatePickerComponent","defaultOptions","datepickerOptions","startView","datepickerTogglePosition","dateChange","monthSelected","yearSelected","FormlyConfig","ɵɵProvidersFeature","FormlyDatePickerComponent_Template","FormlyDatePickerComponent_Template_input_focus_3_listener","picker_r2","ɵɵreference","open","FormlyDatePickerComponent_Template_input_click_3_listener","FormlyDatePickerComponent_Template_input_dateInput_3_listener","FormlyDatePickerComponent_Template_input_dateChange_3_listener","FormlyDatePickerComponent_Template_mat_datepicker_monthSelected_5_listener","FormlyDatePickerComponent_Template_mat_datepicker_yearSelected_5_listener","max","min","tabindex","dateClass","opened","panelClass","startAt","touchUi","distinctUntilChanged","Rx","OrderableSelectDialogComponent","components","DialogSelectTypeComponent","_dialog","_snackbar","_options","_value","dialog","Array","isArray","values","setLabel","labels","v","opt","join","openLookupDialog","width","afterClosed","ex","caught","errorMessage","res","selectedValues","setDefaultValues","to","MatDialog","SnackbarService","DialogSelectTypeComponent_Template","DialogSelectTypeComponent_Template_mat_icon_click_6_listener","_c1","ɵɵtextInterpolate2","TableModule","FormsModule","MatFormFieldModule","MatChipsModule","DragDropModule","moveItemInArray","OrderableSelectDialogComponent_div_11_Template_div_click_0_listener","toggleSelectedOption","OrderableSelectDialogComponent_div_14_Template_div_cdkDragDropped_0_listener","optionMenuDropped","OrderableSelectDialogComponent_div_14_Template_div_click_0_listener","stopPropagation","preventDefault","OrderableSelectDialogComponent_div_14_div_1_Template","OrderableSelectDialogComponent_div_14_Template_mat_icon_click_2_listener","option_r5","ɵɵpureFunction2","i_r6","_dialogRef","selected","selectedSubject","selectedOptions$","asObservable","notSelectedOptions$","disableClose","_this","_asyncToGenerator","previousIndex","currentIndex","OrderableSelectDialogComponent_Template","OrderableSelectDialogComponent_div_11_Template","OrderableSelectDialogComponent_div_14_Template","OrderableSelectDialogComponent_Template_button_click_17_listener","OrderableSelectDialogComponent_Template_button_click_19_listener","NgForOf","AsyncPipe","MatButton","Dir","MatDialogTitle","MatDialogActions","MatDialogContent","i6","CdkDropList","CdkDrag","CdkDragHandle","CdkDragPlaceholder","FieldWrapper","FormlyExpandableWrapper","FormlyExpandableWrapper_Template","ɵɵelementContainer","NG_VALIDATORS","CustomValidatorDirective","validate","control","appCustomValidator","useExisting","EventEmitter","FileDragAndDropDirective","fileDrop","preventBodyDrop","active","onDrop","dataTransfer","files","getAsFile","clearData","from","onDragOver","onDragLeave","onBodyDragOver","onBodyDrop","hostVars","hostBindings","FileDragAndDropDirective_HostBindings","FileDragAndDropDirective_drop_HostBindingHandler","FileDragAndDropDirective_dragover_HostBindingHandler","FileDragAndDropDirective_dragleave_HostBindingHandler","ɵɵresolveBody","v4","uuidv4","progressInfo_r3","fileName","FileUploadTypeComponent_ng_container_12_div_1_div_1_Template","ɵɵelementContainerStart","FileUploadTypeComponent_ng_container_12_div_1_Template","progressInfos","FileUploadTypeComponent_ng_container_13_ng_container_1_button_23_Template_button_click_0_listener","_r6","file_r7","downloadFile","FileUploadTypeComponent_ng_container_13_ng_container_1_button_23_Template","FileUploadTypeComponent_ng_container_13_ng_container_1_Template_button_click_25_listener","_r5","removeFile","format","size","isOnline","FileUploadTypeComponent_ng_container_13_ng_container_1_Template","overallMaxFileSize","FileUploadTypeComponent","fileUploadService","snackBar","fileNameValidator","file","sameName","containsOnlyValidChars","specialChars","typeValidator","noType","bind","filesStillUploading","progressInfo","filesSizeSum","sum","fileSizeExceedsMax","validateOnAddFiles","selectFiles","inputEl","addedFiles","newFiles","addedFile","substring","lastIndexOf","toLocaleUpperCase","isValid","selectedFile","showSnackBar","hasChanged","emitFilesReady","upsertFiles","upload","fileId","getFileForDownload","resp","dispositionHeader","headers","firstIndex","lastIndex","blob","Blob","downloadURL","URL","createObjectURL","link","document","createElement","href","download","slice","click","showFileRemovedMessage","selectedFileIndex","findIndex","isDeleted","test","idx","validateDocuments","dismiss","isValidAndUniqueNames","isUnique","otherFile","FileUploadService","MatSnackBar","FileUploadTypeComponent_Template","FileUploadTypeComponent_Template_div_infFileDragAndDrop_3_listener","FileUploadTypeComponent_Template_button_click_8_listener","fileInput_r2","FileUploadTypeComponent_Template_input_change_10_listener","FileUploadTypeComponent_ng_container_12_Template","FileUploadTypeComponent_ng_container_13_Template","FileUploadTypeComponent_div_14_Template","HttpEventType","HttpRequest","Subject","fileApiUrl","subject$","isValidated","getAllFiles$","inquiryId","getFile$","responseType","observe","uploadVorgangFile","scopeId","vorgangId","formData","FormData","append","req","reportProgress","UploadProgress","loaded","total","updateFile$","deleteFile$","delete","sizes","FormatFileSizePipe","transform","bytes","decimalPlaces","k","dm","tempBytes","parseFloat","Math","pow","toFixed","toLocaleString","pure","FormlyWrapperComponent","SelectTypeComponent","MatSelectModule","MatProgressBarModule","MatSnackBarModule","FileValueAccessor","RteTypeComponent","MatExpansionPanel","MatExpansionPanelDescription","MatExpansionPanelHeader","MatExpansionPanelTitle","MatDatepicker","MatDatepickerInput","MatDatepickerToggle","FormlyWrapperComponent_Template","ctx_r0","NoteComponent","noteType","icon","content","NoteComponent_Template","NoteComponent_div_4_Template","ɵɵsanitizeHtml","NgClass","FormlyNoteComponent","FormlyNoteComponent_Template","FormlyNoteComponent_div_4_Template","quillConfiguration","toolbar","RteTypeComponent_Template","RteTypeComponent_p_1_Template","ɵɵpureFunction0","FormlySectionComponent","FormlySectionComponent_Template","getOptions","selectComponent","defaultValue","endpointModelBodyMapping","assign","buildEndpointBody","endpointFixedArguments","entries","fieldname","fieldvalue","mappingForThisField","argumentName","viewQuery","SelectTypeComponent_Query","SelectTypeComponent_Template_mat_form_field_click_0_listener","SelectTypeComponent_mat_option_5_Template","FormlySpacingComponent","FormlySpacingComponent_Template","ElementRef","inject","icons","IconComponent","asButton","spin","elementRef","ngOnChanges","changes","iconData","getIcon","currentValue","getTransform","getSize","iconName","warn","nativeElement","ɵɵNgOnChangesFeature","IconComponent_Template","SubNavComponent","RouterLink","RouterLinkActive","item_r1","routerLink","NavComponent_For_4_Conditional_0_Template","NavComponent_For_4_Conditional_1_Template","navSubItems","NavComponent_Template","ɵɵrepeaterCreate","NavComponent_For_4_Template","_forTrack0","NavComponent_Conditional_5_Template","ɵɵrepeater","navigationItems","RouterModule","SubNavComponent_For_2_For_4_Template","_forTrack1","group_r2","navItems","SubNavComponent_Template","SubNavComponent_For_2_Template","MAT_SNACK_BAR_DATA","SnackbarComponent","_snackRef","MatSnackBarRef","SnackbarComponent_Template","SnackbarComponent_mat_icon_1_Template","SnackbarComponent_Template_button_click_4_listener","success","buttonLabel","Injector","ComponentPortal","Subscription","TableCoreDirective","RowEventType","deepClone","TooltipComponent","isNullOrUndefined","TableComponent_th_7_mat_checkbox_1_Template_mat_checkbox_change_0_listener","masterToggle","rowSelectionModel","hasValue","isAllSelected","TableComponent_th_7_mat_checkbox_1_Template","rowSelectionMode","TableComponent_td_8_Template_mat_checkbox_click_1_listener","TableComponent_td_8_Template_mat_checkbox_change_1_listener","row_r4","onRowSelectionChange","isSelected","TableComponent_ng_container_9_th_1_Template_inf_table_column_filter_filterChange_1_listener","column_r6","handleFilterChange","headerClass","style","tvsDS","getFilter","ellipsis","resolvePath","row_r8","ɵɵpipeBind2","pipes","dynamicCellComponent","TableComponent_ng_container_9_td_2_ng_container_2_ng_container_1_label_1_Template","TableComponent_ng_container_9_td_2_ng_container_2_ng_container_1_label_2_Template","TableComponent_ng_container_9_td_2_ng_container_2_ng_container_1_ng_container_3_Template","TableComponent_ng_container_9_td_2_ng_container_2_ng_container_1_Template","TableComponent_ng_container_9_td_2_Template_td_mouseenter_0_listener","_r7","cell_r9","onTooltipChange","TableComponent_ng_container_9_td_2_Template_td_mouseleave_0_listener","TableComponent_ng_container_9_td_2_Template_td_click_0_listener","onCellClick","TableComponent_ng_container_9_td_2_Template_td_contextmenu_0_listener","onContextMenu","TableComponent_ng_container_9_td_2_ng_container_2_Template","ɵɵclassMap","cellClass","cellStyle","TableComponent_ng_container_9_th_1_Template","TableComponent_ng_container_9_td_2_Template","sticky","pending","ɵɵtwoWayListener","TableComponent_th_13_Template_inf_table_menu_tableSettingChange_1_listener","_r10","ɵɵtwoWayBindingSet","tableSetting","TableComponent_th_13_Template_inf_table_menu_menuActionChange_1_listener","tableMenuActionChange","TableComponent_th_13_ng_container_2_Template","setting","visibleHeaderMenu","ɵɵtwoWayProperty","visibleTableMenu","TableComponent_td_14_inf_table_row_menu_1_Template_inf_table_row_menu_rowActionChange_0_listener","_r11","row_r12","rowMenuActionChange","actionMenu","rowContextMenuItems","TableComponent_td_14_inf_table_row_menu_1_Template","inverseOfTranslation","TableComponent_tr_16_Template_tr_contextmenu_0_listener","row_r14","_r13","rowHeight","class","rowStyle","headerHeight","TableComponent_mat_paginator_18_Template_mat_paginator_page_0_listener","_r15","handlePaginationChange","pagination","pageSize","pageSizeOptions","tableLanguage","tableLabels","NoData","TableComponent_ng_container_19_div_1_Template","TableComponent","columnSetting","visibleActionMenu","visibleColumnSettingsMenu","autoHeight","saveSettingsMode","originalColumn","columns","c","setDisplayedColumns","viewportSizeChanged","_viewportSizeChanged","scrollStrategy","viewport","checkViewportSize","overlay","tableService","_overlayContainer","_overlayPositionBuilder","cd","height","selectionType","filterChange","downloadEvent","init","contextMenuPosition","x","y","overlayRef","_dsSubscription","indexTrackFn","currentContextMenuSender","getContainerElement","addEventListener","e","detectChanges","ngAfterViewInit","paginator","dataSource","newItems","initSystemField","refreshUI","sortChange","pageIndex","tableEvent","sender","_id","numberOfItems","minHeight","toString","refreshColumn","settingsList","settingsName","isDefaultSetting","newSetting","settingIndex","settingName","isCurrentSetting","paginationMode","paginationChange","downloadMode","exportToCsv","filteredData","exportToJson","clearFilter","refreshFilterPredicate","onRowSelection","row","rowSelectable","trackColumn","tableColumns","setFilter","clearSelection","cellTooltipEnabled","closeTooltip","clickable","clickType","rowEvent","CellClick","onSelectActionMenuOption","menuItem","onSelect","time","Date","getTime","contextMenu","closeMenu","contextMenuItems","clientX","clientY","menuData","menu","focusFirstItem","BeforeContextMenuOpen","openMenu","contextMenuItem","RowActionMenu","show","positionStrategy","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","offsetY","create","usingValue","injector","token","_pipe","tooltipRef","attach","destroy","detach","cellEllipsisRow","overflow","headerEllipsisRow","offset","classNames","className","cellIcon","cellName","obj","split","Overlay","TableIntl","TableService","OverlayContainer","OverlayPositionBuilder","ChangeDetectorRef","TableComponent_Query","TableComponent_th_7_Template","TableComponent_td_8_Template","TableComponent_ng_container_9_Template","TableComponent_th_11_Template","TableComponent_th_13_Template","TableComponent_td_14_Template","TableComponent_tr_15_Template","TableComponent_tr_16_Template","TableComponent_tr_17_Template","TableComponent_mat_paginator_18_Template","TableComponent_ng_container_19_Template","_c2","viewportClass","displayedColumns","progressColumn","showNoData","DynamicCellDirective","vc","componentRef","initComponent","setInput","createComponent","updateInput","ViewContainerRef","DynamicPipe","FixedSizeTableVirtualScrollStrategy","indexChange","stickyChange","scrollStrategyMode","renderedRangeStream","start","end","offsetChange","scrolledIndexChange","dataLength","onDataLengthChanged","eventsSubscription","complete","onContentScrolled","updateContent","setTotalContentSize","onContentRendered","onRenderedOffsetChanged","scrollToIndex","behavior","scrollToOffset","setConfig","bufferMultiplier","getViewportSize","clientHeight","getRenderedRange","scrollOffset","measureScrollOffset","amount","ceil","buffer","skip","round","renderedOffset","setRenderedContentOffset","setRenderedRange","SelectionModel","CdkVirtualScrollViewport","MatSort","MatPaginator","MatTable","coerceBool","coerceReadonlyArray","findSettingsValueToUse","TableVirtualScrollDataSource","tableName","ScrollStrategyType","settingColumn","exportable","toExport","enableContextMenu","defaultWidth","endsWith","updateColumn","tablePagingMode","updatePagination","_tablePagination","_rowSelectionModel","_rowSelectionMode","isMultipleSelection","selection","isSelectionColumn","shift","showProgress","headerEnable","dataLen","_paginator","currentOffset","scrollTo","top","numSelected","numRows","select","MasterSelectionChange","selectionModel","toggle","RowSelectionChange","resetPaginator","TableCoreDirective_Query","MatTableDataSource","combineLatest","merge","Observable","ReplaySubject","filterMap","sortingDataAccessor","sortHeaderId","toLocaleLowerCase","allData","fieldName","subscriber","conditionsString","fieldCondition","fieldFilter","array","filterFunction","Function","filterPredicate","pagingData","p","_updateChangeSubscription","initStreams","_sort","internalPageChanges","_internalPageChanges","renderData","_renderData","dataStream","_data","initialized","pageChange","page","_filterData","orderedData","sortColumn","sc","_orderData","paginatedData","_renderChangesSubscription","dataToRender$","dataOfRange$","streamsReady","menuLabels","saveData","noSetting","fullScreen","saveTableSetting","jsonFile","csvFile","filterMode","filterLocalMode","filterServerMode","sortMode","sortLocalMode","sortServerMode","thereIsNoColumn","paginatorLabels","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","getRangeLabel","startIndex","endIndex","filterLabels","Clear","Search","And","Or","Text","TextContains","TextEmpty","TextStartsWith","TextEndsWith","TextEquals","TextNotEmpty","Number","NumberEquals","NumberNotEquals","NumberGreaterThan","NumberLessThan","NumberEmpty","NumberNotEmpty","CategoryContains","CategoryNotContains","Boolean","BooleanEquals","Yes","No","All","forwardRef","VIRTUAL_SCROLL_STRATEGY","takeUntil","takeWhile","_tableVirtualScrollDirectiveStrategyFactory","tableDir","stickyHeaderSelector","stickyFooterSelector","defaults","TableItemSizeDirective","zone","alive","dataSourceChanges","isAlive","isStickyEnabled","table","_headerRowDefs","def","prevState","ngAfterContentInit","switchDataSourceOrigin","_switchDataSource","call","connectDataSource","stickyPositions","initStickyPositions","stickyOffset","setSticky","run","querySelectorAll","el","parentElement","baseOffset","has","offsetTop","NgZone","contentQueries","TableItemSizeDirective_ContentQueries","dirIndex","isNotNullOrUndefined","fallback","TableBooleanComponent","TableBooleanComponent_Template","TableBooleanComponent_mat_icon_0_Template","TableBooleanComponent_mat_icon_1_Template","TableBooleanComponent_mat_icon_2_Template","HttpHeaders","MediaType","TableDlLinkComponent","basePath","idKey","handle","PDF","TableDlLinkComponent_Template","TableDlLinkComponent_Template_a_click_0_listener","ɵɵsanitizeUrl","TableLinkComponent","replace","onRowEvent","TableLinkComponent_Template","ɵɵpropertyInterpolate","statusText","TableStatusComponent","TableStatusComponent_Template","TableStatusComponent_mat_chip_listbox_0_Template","MatChip","MatChipListbox","TableColumnSettingsComponent_div_13_Template_div_click_0_listener","column_r3","onToggleSelectedColumn","TableColumnSettingsComponent_div_16_Template_div_cdkDragDropped_0_listener","handleColumnMenuDropped","TableColumnSettingsComponent_div_16_Template_div_click_0_listener","TableColumnSettingsComponent_div_16_div_1_Template","TableColumnSettingsComponent_div_16_Template_mat_icon_click_2_listener","languagePack","TableColumnSettingsComponent","columnSettingSubject","selectedColumns$","notSelectedColumns$","resetColumnSetting","currentSelectedLength","alphabeticNonSelectedIndex","findLastIndex","col","onSave","onCancel","TableColumnSettingsComponent_Template","TableColumnSettingsComponent_Template_mat_icon_click_4_listener","TableColumnSettingsComponent_div_13_Template","TableColumnSettingsComponent_div_16_Template","TableColumnSettingsComponent_Template_div_click_19_listener","TableColumnSettingsComponent_Template_button_click_21_listener","TableColumnSettingsComponent_ng_template_23_Template","ɵɵtemplateRefExtractor","MatRadioModule","MatCheckboxModule","MatTooltipModule","ColumnSettingsModule","animate","query","stagger","transition","trigger","TextFilter","NumberFilter","BooleanFilter","selectedIndex_r6","op_r5","text","ColumnFilterComponent_ng_template_3_div_0_div_4_Conditional_1_Template_mat_button_toggle_group_ngModelChange_1_listener","ctrl_r8","ColumnFilterComponent_ng_template_3_div_0_div_4_Conditional_2_Template_input_ngModelChange_3_listener","_r9","ColumnFilterComponent_ng_template_3_div_0_div_4_Conditional_2_Template_input_keyup_enter_3_listener","onApplyFilterClick","ColumnFilterComponent_ng_template_3_div_0_div_4_Conditional_1_Template","ColumnFilterComponent_ng_template_3_div_0_div_4_Conditional_2_Template","ColumnFilterComponent_ng_template_3_div_0_Template_mat_select_selectionChange_2_listener","filter_r3","selectedIndex","ColumnFilterComponent_ng_template_3_div_0_Template_mat_select_keyup_enter_2_listener","ColumnFilterComponent_ng_template_3_div_0_mat_option_3_Template","ColumnFilterComponent_ng_template_3_div_0_div_4_Template","getOperations","parameters","ColumnFilterComponent_ng_template_3_div_0_Template","ColumnFilterComponent_ng_template_3_Template_button_click_2_listener","onClearColumnClick","ColumnFilterComponent_ng_template_3_Template_button_click_4_listener","filterMenu_r10","listAnimation","opacity","optional","ColumnFilterComponent","filterList","addNewFilter","showTrigger","menuOpen","service","menuOpened","focusToLastInput","filterInputList","last","focus","ColumnFilterComponent_ContentQueries","ɵɵprojection","ColumnFilterComponent_ng_template_3_Template","ColumnFilterComponent_span_4_Template","MatDividerModule","FilterEventDirective","MatButtonToggleModule","ColumnFilterModule","AbstractFilter","operationList","_selectedIndex","selectedValue","dynamicVariable","modifiedPredicate","statement","toLowerCase","FilterEventDirective_HostBindings","FilterEventDirective_click_HostBindingHandler","RowMenuItemComponent_ng_container_2_button_1_Template_button_click_0_listener","menu_r2","menuButton_OnClick","checkPredicate","innerPanel_r5","RowMenuItemComponent_ng_container_2_ng_template_3_button_0_Template","RowMenuItemComponent_ng_container_2_ng_template_3_mat_divider_1_Template","RowMenuItemComponent_ng_container_2_ng_template_3_Template_inf_table_row_menu_item_rowActionChange_2_listener","divider","submenu","RowMenuItemComponent_ng_container_2_button_1_Template","RowMenuItemComponent_ng_container_2_mat_divider_2_Template","RowMenuItemComponent_ng_container_2_ng_template_3_Template","branch_r6","RowMenuItemComponent","rowActionChange","RowMenuItemComponent_Query","RowMenuItemComponent_ng_container_2_Template","MatDivider","RowMenuComponent","actionMenus","visibleActionMenus","onMenuClick","am","rowActionMenu","visible","color","RowMenuComponent_Template","RowMenuComponent_Template_button_click_0_listener","RowMenuComponent_Template_inf_table_row_menu_item_rowActionChange_4_listener","panel_r2","RowMenuModule","SaveViewComponent_mat_error_13_div_1_Template","titleModel_r2","errors","SaveViewComponent","matDialogRef","audience","filterTitle","SaveViewComponent_Template","SaveViewComponent_Template_mat_icon_click_3_listener","SaveViewComponent_Template_input_ngModelChange_9_listener","SaveViewComponent_mat_error_13_Template","SaveViewComponent_Template_mat_radio_group_ngModelChange_14_listener","SaveViewComponent_Template_div_click_23_listener","SaveViewComponent_Template_button_click_25_listener","invalid","dirty","touched","SaveViewModule","menu_r1","convertMenu_r3","TableMenuComponent_button_5_Template_button_click_0_listener","onColumnSettingClick","TableMenuComponent_button_6_Template_button_click_0_listener","onSaveSettingClick","saveTableSetting_r6","TableMenuComponent_button_10_Template_button_click_0_listener","onNewSettingClick","TableMenuComponent_section_11_Template_section_click_0_listener","_r8","TableMenuComponent_section_11_Template_input_ngModelChange_2_listener","newSettingName","TableMenuComponent_section_11_Template_input_keydown_enter_2_listener","onApplySaveSettingClick","TableMenuComponent_section_11_Template_mat_icon_click_5_listener","onCancelSaveSettingClick","TableMenuComponent_section_11_Template_mat_icon_click_7_listener","TableMenuComponent_section_13_Template_button_click_1_listener","setting_r10","onDefaultClick","TableMenuComponent_section_13_Template_span_click_4_listener","onSelectSettingClick","TableMenuComponent_section_13_Template_mat_icon_click_6_listener","TableMenuComponent_section_13_Template_mat_icon_click_8_listener","onDeleteSettingClick","TableMenuComponent_section_14_Template_section_click_0_listener","TableMenuComponent_button_17_Template_button_click_0_listener","_r12","onDownloadClick","TableMenuComponent_button_18_Template_button_click_0_listener","column_r16","TableMenuComponent_ng_container_21_div_2_Template_div_click_0_listener","TableMenuComponent_ng_container_21_div_2_Template_div_cdkDragDropped_0_listener","TableMenuComponent_ng_container_21_div_2_Template_mat_checkbox_click_3_listener","TableMenuComponent_ng_container_21_div_2_Template_mat_checkbox_change_3_listener","TableMenuComponent_ng_container_21_div_2_div_5_Template","i_r17","TableMenuComponent_ng_container_21_div_2_Template","TableMenuComponent_ng_container_21_Template_button_click_4_listener","_r14","onApplyClick","TableMenuComponent_ng_container_21_Template_button_click_7_listener","onCancelClick","currentTableSetting","TableMenuComponent_div_26_ng_container_1_Template_mat_radio_group_ngModelChange_5_listener","_r19","currentColumn","TableMenuComponent_div_26_ng_container_1_Template_mat_radio_button_click_6_listener","TableMenuComponent_div_26_ng_container_1_Template_mat_radio_button_click_8_listener","TableMenuComponent_div_26_ng_container_2_Template_mat_radio_group_ngModelChange_5_listener","_r20","TableMenuComponent_div_26_ng_container_2_Template_mat_radio_button_click_6_listener","TableMenuComponent_div_26_ng_container_2_Template_mat_radio_button_click_8_listener","TableMenuComponent_div_26_Template_div_click_0_listener","_r18","TableMenuComponent_div_26_ng_container_1_Template","TableMenuComponent_div_26_ng_container_2_Template","isVisible","columnSettingFilter","columnSettingSort","TableMenuComponent","originalTableSetting","menuActionChange","tableSettingChange","showNewSetting","dialogSubscription","columnIndex","saveColumnInfo","requestAnimationFrame","newSettingElement","onClearFilterClick","_ref","_x","apply","arguments","TableMenuComponent_Query","TableMenuComponent_button_0_Template","TableMenuComponent_div_1_Template","TableMenuComponent_button_4_Template","TableMenuComponent_button_5_Template","TableMenuComponent_button_6_Template","TableMenuComponent_button_7_Template","TableMenuComponent_button_10_Template","TableMenuComponent_section_11_Template","TableMenuComponent_section_13_Template","TableMenuComponent_section_14_Template","TableMenuComponent_button_17_Template","TableMenuComponent_button_18_Template","TableMenuComponent_ng_container_21_Template","TableMenuComponent_ng_template_22_Template","TableMenuComponent_div_26_Template","json","csv","noColumns_r21","MatInput","TableMenuModule","TemplateRef","TemplateOrStringDirective","templateOrString","defaultTpl","vcr","createEmbeddedView","TooltipComponent_HostBindings","TooltipComponent_ng_template_1_Template","TooltipDirective","overlayPositionBuilder","TooltipDirective_HostBindings","TooltipDirective_mouseenter_HostBindingHandler","TooltipDirective_mouseleave_HostBindingHandler","TooltipModule","ColumnBuilder","_column","setTitleToCapitalizedKey","at","toUpperCase","setTitle","setType","setCellTooltip","enabled","setCellEllipsisRows","rows","setDynamicCell","cell","setFilterType","setSortType","setWidth","setTypeTextWithServerSideFilteringAndSorting","setTypeTextWithOneLineAndTooltipWithClientFilter","getDateForFilename","_fileSaverService","filename","csvContent","convertTableDataToCsvFormat","Uint8Array","saveBlob","exportableColumns","separator","headerRow","dataRows","search","saveAsJson","loadSavedColumnInfo","columnInfo","saveName","localStorage","loadedInfo","getItem","setItem","FileSaverService","Compiler","COMPILER_OPTIONS","CompilerFactory","MatTableModule","CdkTableModule","MatPaginatorIntl","MatPaginatorModule","MatSortModule","MatProgressSpinnerModule","MatCardModule","JitCompilerFactory","ScrollingModule","MatSlideToggleModule","createCompiler","compilerFactory","tableIntl","paginatorIntl","copyBuffer","cur","Buffer","byteOffset","rfdc","opts","circles","rfdcCircles","cloneArray","fn","a2","ArrayBuffer","isView","clone","o","o2","hasOwnProperty","cloneProto","proto","refs","refsNew","pop","valToClone","BrowserCacheLocation","LogLevel","isIE","navigator","userAgent","flowSignInSignUp","flowPasswordReset","authorityDomain","auth","knownAuthorities","redirectUri","origin","postLogoutRedirectUri","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","loggerCallback","logLevel","piiLoggingEnabled","silentRequest","loginHint","FormlyFieldInput","IsEmail","isPhoneNumber","isPostalCode","validateSync","moment","countryCodeMap","dayjs","whenNonEmptyValue","plzValidator","plz","plzValidatorMessage","euPlzAdresseValidator","_field","plzKey","landKey","plzControl","land","euPlzPostfachValidator","coRegex","coNameValidator","coName","match","coNameValidatorMessage","landValidator","landUpperCase","landValidatorMessage","EmailValidatorClass","__decorate","isValidEmail","emailValidatorObj","emailValidator","emailValidatorMessage","emailsValidator","emails","emailsValidatorMessage","urlValidator","urlValidatorMessage","phoneValidator","phone","validatePhone","maxLength","phoneValidatorMessage","mobilePhoneValidator","validatorResult","mobile","mobilePhoneValidatorMessage","cleanedPhone","replaceAll","startsWithPlus","startsWith","startsWithZero","hasSpecialChars","isValidGermanPhone","isValidInternationalPhone","ibanValidator","iban","ibanValidatorMessage","bicValidator","bic","bicValidatorMessage","dateNotPastValidator","now","startOf","isSameOrAfter","dateNotPast","dateNotPastValidationMessage","scaleValidator","scale","scaleValidatorMessage","integerValidator","String","integer","integerValidatorMessage","numberGreaterEqualsZeroValidator","isNaN","numberGreaterEqualsZero","numberGreaterEqualsZeroValidatorMessage","nullableIntegerValidator","nullableIntegerValidatorMessage","nonEmptyValidator","nonEmpty","nonEmptyValidatorMessage","dateFutureValidator","days","baseDateKey","futureDateKey","baseDate","selectedDate","futureDate","baseField","futureField","isAfter","isSame","extras","renderFormlyFieldElement","lazyRender","validators","validation","validationMessages","types","wrappers","VERSION","BrowserConfigurationAuthError","BrowserUtils","UrlString","concatMap","BaseGuard","parseUrl","getDestinationUrl","getLogger","verbose","baseElements","getElementsByTagName","baseUrl","normalize","pathUrl","prepareExternalUrl","loginInteractively","redirectStartPage","activateHelper","hashContainsKnownProperties","hash","isInIframe","getConfiguration","allowRedirectInIframe","warning","info","loginFailedRoute","currentPath","handleRedirectObservable","urlContainsCode","includesCode","fragmentContainsCode","root","fragment","hashRouting","errorPii","parseInt","major","canActivateChild","canLoad","Location","groups","DSGVO","group","gi","r","mixinHasDestroyed","base","_destroyed","destroyed","mixinHasInitialized","_initialized","markAsInitialized","AsyncOperationState","HttpRequestMethod","filterByPropertyValue","FilterByPropertyValuePipe","property","toRemove","ADMIN_CLAIM_NAME","navigateByUrl","hasRequiredRole","role","THE_DOCUMENT","_document","defaultView","appendChild","removeChild","saveAsCsvWithUtf8Encoding","CSV_UTF8","contentAsString","ActivatedRoute","NavigationEnd","NavigationItems","signalSlice","_initialState","selectedNavigationItem","navItems$","firstLevel","topLevelRoute","selectedNavItem$","expanded$","initialState","sources","actionSources","$","newExpandedState","setSelectedNavigationItem","item$","DOCUMENT","MISSING_NUMBER","MISSING_STRING","coerceNumber","coerceString","coerceArray","NOT_FOUND_INDEX","today","getFullYear","m","getMonth","d","getDate","h","getHours","mi","getMinutes","getSeconds","extractFilenameFromContentDispositionHeader","contentDispositionHeader","filenameToken","filenameTokenIndex","filenameStart","filenameEnd","isTypescriptObject","AufgabenShellComponent_Template","DashboardShellComponent_Template","EinstellungenShellComponent_Template","NewsShellComponent_Template","NutzerShellComponent_Template","OrganisationShellComponent_Template","ToebShellComponent_Template","TransaktionenShellComponent_Template","UnauthorizedComponent_Template","VorgaengeShellComponent_Template","AT","BE","BG","BRD","CY","CZ","D","DE","DK","EE","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","NG_VALUE_ACCESSOR","onChange","onTouched","writeValue","registerOnChange","registerOnTouched","FileValueAccessor_HostBindings","FileValueAccessor_change_HostBindingHandler","FileValueAccessor_blur_HostBindingHandler","matSnackbar","duration","openFromComponent","autoConvertMapToObject","sortByLocalCompare","orderBy","e1","e2","diff","asc","formatDateTime","date","toLocaleDateString","timeZone","day","month","year","hour","minute","formatDate","setA","setB","production","portalUrl","importNutzerTemplate","identityProvider","bootstrapApplication","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[148]}