{"version":3,"file":"main.js","mappings":"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CAAC;;0FAnBU,qBAAqB;0IAArB,qBAAqB;;;;;;;;;;;;;;;;ACR3B,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,gCAAgC,EAAE,gIAAgI;IAClK,qBAAqB,EAAE,gBAAgB;CACxC,CAAC;;;;;;;;;;;;;;;;;;ACJ6C;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/backend-client/api-configuration.ts","./src/app/backend-client/api.module.ts","./src/app/backend-client/base-service.ts","./src/app/backend-client/models/Backend/Core/Infrastructure/Aggregates/Identity/role.ts","./src/app/backend-client/models/SharedKernel/Common/language.ts","./src/app/backend-client/models/SharedKernel/Messaging/SignalR/notification-type.ts","./src/app/backend-client/request-builder.ts","./src/app/backend-client/services.ts","./src/app/backend-client/services/identity-backend.service.ts","./src/app/backend-client/services/product-backend.service.ts","./src/app/backend-client/services/product-document-backend.service.ts","./src/app/backend-client/services/samples-backend.service.ts","./src/app/backend-client/services/subscription-backend.service.ts","./src/app/backend-client/services/subscription-email-backend.service.ts","./src/app/backend-client/services/telemetry-backend.service.ts","./src/app/core/base/mx.base-component.ts","./src/app/core/components/layout/breadcrumb.component.ts","./src/app/core/components/layout/breadcrumb.component.html","./src/app/core/components/layout/config.component.ts","./src/app/core/components/layout/footer.component.ts","./src/app/core/components/layout/inlinemenu.component.ts","./src/app/core/components/layout/inlinemenu.component.html","./src/app/core/components/layout/layout.module.ts","./src/app/core/components/layout/main.component.ts","./src/app/core/components/layout/main.component.html","./src/app/core/components/layout/menu.component.ts","./src/app/core/components/layout/menu.component.html","./src/app/core/components/layout/menuitem.component.ts","./src/app/core/components/layout/topbar.component.ts","./src/app/core/components/mx.overlay/mx.overlay-request-response.interceptor.ts","./src/app/core/components/mx.overlay/mx.overlay.component.ts","./src/app/core/components/mx.overlay/mx.overlay.component.html","./src/app/core/components/mx.overlay/mx.overlay.module.ts","./src/app/core/components/mx.toast/mx.toast.component.ts","./src/app/core/components/mx.toast/mx.toast.component.html","./src/app/core/components/mx.toast/mx.toast.module.ts","./src/app/core/components/pages/mx.pages-routing.module.ts","./src/app/core/components/pages/mx.pages.module.ts","./src/app/core/guards/mx.auth.guard.ts","./src/app/core/initializers/mx.lower-case-url-serializer.ts","./src/app/core/initializers/mx.ordered-initializer.ts","./src/app/core/interceptors/mx.http-header.interceptor.ts","./src/app/core/interceptors/mx.jwt.interceptor.ts","./src/app/core/interceptors/mx.server-error.interceptor.ts","./src/app/core/mx.core.module.ts","./src/app/core/mx.ensure-module-loaded-once.guard.ts","./src/app/core/mx.global-error-handler.ts","./src/app/core/services/index.ts","./src/app/core/services/mx.app-color-scheme.service.ts","./src/app/core/services/mx.app-init.service.ts","./src/app/core/services/mx.app-sidebar.service.ts","./src/app/core/services/mx.breadcrumb.service.ts","./src/app/core/services/mx.browser-storage.service.ts","./src/app/core/services/mx.constans.service.ts","./src/app/core/services/mx.event-bus.service.ts","./src/app/core/services/mx.export.service.ts","./src/app/core/services/mx.filter.service.ts","./src/app/core/services/mx.identity.service.ts","./src/app/core/services/mx.ip.service.ts","./src/app/core/services/mx.logging.service.ts","./src/app/core/services/mx.menu.service.ts","./src/app/core/services/mx.notification.service.ts","./src/app/core/services/mx.query.service.ts","./src/app/core/services/mx.signal-r.service.ts","./src/app/core/services/mx.validation.service.ts","./src/app/core/services/mx.version-check.service.ts","./src/app/core/strategies/mx.preload-modules.strategy.ts","./src/app/core/utils/index.ts","./src/app/core/utils/mx.common.ts","./src/app/core/utils/mx.date.ts","./src/app/core/utils/mx.enum.ts","./src/app/primeng/primeng.module.ts","./src/app/shared/components/mx.components.module.ts","./src/app/shared/components/mx.dialog/mx.dialog.component.ts","./src/app/shared/components/mx.dialog/mx.dialog.component.html","./src/app/shared/components/mx.dialog/mx.dialog.module.ts","./src/app/shared/components/mx.dropdown/mx.dropdown.component.ts","./src/app/shared/components/mx.dropdown/mx.dropdown.component.html","./src/app/shared/components/mx.dropdown/mx.dropdown.module.ts","./src/app/shared/components/mx.file-upload/mx.file-upload.component.ts","./src/app/shared/components/mx.file-upload/mx.file-upload.component.html","./src/app/shared/components/mx.file-upload/mx.file-upload.module.ts","./src/app/shared/components/mx.form-control/mx.form-control-messages/mx.form-control-messages.component.ts","./src/app/shared/components/mx.form-control/mx.form-control-messages/mx.form-control-messages.component.html","./src/app/shared/components/mx.form-control/mx.form-control-messages/mx.form-control-messages.module.ts","./src/app/shared/components/mx.input-switch/mx.input-switch.component.ts","./src/app/shared/components/mx.input-switch/mx.input-switch.component.html","./src/app/shared/components/mx.input-switch/mx.input-switch.module.ts","./src/app/shared/components/mx.multi-select/mx.multi-select.component.ts","./src/app/shared/components/mx.multi-select/mx.multi-select.component.html","./src/app/shared/components/mx.multi-select/mx.multi-select.module.ts","./src/app/shared/components/mx.overlay-panel/mx.overlay-panel.component.ts","./src/app/shared/components/mx.overlay-panel/mx.overlay-panel.component.html","./src/app/shared/components/mx.overlay-panel/mx.overlay-panel.module.ts","./src/app/shared/components/mx.slider/mx.slider.component.ts","./src/app/shared/components/mx.slider/mx.slider.component.html","./src/app/shared/components/mx.slider/mx.slider.module.ts","./src/app/shared/components/mx.table/index.ts","./src/app/shared/components/mx.table/mx.lazy-scroll-table/mx.lazy-scroll-table.component.ts","./src/app/shared/components/mx.table/mx.lazy-scroll-table/mx.lazy-scroll-table.component.html","./src/app/shared/components/mx.table/mx.scroll-table/mx.scroll-table.component.ts","./src/app/shared/components/mx.table/mx.scroll-table/mx.scroll-table.component.html","./src/app/shared/components/mx.table/mx.table-body/mx.table-body.component.ts","./src/app/shared/components/mx.table/mx.table-body/mx.table-body.component.html","./src/app/shared/components/mx.table/mx.table-caption-button/mx.table-caption-button.component.ts","./src/app/shared/components/mx.table/mx.table-caption-button/mx.table-caption-button.component.html","./src/app/shared/components/mx.table/mx.table-caption-split-button/mx.table-caption-split-button.component.ts","./src/app/shared/components/mx.table/mx.table-caption-split-button/mx.table-caption-split-button.component.html","./src/app/shared/components/mx.table/mx.table-caption/mx.table-caption.component.ts","./src/app/shared/components/mx.table/mx.table-caption/mx.table-caption.component.html","./src/app/shared/components/mx.table/mx.table-cell/mx.column-position.pipe.ts","./src/app/shared/components/mx.table/mx.table-cell/mx.table-cell.component.ts","./src/app/shared/components/mx.table/mx.table-cell/mx.table-cell.component.html","./src/app/shared/components/mx.table/mx.table-column-chooser/mx.table-column-chooser.component.ts","./src/app/shared/components/mx.table/mx.table-column-chooser/mx.table-column-chooser.component.html","./src/app/shared/components/mx.table/mx.table-column-filter/mx.table-column-filter.component.ts","./src/app/shared/components/mx.table/mx.table-column-filter/mx.table-column-filter.component.html","./src/app/shared/components/mx.table/mx.table-empty-message/mx.table-empty-message.component.ts","./src/app/shared/components/mx.table/mx.table-empty-message/mx.table-empty-message.component.html","./src/app/shared/components/mx.table/mx.table-header-cell/mx.table-header-cell.component.ts","./src/app/shared/components/mx.table/mx.table-header-cell/mx.table-header-cell.component.html","./src/app/shared/components/mx.table/mx.table-header/mx.table-header.component.ts","./src/app/shared/components/mx.table/mx.table-header/mx.table-header.component.html","./src/app/shared/components/mx.table/mx.table-loading-body/mx.table-loading-body.component.ts","./src/app/shared/components/mx.table/mx.table-loading-body/mx.table-loading-body.component.html","./src/app/shared/components/mx.table/mx.table-mobile-operations-menu/mx.table-mobile-operations-menu.component.ts","./src/app/shared/components/mx.table/mx.table-mobile-operations-menu/mx.table-mobile-operations-menu.component.html","./src/app/shared/components/mx.table/mx.table-operation-button/mx.table-operation-button.component.ts","./src/app/shared/components/mx.table/mx.table-operation-button/mx.table-operation-button.component.html","./src/app/shared/components/mx.table/mx.table-operation-speed-dial/mx.table-operation-speed-dial.component.ts","./src/app/shared/components/mx.table/mx.table-operation-speed-dial/mx.table-operation-speed-dial.component.html","./src/app/shared/components/mx.table/mx.table-operation-tiered-menu-button/mx.table-operation-tiered-menu-button.component.ts","./src/app/shared/components/mx.table/mx.table-operation-tiered-menu-button/mx.table-operation-tiered-menu-button.component.html","./src/app/shared/components/mx.table/mx.table-search/mx.table-search.component.ts","./src/app/shared/components/mx.table/mx.table-search/mx.table-search.component.html","./src/app/shared/components/mx.table/mx.table.module.ts","./src/app/shared/directives/mx.block-copy-paste.directive.ts","./src/app/shared/directives/mx.directives.module.ts","./src/app/shared/directives/mx.ellipsis.directive.ts","./src/app/shared/domains/common/interfaces/index.ts","./src/app/shared/domains/common/interfaces/mx.app-config.interface.ts","./src/app/shared/domains/common/interfaces/mx.datasource.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-column.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-filter-meta-data.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-filter-model.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-filter-sort-meta.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-operation-items.interface.ts","./src/app/shared/domains/common/interfaces/mx.table-options.interface.ts","./src/app/shared/enums/index.ts","./src/app/shared/enums/mx.column-position.enum.ts","./src/app/shared/enums/mx.column-type.enum.ts","./src/app/shared/enums/mx.export-mode.enum.ts","./src/app/shared/mx.shared.module.ts","./src/app/shared/pipes/index.ts","./src/app/shared/pipes/mx.date-ago.pipe.ts","./src/app/shared/pipes/mx.date-format.pipe.ts","./src/app/shared/pipes/mx.enum-as-array.pipe.ts","./src/app/shared/pipes/mx.enum-as-string.pipe.ts","./src/app/shared/pipes/mx.first-letter-operation.pipe.ts","./src/app/shared/pipes/mx.html-to-text.pipe.ts","./src/app/shared/pipes/mx.menu-rights.pipe.ts","./src/app/shared/pipes/mx.pipes.module.ts","./src/app/shared/pipes/mx.table-colored-cell.pipe.ts","./src/app/shared/pipes/mx.table-colored-row.pipe.ts","./src/app/shared/pipes/mx.table-has-filters.pipe.ts","./src/environments/environment.ts","./src/main.ts","/home/vsts/work/1/s/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { MainComponent } from './core/components/layout/main.component';\nimport { MxAuthGuard } from './core/guards/mx.auth.guard';\n\nimport { MxPreloadModulesStrategy } from './core/strategies/mx.preload-modules.strategy';\n\nconst app_routes: Routes = [\n {\n path: '',\n component: MainComponent,\n children: [\n {\n path: '',\n loadChildren: () =>\n import('./features/home/home.module').then((m) => m.HomeModule),\n },\n // {\n // path: 'settings',\n // loadChildren: () =>\n // import('./features/settings/settings.module').then(\n // (m) => m.SettingsModule\n // ),\n // },\n\n {\n path: 'users',\n loadChildren: () =>\n import('./features/users/users.module').then((m) => m.UsersModule),\n },\n {\n path: 'message-us',\n loadChildren: () =>\n import('./features/message-us/message-us.module').then(\n (m) => m.MessageUsModule\n ),\n },\n {\n path: 'products',\n loadChildren: () =>\n import('./features/products/products.module').then(\n (m) => m.ProductsModule\n ),\n },\n {\n path: 'orders',\n loadChildren: () =>\n import('./features/orders/orders.module').then((m) => m.OrdersModule),\n },\n {\n path: 'posts',\n loadChildren: () =>\n import('./features/posts/posts.module').then((m) => m.PostsModule),\n },\n {\n path: 'documents',\n loadChildren: () =>\n import('./features/documents/documents.module').then(\n (m) => m.DocumentsModule\n ),\n },\n {\n path: 'subscriptions',\n loadChildren: () =>\n import('./features/subscriptions/subscriptions.module').then(\n (m) => m.SubscriptionsModule\n ),\n },\n ],\n canActivate: [MxAuthGuard],\n },\n {\n path: 'pages',\n loadChildren: () =>\n import('./core/components/pages/mx.pages-routing.module').then(\n (m) => m.MxPagesRoutingModule\n ),\n },\n { path: '**', redirectTo: '/pages/not-found' },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(app_routes, {\n preloadingStrategy: MxPreloadModulesStrategy,\n scrollPositionRestoration: 'enabled',\n }),\n ],\n exports: [RouterModule],\n providers: [MxPreloadModulesStrategy],\n})\nexport class AppRoutingModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n Data,\n NavigationEnd,\n ResolveEnd,\n Router,\n} from '@angular/router';\nimport {\n I18NextPipe,\n I18NEXT_SERVICE,\n ITranslationService,\n} from 'angular-i18next';\nimport { NgcCookieConsentService } from 'ngx-cookieconsent';\nimport { PrimeNGConfig } from 'primeng/api';\nimport { filter, map, switchMap } from 'rxjs/operators';\nimport {\n MxAppInitService,\n MxBreadcrumbService,\n MxLoggingService,\n} from './core/services';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n appTitle: string;\n\n routerSubscription: any;\n\n constructor(\n private primengConfig: PrimeNGConfig,\n private titleService: Title,\n private breadcrumbService: MxBreadcrumbService,\n private router: Router,\n private route: ActivatedRoute,\n private i18nextPipe: I18NextPipe,\n @Inject(I18NEXT_SERVICE) private i18NextService: ITranslationService,\n private appInitService: MxAppInitService,\n private ccService: NgcCookieConsentService,\n private loggingService: MxLoggingService\n ) {}\n\n ngOnInit() {\n if (!this.appInitService.currentConfig) {\n throw new Error(\n 'Config has not been loaded. Did you forget to call appInit.loadConfig()?'\n );\n }\n\n this.translateCookieConsent();\n\n this.primengConfig.ripple = true;\n\n this.primengConfig.setTranslation(\n this.i18NextService.getResourceBundle(\n this.i18NextService.language,\n 'primeng'\n )\n );\n\n this.appTitle = this.titleService.getTitle();\n\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.route),\n map((route) => {\n let child = this.route.firstChild;\n while (child.firstChild) {\n child = child.firstChild;\n }\n return child;\n }),\n switchMap((route) => route.data)\n )\n .subscribe((data: Data) => {\n this.breadcrumbService.setItems([\n { label: this.i18nextPipe.transform(`page:${data['title']}`) },\n ]);\n this.titleService.setTitle(\n this.appTitle +\n ' | ' +\n this.i18nextPipe.transform(`page:${data['title']}`)\n );\n });\n\n this.router.events\n .pipe(filter((event) => event instanceof ResolveEnd))\n .subscribe((event) => {\n const activatedComponent = this.getActivatedComponent(\n (event as ResolveEnd).state.root\n );\n if (activatedComponent) {\n this.loggingService.logAppInsightsPageView(\n `${activatedComponent.name} ${this.getRouteTemplate(\n (event as ResolveEnd).state.root\n )}`,\n (event as ResolveEnd).urlAfterRedirects\n );\n }\n });\n }\n\n private getActivatedComponent(snapshot: ActivatedRouteSnapshot): any {\n if (snapshot.firstChild) {\n return this.getActivatedComponent(snapshot.firstChild);\n }\n\n return snapshot.component;\n }\n\n private getRouteTemplate(snapshot: ActivatedRouteSnapshot): string {\n let path = '';\n if (snapshot.routeConfig) {\n path += snapshot.routeConfig.path;\n }\n\n if (snapshot.firstChild) {\n return path + this.getRouteTemplate(snapshot.firstChild);\n }\n\n return path;\n }\n\n translateCookieConsent() {\n this.ccService.getConfig().content =\n this.ccService.getConfig().content || {};\n // Override default messages with the translated ones\n this.ccService.getConfig().content.header =\n this.i18nextPipe.transform('cookie:header');\n this.ccService.getConfig().content.message =\n this.i18nextPipe.transform('cookie:message');\n this.ccService.getConfig().content.dismiss =\n this.i18nextPipe.transform('cookie:dismiss');\n this.ccService.getConfig().content.allow =\n this.i18nextPipe.transform('cookie:allow');\n this.ccService.getConfig().content.deny =\n this.i18nextPipe.transform('cookie:deny');\n this.ccService.getConfig().content.link =\n this.i18nextPipe.transform('cookie:link');\n this.ccService.getConfig().content.policy =\n this.i18nextPipe.transform('cookie:policy');\n\n this.ccService.destroy(); // remove previous cookie bar (with default messages)\n this.ccService.init(this.ccService.getConfig()); // update config with translated messages\n }\n}\n","\n\n\n","import { HashLocationStrategy, LocationStrategy } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport timeGridPlugin from '@fullcalendar/timegrid';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { MxCoreModule } from './core/mx.core.module';\nimport { MxSharedModule } from './shared/mx.shared.module';\n\n// Application Components\n// Application services\n// Demo pages\nFullCalendarModule.registerPlugins([\n dayGridPlugin,\n timeGridPlugin,\n interactionPlugin,\n]);\n\n@NgModule({\n imports: [\n BrowserModule,\n FormsModule,\n AppRoutingModule,\n HttpClientModule,\n BrowserAnimationsModule,\n MxCoreModule,\n MxSharedModule,\n FullCalendarModule,\n ],\n declarations: [AppComponent],\n // providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\n\n/**\n * Global configuration\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiConfiguration {\n rootUrl: string = '';\n}\n\n/**\n * Parameters for `ApiModule.forRoot()`\n */\nexport interface ApiConfigurationParams {\n rootUrl?: string;\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ApiConfiguration, ApiConfigurationParams } from './api-configuration';\n\nimport { IdentityBackendService } from './services/identity-backend.service';\nimport { ProductDocumentBackendService } from './services/product-document-backend.service';\nimport { ProductBackendService } from './services/product-backend.service';\nimport { SubscriptionBackendService } from './services/subscription-backend.service';\nimport { SamplesBackendService } from './services/samples-backend.service';\nimport { TelemetryBackendService } from './services/telemetry-backend.service';\nimport { SubscriptionEmailBackendService } from './services/subscription-email-backend.service';\n\n/**\n * Module that provides all services and configuration.\n */\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n IdentityBackendService,\n ProductDocumentBackendService,\n ProductBackendService,\n SubscriptionBackendService,\n SamplesBackendService,\n TelemetryBackendService,\n SubscriptionEmailBackendService,\n ApiConfiguration\n ],\n})\nexport class ApiModule {\n static forRoot(params: ApiConfigurationParams): ModuleWithProviders {\n return {\n ngModule: ApiModule,\n providers: [\n {\n provide: ApiConfiguration,\n useValue: params\n }\n ]\n }\n }\n\n constructor( \n @Optional() @SkipSelf() parentModule: ApiModule,\n @Optional() http: HttpClient\n ) {\n if (parentModule) {\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { ApiConfiguration } from './api-configuration';\n\n/**\n * Base class for services\n */\n@Injectable()\nexport class BaseService {\n constructor(\n protected config: ApiConfiguration,\n protected http: HttpClient\n ) {\n }\n\n private _rootUrl: string = '';\n\n /**\n * Returns the root url for all operations in this service. If not set directly in this\n * service, will fallback to `ApiConfiguration.rootUrl`.\n */\n get rootUrl(): string {\n return this._rootUrl || this.config.rootUrl;\n }\n\n /**\n * Sets the root URL for API operations in this service.\n */\n set rootUrl(rootUrl: string) {\n this._rootUrl = rootUrl;\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\nexport enum Role {\n AccessDenied = 0,\n Normal = 100,\n Administrator = 300,\n Admin = 444\n}\n","/* tslint:disable */\n/* eslint-disable */\n\n/**\n * Available languages\n */\nexport enum Language {\n En = 0,\n Hu = 10\n}\n","/* tslint:disable */\n/* eslint-disable */\nexport enum NotificationType {\n Success = 0,\n Info = 1,\n Warn = 2,\n Error = 3\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { HttpRequest, HttpParameterCodec, HttpParams, HttpHeaders } from '@angular/common/http';\n\n/**\n * Custom parameter codec to correctly handle the plus sign in parameter\n * values. See https://github.com/angular/angular/issues/18261\n */\nclass ParameterCodec implements HttpParameterCodec {\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n }\n\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n }\n\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n}\nconst ParameterCodecInstance = new ParameterCodec();\n\n/**\n * Defines the options for appending a parameter\n */\ninterface ParameterOptions {\n style?: string;\n explode?: boolean;\n}\n\n/**\n * Base class for a parameter\n */\nabstract class Parameter {\n constructor(public name: string, public value: any, public options: ParameterOptions, defaultStyle: string, defaultExplode: boolean) {\n this.options = options || {};\n if (this.options.style === null || this.options.style === undefined) {\n this.options.style = defaultStyle;\n }\n if (this.options.explode === null || this.options.explode === undefined) {\n this.options.explode = defaultExplode;\n }\n }\n\n serializeValue(value: any, separator = ','): string {\n if (value === null || value === undefined) {\n return '';\n } else if (value instanceof Array) {\n return value.map(v => this.serializeValue(v).split(separator).join(encodeURIComponent(separator))).join(separator);\n } else if (typeof value === 'object') {\n const array: string[] = [];\n for (const key of Object.keys(value)) {\n let propVal = value[key];\n if (propVal !== null && propVal !== undefined) {\n propVal = this.serializeValue(propVal).split(separator).join(encodeURIComponent(separator));\n if (this.options.explode) {\n array.push(`${key}=${propVal}`);\n } else {\n array.push(key);\n array.push(propVal);\n }\n }\n }\n return array.join(separator);\n } else {\n return String(value);\n }\n }\n}\n\n/**\n * A parameter in the operation path\n */\nclass PathParameter extends Parameter {\n constructor(name: string, value: any, options: ParameterOptions) {\n super(name, value, options, 'simple', false);\n }\n\n append(path: string): string {\n let value = this.value;\n if (value === null || value === undefined) {\n value = '';\n }\n let prefix = this.options.style === 'label' ? '.' : '';\n let separator = this.options.explode ? prefix === '' ? ',' : prefix : ',';\n let alreadySerialized = false;\n if (this.options.style === 'matrix') {\n // The parameter name is just used as prefix, except in some cases...\n prefix = `;${this.name}=`;\n if (this.options.explode && typeof value === 'object') {\n prefix = ';';\n if (value instanceof Array) {\n // For arrays we have to repeat the name for each element\n value = value.map(v => `${this.name}=${this.serializeValue(v, ';')}`);\n value = value.join(';');\n alreadySerialized = true;\n } else {\n // For objects we have to put each the key / value pairs\n value = this.serializeValue(value, ';');\n alreadySerialized = true\n }\n }\n }\n value = prefix + (alreadySerialized ? value : this.serializeValue(value, separator));\n // Replace both the plain variable and the corresponding variant taking in the prefix and explode into account\n path = path.replace(`{${this.name}}`, value);\n path = path.replace(`{${prefix}${this.name}${this.options.explode ? '*' : ''}}`, value);\n return path;\n }\n\n // @ts-ignore\n serializeValue(value: any, separator = ','): string {\n var result = typeof value === 'string' ? encodeURIComponent(value) : super.serializeValue(value, separator);\n result = result.replace('%3D', '=');\n result = result.replace('%3B', ';');\n result = result.replace('%2C', ',');\n return result;\n }\n}\n\n/**\n * A parameter in the query\n */\nclass QueryParameter extends Parameter {\n constructor(name: string, value: any, options: ParameterOptions) {\n super(name, value, options, 'form', true);\n }\n\n append(params: HttpParams): HttpParams {\n if (this.value instanceof Array) {\n // Array serialization\n if (this.options.explode) {\n for (const v of this.value) {\n params = params.append(this.name, this.serializeValue(v));\n }\n } else {\n const separator = this.options.style === 'spaceDelimited'\n ? ' ' : this.options.style === 'pipeDelimited'\n ? '|' : ',';\n return params.append(this.name, this.serializeValue(this.value, separator));\n }\n } else if (this.value !== null && typeof this.value === 'object') {\n // Object serialization\n if (this.options.style === 'deepObject') {\n // Append a parameter for each key, in the form `name[key]`\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal));\n }\n }\n } else if (this.options.explode) {\n // Append a parameter for each key without using the parameter name\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n params = params.append(key, this.serializeValue(propVal));\n }\n }\n } else {\n // Append a single parameter whose values are a comma-separated list of key,value,key,value...\n const array: any[] = [];\n for (const key of Object.keys(this.value)) {\n const propVal = this.value[key];\n if (propVal !== null && propVal !== undefined) {\n array.push(key);\n array.push(propVal);\n }\n }\n params = params.append(this.name, this.serializeValue(array));\n }\n } else if (this.value !== null && this.value !== undefined) {\n // Plain value\n params = params.append(this.name, this.serializeValue(this.value));\n }\n return params;\n }\n}\n\n/**\n * A parameter in the HTTP request header\n */\nclass HeaderParameter extends Parameter {\n constructor(name: string, value: any, options: ParameterOptions) {\n super(name, value, options, 'simple', false);\n }\n\n append(headers: HttpHeaders): HttpHeaders {\n if (this.value !== null && this.value !== undefined) {\n if (this.value instanceof Array) {\n for (const v of this.value) {\n headers = headers.append(this.name, this.serializeValue(v));\n }\n } else {\n headers = headers.append(this.name, this.serializeValue(this.value));\n }\n }\n return headers;\n }\n}\n\n/**\n * Helper to build http requests from parameters\n */\nexport class RequestBuilder {\n\n private _path = new Map();\n private _query = new Map();\n private _header = new Map();\n _bodyContent: any | null;\n _bodyContentType?: string;\n\n constructor(\n public rootUrl: string,\n public operationPath: string,\n public method: string) {\n }\n\n /**\n * Sets a path parameter\n */\n path(name: string, value: any, options?: ParameterOptions): void {\n this._path.set(name, new PathParameter(name, value, options || {}));\n }\n\n /**\n * Sets a query parameter\n */\n query(name: string, value: any, options?: ParameterOptions): void {\n this._query.set(name, new QueryParameter(name, value, options || {}));\n }\n\n /**\n * Sets a header parameter\n */\n header(name: string, value: any, options?: ParameterOptions): void {\n this._header.set(name, new HeaderParameter(name, value, options || {}));\n }\n\n /**\n * Sets the body content, along with the content type\n */\n body(value: any, contentType = 'application/json'): void {\n if (value instanceof Blob) {\n this._bodyContentType = value.type;\n } else {\n this._bodyContentType = contentType;\n }\n if (this._bodyContentType === 'application/x-www-form-urlencoded' && value !== null && typeof value === 'object') {\n // Handle URL-encoded data\n const pairs: Array<[string, string]> = [];\n for (const key of Object.keys(value)) {\n let val = value[key];\n if (!(val instanceof Array)) {\n val = [val];\n }\n for (const v of val) {\n const formValue = this.formDataValue(v);\n if (formValue !== null) {\n pairs.push([key, formValue]);\n }\n }\n }\n this._bodyContent = pairs.map(p => `${encodeURIComponent(p[0])}=${encodeURIComponent(p[1])}`).join('&');\n } else if (this._bodyContentType === 'multipart/form-data') {\n // Handle multipart form data\n const formData = new FormData();\n if (value !== null && value !== undefined) {\n for (const key of Object.keys(value)) {\n const val = value[key];\n if (val instanceof Array) {\n for (const v of val) {\n const toAppend = this.formDataValue(v);\n if (toAppend !== null) {\n formData.append(key, toAppend);\n }\n }\n } else {\n const toAppend = this.formDataValue(val);\n if (toAppend !== null) {\n formData.set(key, toAppend);\n }\n }\n }\n }\n this._bodyContent = formData;\n } else {\n // The body is the plain content\n this._bodyContent = value;\n }\n }\n\n private formDataValue(value: any): any {\n if (value === null || value === undefined) {\n return null;\n }\n if (value instanceof Blob) {\n return value;\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n\n /**\n * Builds the request with the current set parameters\n */\n build(options?: {\n /** Which content types to accept */\n accept?: string;\n\n /** The expected response type */\n responseType?: 'json' | 'text' | 'blob' | 'arraybuffer';\n\n /** Whether to report progress on uploads / downloads */\n reportProgress?: boolean;\n }): HttpRequest {\n\n options = options || {};\n\n // Path parameters\n let path = this.operationPath;\n for (const pathParam of this._path.values()) {\n path = pathParam.append(path);\n }\n const url = this.rootUrl + path;\n\n // Query parameters\n let httpParams = new HttpParams({\n encoder: ParameterCodecInstance\n });\n for (const queryParam of this._query.values()) {\n httpParams = queryParam.append(httpParams);\n }\n\n // Header parameters\n let httpHeaders = new HttpHeaders();\n if (options.accept) {\n httpHeaders = httpHeaders.append('Accept', options.accept);\n }\n for (const headerParam of this._header.values()) {\n httpHeaders = headerParam.append(httpHeaders);\n }\n\n // Request content headers\n if (this._bodyContentType && !(this._bodyContent instanceof FormData)) {\n httpHeaders = httpHeaders.set('Content-Type', this._bodyContentType);\n }\n\n // Perform the request\n return new HttpRequest(this.method.toUpperCase(), url, this._bodyContent, {\n params: httpParams,\n headers: httpHeaders,\n responseType: options.responseType,\n reportProgress: options.reportProgress\n });\n }\n}\n","export { IdentityBackendService } from './services/identity-backend.service';\nexport { ProductDocumentBackendService } from './services/product-document-backend.service';\nexport { ProductBackendService } from './services/product-backend.service';\nexport { SubscriptionBackendService } from './services/subscription-backend.service';\nexport { SamplesBackendService } from './services/samples-backend.service';\nexport { TelemetryBackendService } from './services/telemetry-backend.service';\nexport { SubscriptionEmailBackendService } from './services/subscription-email-backend.service';\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { AccountCollectionResponse as BackendCoreApiModelsIdentityAccountCollectionResponse } from '../models/Backend/Core/Api/Models/Identity/account-collection-response';\nimport { AuthenticateRequest as BackendCoreApiModelsIdentityAuthenticateRequest } from '../models/Backend/Core/Api/Models/Identity/authenticate-request';\nimport { AuthenticateResponse as BackendCoreApiModelsIdentityAuthenticateResponse } from '../models/Backend/Core/Api/Models/Identity/authenticate-response';\nimport { ChangePasswordRequest as BackendCoreApiModelsIdentityChangePasswordRequest } from '../models/Backend/Core/Api/Models/Identity/change-password-request';\nimport { DestroyAccountRequest as BackendCoreApiModelsIdentityDestroyAccountRequest } from '../models/Backend/Core/Api/Models/Identity/destroy-account-request';\nimport { ForgotPasswordRequest as BackendCoreApiModelsIdentityForgotPasswordRequest } from '../models/Backend/Core/Api/Models/Identity/forgot-password-request';\nimport { InternalDestroyAccountRequest as BackendCoreApiModelsIdentityInternalDestroyAccountRequest } from '../models/Backend/Core/Api/Models/Identity/internal-destroy-account-request';\nimport { RegisterExternalAccountRequest as BackendCoreApiModelsIdentityRegisterExternalAccountRequest } from '../models/Backend/Core/Api/Models/Identity/register-external-account-request';\nimport { RegisterInternalAccountRequest as BackendCoreApiModelsIdentityRegisterInternalAccountRequest } from '../models/Backend/Core/Api/Models/Identity/register-internal-account-request';\nimport { ResetPasswordRequest as BackendCoreApiModelsIdentityResetPasswordRequest } from '../models/Backend/Core/Api/Models/Identity/reset-password-request';\nimport { VerifyAccountRequest as BackendCoreApiModelsIdentityVerifyAccountRequest } from '../models/Backend/Core/Api/Models/Identity/verify-account-request';\nimport { VerifyDestroyTokenRequest as BackendCoreApiModelsIdentityVerifyDestroyTokenRequest } from '../models/Backend/Core/Api/Models/Identity/verify-destroy-token-request';\nimport { VerifyResetTokenRequest as BackendCoreApiModelsIdentityVerifyResetTokenRequest } from '../models/Backend/Core/Api/Models/Identity/verify-reset-token-request';\nimport { SimpleResponse as SharedKernelModelsSimpleResponse } from '../models/SharedKernel/Models/simple-response';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IdentityBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation authenticate\n */\n static readonly AuthenticatePath = '/api/identity/authenticate';\n\n /**\n * Authenticate user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `authenticate$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n authenticate$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.AuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Authenticate user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `authenticate$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n authenticate$Plain(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable {\n\n return this.authenticate$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Authenticate user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `authenticate$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n authenticate$Json$Response(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.AuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Authenticate user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `authenticate$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n authenticate$Json(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable {\n\n return this.authenticate$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Path part for operation changePassword\n */\n static readonly ChangePasswordPath = '/api/identity/change-password';\n\n /**\n * Change password for authenticated account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `changePassword$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n changePassword$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityChangePasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ChangePasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Change password for authenticated account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `changePassword$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n changePassword$Plain(params: {\n body: BackendCoreApiModelsIdentityChangePasswordRequest\n }): Observable {\n\n return this.changePassword$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Change password for authenticated account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `changePassword$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n changePassword$Json$Response(params: {\n body: BackendCoreApiModelsIdentityChangePasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ChangePasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Change password for authenticated account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `changePassword$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n changePassword$Json(params: {\n body: BackendCoreApiModelsIdentityChangePasswordRequest\n }): Observable {\n\n return this.changePassword$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation destroyAccount\n */\n static readonly DestroyAccountPath = '/api/identity/destroy-account';\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `destroyAccount$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n destroyAccount$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityDestroyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.DestroyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `destroyAccount$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n destroyAccount$Plain(params: {\n body: BackendCoreApiModelsIdentityDestroyAccountRequest\n }): Observable {\n\n return this.destroyAccount$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `destroyAccount$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n destroyAccount$Json$Response(params: {\n body: BackendCoreApiModelsIdentityDestroyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.DestroyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `destroyAccount$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n destroyAccount$Json(params: {\n body: BackendCoreApiModelsIdentityDestroyAccountRequest\n }): Observable {\n\n return this.destroyAccount$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation forgotPassword\n */\n static readonly ForgotPasswordPath = '/api/identity/forgot-password';\n\n /**\n * Forgot password.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `forgotPassword$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n forgotPassword$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityForgotPasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ForgotPasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Forgot password.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `forgotPassword$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n forgotPassword$Plain(params: {\n body: BackendCoreApiModelsIdentityForgotPasswordRequest\n }): Observable {\n\n return this.forgotPassword$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Forgot password.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `forgotPassword$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n forgotPassword$Json$Response(params: {\n body: BackendCoreApiModelsIdentityForgotPasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ForgotPasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Forgot password.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `forgotPassword$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n forgotPassword$Json(params: {\n body: BackendCoreApiModelsIdentityForgotPasswordRequest\n }): Observable {\n\n return this.forgotPassword$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation initiateDestroyAccount\n */\n static readonly InitiateDestroyAccountPath = '/api/identity/initiate-destroy-account';\n\n /**\n * Initiate full deletion of a user account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `initiateDestroyAccount$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n initiateDestroyAccount$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.InitiateDestroyAccountPath, 'delete');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Initiate full deletion of a user account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `initiateDestroyAccount$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n initiateDestroyAccount$Plain(params?: {\n }): Observable {\n\n return this.initiateDestroyAccount$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Initiate full deletion of a user account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `initiateDestroyAccount$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n initiateDestroyAccount$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.InitiateDestroyAccountPath, 'delete');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Initiate full deletion of a user account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `initiateDestroyAccount$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n initiateDestroyAccount$Json(params?: {\n }): Observable {\n\n return this.initiateDestroyAccount$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation internalDestroyAccount\n */\n static readonly InternalDestroyAccountPath = '/api/identity/destroy-account-internal';\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `internalDestroyAccount$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n internalDestroyAccount$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityInternalDestroyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.InternalDestroyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `internalDestroyAccount$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n internalDestroyAccount$Plain(params: {\n body: BackendCoreApiModelsIdentityInternalDestroyAccountRequest\n }): Observable {\n\n return this.internalDestroyAccount$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `internalDestroyAccount$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n internalDestroyAccount$Json$Response(params: {\n body: BackendCoreApiModelsIdentityInternalDestroyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.InternalDestroyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Destroy a user account. Irreversible user account deletion. Deletes all connected records in database.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `internalDestroyAccount$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n internalDestroyAccount$Json(params: {\n body: BackendCoreApiModelsIdentityInternalDestroyAccountRequest\n }): Observable {\n\n return this.internalDestroyAccount$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation getExternalUsers\n */\n static readonly GetExternalUsersPath = '/api/app/identity/external-users';\n\n /**\n * Gets external accounts.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getExternalUsers$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n getExternalUsers$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.GetExternalUsersPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Gets external accounts.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getExternalUsers$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getExternalUsers$Plain(params?: {\n }): Observable {\n\n return this.getExternalUsers$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n /**\n * Gets external accounts.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getExternalUsers$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n getExternalUsers$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.GetExternalUsersPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Gets external accounts.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getExternalUsers$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getExternalUsers$Json(params?: {\n }): Observable {\n\n return this.getExternalUsers$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getInternalUsers\n */\n static readonly GetInternalUsersPath = '/api/app/identity/internal-users';\n\n /**\n * Gets internal accounts.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getInternalUsers$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n getInternalUsers$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.GetInternalUsersPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Gets internal accounts.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getInternalUsers$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getInternalUsers$Plain(params?: {\n }): Observable {\n\n return this.getInternalUsers$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n /**\n * Gets internal accounts.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getInternalUsers$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n getInternalUsers$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.GetInternalUsersPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Gets internal accounts.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getInternalUsers$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getInternalUsers$Json(params?: {\n }): Observable {\n\n return this.getInternalUsers$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n /**\n * Path part for operation preAuthenticate\n */\n static readonly PreAuthenticatePath = '/api/identity/pre-authenticate';\n\n /**\n * Pre authenticate user (MFA).\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `preAuthenticate$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n preAuthenticate$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.PreAuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Pre authenticate user (MFA).\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `preAuthenticate$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n preAuthenticate$Plain(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable {\n\n return this.preAuthenticate$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Pre authenticate user (MFA).\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `preAuthenticate$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n preAuthenticate$Json$Response(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.PreAuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Pre authenticate user (MFA).\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `preAuthenticate$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n preAuthenticate$Json(params: {\n body: BackendCoreApiModelsIdentityAuthenticateRequest\n }): Observable {\n\n return this.preAuthenticate$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation refreshToken\n */\n static readonly RefreshTokenPath = '/api/identity/refresh-token';\n\n /**\n * Refresh users token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `refreshToken$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n refreshToken$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RefreshTokenPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Refresh users token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `refreshToken$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n refreshToken$Plain(params?: {\n }): Observable {\n\n return this.refreshToken$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Refresh users token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `refreshToken$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n refreshToken$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RefreshTokenPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Refresh users token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `refreshToken$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n refreshToken$Json(params?: {\n }): Observable {\n\n return this.refreshToken$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Path part for operation registerExternalUser\n */\n static readonly RegisterExternalUserPath = '/api/identity/register-external';\n\n /**\n * Registers a new external user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `registerExternalUser$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerExternalUser$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityRegisterExternalAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RegisterExternalUserPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Registers a new external user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `registerExternalUser$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerExternalUser$Plain(params: {\n body: BackendCoreApiModelsIdentityRegisterExternalAccountRequest\n }): Observable {\n\n return this.registerExternalUser$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Registers a new external user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `registerExternalUser$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerExternalUser$Json$Response(params: {\n body: BackendCoreApiModelsIdentityRegisterExternalAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RegisterExternalUserPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Registers a new external user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `registerExternalUser$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerExternalUser$Json(params: {\n body: BackendCoreApiModelsIdentityRegisterExternalAccountRequest\n }): Observable {\n\n return this.registerExternalUser$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation registerInternalUser\n */\n static readonly RegisterInternalUserPath = '/api/identity/register-internal';\n\n /**\n * Registers a new internal user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `registerInternalUser$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerInternalUser$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityRegisterInternalAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RegisterInternalUserPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Registers a new internal user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `registerInternalUser$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerInternalUser$Plain(params: {\n body: BackendCoreApiModelsIdentityRegisterInternalAccountRequest\n }): Observable {\n\n return this.registerInternalUser$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Registers a new internal user.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `registerInternalUser$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerInternalUser$Json$Response(params: {\n body: BackendCoreApiModelsIdentityRegisterInternalAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RegisterInternalUserPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Registers a new internal user.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `registerInternalUser$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n registerInternalUser$Json(params: {\n body: BackendCoreApiModelsIdentityRegisterInternalAccountRequest\n }): Observable {\n\n return this.registerInternalUser$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation resetPassword\n */\n static readonly ResetPasswordPath = '/api/identity/reset-password';\n\n /**\n * Reset password.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `resetPassword$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n resetPassword$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityResetPasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ResetPasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Reset password.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `resetPassword$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n resetPassword$Plain(params: {\n body: BackendCoreApiModelsIdentityResetPasswordRequest\n }): Observable {\n\n return this.resetPassword$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Reset password.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `resetPassword$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n resetPassword$Json$Response(params: {\n body: BackendCoreApiModelsIdentityResetPasswordRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.ResetPasswordPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Reset password.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `resetPassword$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n resetPassword$Json(params: {\n body: BackendCoreApiModelsIdentityResetPasswordRequest\n }): Observable {\n\n return this.resetPassword$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation revokeToken\n */\n static readonly RevokeTokenPath = '/api/identity/revoke-token';\n\n /**\n * Revoke token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `revokeToken$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n revokeToken$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RevokeTokenPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Revoke token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `revokeToken$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n revokeToken$Plain(params?: {\n }): Observable {\n\n return this.revokeToken$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Revoke token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `revokeToken$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n revokeToken$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.RevokeTokenPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Revoke token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `revokeToken$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n revokeToken$Json(params?: {\n }): Observable {\n\n return this.revokeToken$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation verifyAccount\n */\n static readonly VerifyAccountPath = '/api/identity/verify-account';\n\n /**\n * Verify a new user account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyAccount$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccount$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verify a new user account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyAccount$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccount$Plain(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable {\n\n return this.verifyAccount$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Verify a new user account.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyAccount$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccount$Json$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyAccountPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verify a new user account.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyAccount$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccount$Json(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable {\n\n return this.verifyAccount$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation verifyAccountThenAuthenticate\n */\n static readonly VerifyAccountThenAuthenticatePath = '/api/identity/verify-account-auth';\n\n /**\n * Verify a new user account and authenticate.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyAccountThenAuthenticate$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccountThenAuthenticate$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyAccountThenAuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verify a new user account and authenticate.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyAccountThenAuthenticate$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccountThenAuthenticate$Plain(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable {\n\n return this.verifyAccountThenAuthenticate$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Verify a new user account and authenticate.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyAccountThenAuthenticate$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccountThenAuthenticate$Json$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyAccountThenAuthenticatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verify a new user account and authenticate.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyAccountThenAuthenticate$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyAccountThenAuthenticate$Json(params: {\n body: BackendCoreApiModelsIdentityVerifyAccountRequest\n }): Observable {\n\n return this.verifyAccountThenAuthenticate$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAuthenticateResponse)\n );\n }\n\n /**\n * Path part for operation verifyDestroyToken\n */\n static readonly VerifyDestroyTokenPath = '/api/identity/verify-destroy-token';\n\n /**\n * Verifies destroy account token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyDestroyToken$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyDestroyToken$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyDestroyTokenRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyDestroyTokenPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verifies destroy account token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyDestroyToken$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyDestroyToken$Plain(params: {\n body: BackendCoreApiModelsIdentityVerifyDestroyTokenRequest\n }): Observable {\n\n return this.verifyDestroyToken$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Verifies destroy account token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyDestroyToken$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyDestroyToken$Json$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyDestroyTokenRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyDestroyTokenPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verifies destroy account token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyDestroyToken$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyDestroyToken$Json(params: {\n body: BackendCoreApiModelsIdentityVerifyDestroyTokenRequest\n }): Observable {\n\n return this.verifyDestroyToken$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation verifyResetToken\n */\n static readonly VerifyResetTokenPath = '/api/identity/verify-reset-token';\n\n /**\n * Verifies password reset token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyResetToken$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyResetToken$Plain$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyResetTokenRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyResetTokenPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verifies password reset token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyResetToken$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyResetToken$Plain(params: {\n body: BackendCoreApiModelsIdentityVerifyResetTokenRequest\n }): Observable {\n\n return this.verifyResetToken$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Verifies password reset token.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `verifyResetToken$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyResetToken$Json$Response(params: {\n body: BackendCoreApiModelsIdentityVerifyResetTokenRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, IdentityBackendService.VerifyResetTokenPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Verifies password reset token.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `verifyResetToken$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n verifyResetToken$Json(params: {\n body: BackendCoreApiModelsIdentityVerifyResetTokenRequest\n }): Observable {\n\n return this.verifyResetToken$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { CreateProductCategoryPostRequest as BackendCoreApiModelsAppCreateProductCategoryPostRequest } from '../models/Backend/Core/Api/Models/App/create-product-category-post-request';\nimport { CreateProductPostRequest as BackendCoreApiModelsAppCreateProductPostRequest } from '../models/Backend/Core/Api/Models/App/create-product-post-request';\nimport { PinPostRequest as BackendCoreApiModelsAppPinPostRequest } from '../models/Backend/Core/Api/Models/App/pin-post-request';\nimport { GetProductCategoryResponse as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse } from '../models/Backend/Core/Api/Models/App/Product/Category/get-product-category-response';\nimport { ProductCategoryCollectionResponse as BackendCoreApiModelsAppProductCategoryProductCategoryCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/Category/product-category-collection-response';\nimport { ProductCategoryRequest as BackendCoreApiModelsAppProductCategoryProductCategoryRequest } from '../models/Backend/Core/Api/Models/App/Product/Category/product-category-request';\nimport { CollectionBaseRequest as BackendCoreApiModelsAppProductCollectionBaseRequest } from '../models/Backend/Core/Api/Models/App/Product/collection-base-request';\nimport { CollectionByProductCategoryRequest as BackendCoreApiModelsAppProductCollectionByProductCategoryRequest } from '../models/Backend/Core/Api/Models/App/Product/collection-by-product-category-request';\nimport { ChangeProductStateRequest as BackendCoreApiModelsAppProductOrderChangeProductStateRequest } from '../models/Backend/Core/Api/Models/App/Product/Order/change-product-state-request';\nimport { CreateProductOrderRequest as BackendCoreApiModelsAppProductOrderCreateProductOrderRequest } from '../models/Backend/Core/Api/Models/App/Product/Order/create-product-order-request';\nimport { ProductOrderCollectionResponse as BackendCoreApiModelsAppProductOrderProductOrderCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/Order/product-order-collection-response';\nimport { PostCollectionResponse as BackendCoreApiModelsAppProductPostPostCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/Post/post-collection-response';\nimport { ProductCollectionResponse as BackendCoreApiModelsAppProductProductCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/product-collection-response';\nimport { ProductSelectorCollectionResponse as BackendCoreApiModelsAppProductProductSelectorCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/product-selector-collection-response';\nimport { RemovePostRequest as BackendCoreApiModelsAppRemovePostRequest } from '../models/Backend/Core/Api/Models/App/remove-post-request';\nimport { UpdateProductCategoryPostRequest as BackendCoreApiModelsAppUpdateProductCategoryPostRequest } from '../models/Backend/Core/Api/Models/App/update-product-category-post-request';\nimport { UpdateProductPostRequest as BackendCoreApiModelsAppUpdateProductPostRequest } from '../models/Backend/Core/Api/Models/App/update-product-post-request';\nimport { SimpleResponse as SharedKernelModelsSimpleResponse } from '../models/SharedKernel/Models/simple-response';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation createProductOrder\n */\n static readonly CreateProductOrderPath = '/api/product-order/create';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductOrder$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductOrder$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductOrderCreateProductOrderRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductOrderPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductOrder$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductOrder$Plain(params?: {\n body?: BackendCoreApiModelsAppProductOrderCreateProductOrderRequest\n }): Observable {\n\n return this.createProductOrder$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductOrder$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductOrder$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductOrderCreateProductOrderRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductOrderPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductOrder$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductOrder$Json(params?: {\n body?: BackendCoreApiModelsAppProductOrderCreateProductOrderRequest\n }): Observable {\n\n return this.createProductOrder$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation createProductPost\n */\n static readonly CreateProductPostPath = '/api/product/create-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppCreateProductPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductPost$Plain(params?: {\n body?: BackendCoreApiModelsAppCreateProductPostRequest\n }): Observable {\n\n return this.createProductPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppCreateProductPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductPost$Json(params?: {\n body?: BackendCoreApiModelsAppCreateProductPostRequest\n }): Observable {\n\n return this.createProductPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation createProductCategoryPost\n */\n static readonly CreateProductCategoryPostPath = '/api/product-categories/create-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductCategoryPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductCategoryPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppCreateProductCategoryPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductCategoryPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductCategoryPost$Plain(params?: {\n body?: BackendCoreApiModelsAppCreateProductCategoryPostRequest\n }): Observable {\n\n return this.createProductCategoryPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductCategoryPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductCategoryPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppCreateProductCategoryPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.CreateProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductCategoryPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createProductCategoryPost$Json(params?: {\n body?: BackendCoreApiModelsAppCreateProductCategoryPostRequest\n }): Observable {\n\n return this.createProductCategoryPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation removeProductPost\n */\n static readonly RemoveProductPostPath = '/api/product/remove-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.RemoveProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductPost$Plain(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable {\n\n return this.removeProductPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.RemoveProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductPost$Json(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable {\n\n return this.removeProductPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation setProductState\n */\n static readonly SetProductStatePath = '/api/product/set-product-state';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `setProductState$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n setProductState$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductOrderChangeProductStateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.SetProductStatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `setProductState$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n setProductState$Plain(params?: {\n body?: BackendCoreApiModelsAppProductOrderChangeProductStateRequest\n }): Observable {\n\n return this.setProductState$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `setProductState$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n setProductState$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductOrderChangeProductStateRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.SetProductStatePath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `setProductState$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n setProductState$Json(params?: {\n body?: BackendCoreApiModelsAppProductOrderChangeProductStateRequest\n }): Observable {\n\n return this.setProductState$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation removeProductCategoryPost\n */\n static readonly RemoveProductCategoryPostPath = '/api/product-categories/remove-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductCategoryPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductCategoryPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.RemoveProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductCategoryPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductCategoryPost$Plain(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable {\n\n return this.removeProductCategoryPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductCategoryPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductCategoryPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.RemoveProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductCategoryPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductCategoryPost$Json(params?: {\n body?: BackendCoreApiModelsAppRemovePostRequest\n }): Observable {\n\n return this.removeProductCategoryPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation getProductCategory\n */\n static readonly GetProductCategoryPath = '/api/product-category';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategory$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategory$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategory$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategory$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable {\n\n return this.getProductCategory$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategory$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategory$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategory$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategory$Json(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable {\n\n return this.getProductCategory$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse)\n );\n }\n\n /**\n * Path part for operation getProductPosts\n */\n static readonly GetProductPostsPath = '/api/product/posts';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductPosts$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductPosts$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionBaseRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductPostsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductPosts$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductPosts$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionBaseRequest\n }): Observable {\n\n return this.getProductPosts$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductPosts$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductPosts$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionBaseRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductPostsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductPosts$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductPosts$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionBaseRequest\n }): Observable {\n\n return this.getProductPosts$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProducts\n */\n static readonly GetProductsPath = '/api/product-categories/products';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProducts$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProducts$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProducts$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProducts$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProducts$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProducts$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProducts$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProducts$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProducts$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProducts$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductCategoryPosts\n */\n static readonly GetProductCategoryPostsPath = '/api/product-categories/posts';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategoryPosts$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPosts$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPostsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategoryPosts$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPosts$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductCategoryPosts$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategoryPosts$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPosts$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPostsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategoryPosts$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPosts$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductCategoryPosts$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductOrders\n */\n static readonly GetProductOrdersPath = '/api/product-categories/orders';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductOrders$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductOrders$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductOrdersPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductOrders$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductOrders$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductOrders$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductOrderProductOrderCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductOrders$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductOrders$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductOrdersPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductOrders$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductOrders$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductOrders$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductOrderProductOrderCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductCategories\n */\n static readonly GetProductCategoriesPath = '/api/product-categories';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategories$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategories$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoriesPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategories$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategories$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable {\n\n return this.getProductCategories$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryProductCategoryCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategories$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategories$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoriesPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategories$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategories$Json(params?: {\n body?: BackendCoreApiModelsAppProductCategoryProductCategoryRequest\n }): Observable {\n\n return this.getProductCategories$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryProductCategoryCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductsForAdministration\n */\n static readonly GetProductsForAdministrationPath = '/api/product-categories/products-admin';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductsForAdministration$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductsForAdministration$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductsForAdministrationPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductsForAdministration$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductsForAdministration$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductsForAdministration$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductsForAdministration$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductsForAdministration$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductsForAdministrationPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductsForAdministration$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductsForAdministration$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductsForAdministration$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductCategoryPostsAdmin\n */\n static readonly GetProductCategoryPostsAdminPath = '/api/product-categories/posts-admin';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategoryPostsAdmin$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPostsAdmin$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPostsAdminPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategoryPostsAdmin$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPostsAdmin$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductCategoryPostsAdmin$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductCategoryPostsAdmin$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPostsAdmin$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductCategoryPostsAdminPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductCategoryPostsAdmin$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductCategoryPostsAdmin$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductCategoryPostsAdmin$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductPostPostCollectionResponse)\n );\n }\n\n /**\n * Path part for operation getProductSelectors\n */\n static readonly GetProductSelectorsPath = '/api/product-categories/product-selectors';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductSelectors$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductSelectors$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductSelectorsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductSelectors$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductSelectors$Plain(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductSelectors$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductSelectorCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductSelectors$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductSelectors$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.GetProductSelectorsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductSelectors$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductSelectors$Json(params?: {\n body?: BackendCoreApiModelsAppProductCollectionByProductCategoryRequest\n }): Observable {\n\n return this.getProductSelectors$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductProductSelectorCollectionResponse)\n );\n }\n\n /**\n * Path part for operation pinProductCategoryPost\n */\n static readonly PinProductCategoryPostPath = '/api/product-categories/pin-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `pinProductCategoryPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductCategoryPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.PinProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `pinProductCategoryPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductCategoryPost$Plain(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable {\n\n return this.pinProductCategoryPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `pinProductCategoryPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductCategoryPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.PinProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `pinProductCategoryPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductCategoryPost$Json(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable {\n\n return this.pinProductCategoryPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation pinProductPost\n */\n static readonly PinProductPostPath = '/api/product/pin-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `pinProductPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.PinProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `pinProductPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductPost$Plain(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable {\n\n return this.pinProductPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `pinProductPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.PinProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `pinProductPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n pinProductPost$Json(params?: {\n body?: BackendCoreApiModelsAppPinPostRequest\n }): Observable {\n\n return this.pinProductPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation updateProductPost\n */\n static readonly UpdateProductPostPath = '/api/product/update-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateProductPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppUpdateProductPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.UpdateProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateProductPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductPost$Plain(params?: {\n body?: BackendCoreApiModelsAppUpdateProductPostRequest\n }): Observable {\n\n return this.updateProductPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateProductPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppUpdateProductPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.UpdateProductPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateProductPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductPost$Json(params?: {\n body?: BackendCoreApiModelsAppUpdateProductPostRequest\n }): Observable {\n\n return this.updateProductPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation updateProductCategoryPost\n */\n static readonly UpdateProductCategoryPostPath = '/api/product-categories/update-post';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateProductCategoryPost$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductCategoryPost$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppUpdateProductCategoryPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.UpdateProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateProductCategoryPost$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductCategoryPost$Plain(params?: {\n body?: BackendCoreApiModelsAppUpdateProductCategoryPostRequest\n }): Observable {\n\n return this.updateProductCategoryPost$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateProductCategoryPost$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductCategoryPost$Json$Response(params?: {\n body?: BackendCoreApiModelsAppUpdateProductCategoryPostRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductBackendService.UpdateProductCategoryPostPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateProductCategoryPost$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateProductCategoryPost$Json(params?: {\n body?: BackendCoreApiModelsAppUpdateProductCategoryPostRequest\n }): Observable {\n\n return this.updateProductCategoryPost$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { GetProductCategoryResponse as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse } from '../models/Backend/Core/Api/Models/App/Product/Category/get-product-category-response';\nimport { GetDocumentRequest as BackendCoreApiModelsAppProductDocumentGetDocumentRequest } from '../models/Backend/Core/Api/Models/App/Product/Document/get-document-request';\nimport { ProductDocumentCollectionResponse as BackendCoreApiModelsAppProductDocumentProductDocumentCollectionResponse } from '../models/Backend/Core/Api/Models/App/Product/Document/product-document-collection-response';\nimport { RemoveDocumentRequest as BackendCoreApiModelsAppRemoveDocumentRequest } from '../models/Backend/Core/Api/Models/App/remove-document-request';\nimport { SimpleResponse as SharedKernelModelsSimpleResponse } from '../models/SharedKernel/Models/simple-response';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductDocumentBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation createProductDocument\n */\n static readonly CreateProductDocumentPath = '/api/product/document/create';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductDocument$Plain()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n createProductDocument$Plain$Response(params?: {\n body?: {\n\n/**\n * ProductId\n */\n'ProductId'?: number;\n\n/**\n * Name\n */\n'Name'?: string;\n\n/**\n * Link\n */\n'Link'?: string;\n\n/**\n * File\n */\n'File'?: Blob;\n\n/**\n * Leírás\n */\n'Description'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.CreateProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductDocument$Plain$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n createProductDocument$Plain(params?: {\n body?: {\n\n/**\n * ProductId\n */\n'ProductId'?: number;\n\n/**\n * Name\n */\n'Name'?: string;\n\n/**\n * Link\n */\n'Link'?: string;\n\n/**\n * File\n */\n'File'?: Blob;\n\n/**\n * Leírás\n */\n'Description'?: string;\n}\n }): Observable {\n\n return this.createProductDocument$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createProductDocument$Json()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n createProductDocument$Json$Response(params?: {\n body?: {\n\n/**\n * ProductId\n */\n'ProductId'?: number;\n\n/**\n * Name\n */\n'Name'?: string;\n\n/**\n * Link\n */\n'Link'?: string;\n\n/**\n * File\n */\n'File'?: Blob;\n\n/**\n * Leírás\n */\n'Description'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.CreateProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createProductDocument$Json$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n createProductDocument$Json(params?: {\n body?: {\n\n/**\n * ProductId\n */\n'ProductId'?: number;\n\n/**\n * Name\n */\n'Name'?: string;\n\n/**\n * Link\n */\n'Link'?: string;\n\n/**\n * File\n */\n'File'?: Blob;\n\n/**\n * Leírás\n */\n'Description'?: string;\n}\n }): Observable {\n\n return this.createProductDocument$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation removeProductDocument\n */\n static readonly RemoveProductDocumentPath = '/api/product/document/remove';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductDocument$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductDocument$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppRemoveDocumentRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.RemoveProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductDocument$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductDocument$Plain(params?: {\n body?: BackendCoreApiModelsAppRemoveDocumentRequest\n }): Observable {\n\n return this.removeProductDocument$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeProductDocument$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductDocument$Json$Response(params?: {\n body?: BackendCoreApiModelsAppRemoveDocumentRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.RemoveProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeProductDocument$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeProductDocument$Json(params?: {\n body?: BackendCoreApiModelsAppRemoveDocumentRequest\n }): Observable {\n\n return this.removeProductDocument$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation getProductDocument\n */\n static readonly GetProductDocumentPath = '/api/product/document/get';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductDocument$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductDocument$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppProductDocumentGetDocumentRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.GetProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductDocument$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductDocument$Plain(params?: {\n body?: BackendCoreApiModelsAppProductDocumentGetDocumentRequest\n }): Observable {\n\n return this.getProductDocument$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductDocument$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductDocument$Json$Response(params?: {\n body?: BackendCoreApiModelsAppProductDocumentGetDocumentRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.GetProductDocumentPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductDocument$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getProductDocument$Json(params?: {\n body?: BackendCoreApiModelsAppProductDocumentGetDocumentRequest\n }): Observable {\n\n return this.getProductDocument$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductCategoryGetProductCategoryResponse)\n );\n }\n\n /**\n * Path part for operation getProductDocuments\n */\n static readonly GetProductDocumentsPath = '/api/product/document/list';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductDocuments$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n getProductDocuments$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.GetProductDocumentsPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductDocuments$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getProductDocuments$Plain(params?: {\n }): Observable {\n\n return this.getProductDocuments$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductDocumentProductDocumentCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getProductDocuments$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n getProductDocuments$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, ProductDocumentBackendService.GetProductDocumentsPath, 'post');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getProductDocuments$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n getProductDocuments$Json(params?: {\n }): Observable {\n\n return this.getProductDocuments$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppProductDocumentProductDocumentCollectionResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { AccountCollectionResponse as BackendCoreApiModelsIdentityAccountCollectionResponse } from '../models/Backend/Core/Api/Models/Identity/account-collection-response';\nimport { QueryRequest as BackendCoreApiModelsQueryRequest } from '../models/Backend/Core/Api/Models/query-request';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SamplesBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation samplesGetDxUsers\n */\n static readonly SamplesGetDxUsersPath = '/api/samples/dx-users';\n\n /**\n * Get a list of users with Dx DataLoadOptions.\n *\n * Returns with an unknown object :)\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `samplesGetDxUsers$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n samplesGetDxUsers$Plain$Response(params?: {\n body?: BackendCoreApiModelsQueryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SamplesBackendService.SamplesGetDxUsersPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Get a list of users with Dx DataLoadOptions.\n *\n * Returns with an unknown object :)\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `samplesGetDxUsers$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n samplesGetDxUsers$Plain(params?: {\n body?: BackendCoreApiModelsQueryRequest\n }): Observable {\n\n return this.samplesGetDxUsers$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n /**\n * Get a list of users with Dx DataLoadOptions.\n *\n * Returns with an unknown object :)\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `samplesGetDxUsers$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n samplesGetDxUsers$Json$Response(params?: {\n body?: BackendCoreApiModelsQueryRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SamplesBackendService.SamplesGetDxUsersPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Get a list of users with Dx DataLoadOptions.\n *\n * Returns with an unknown object :)\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `samplesGetDxUsers$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n samplesGetDxUsers$Json(params?: {\n body?: BackendCoreApiModelsQueryRequest\n }): Observable {\n\n return this.samplesGetDxUsers$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsIdentityAccountCollectionResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { CreateSubscriptionRequest as BackendCoreApiModelsAppOrganizationCreateSubscriptionRequest } from '../models/Backend/Core/Api/Models/App/Organization/create-subscription-request';\nimport { RemoveSubscriptionRequest as BackendCoreApiModelsAppOrganizationRemoveSubscriptionRequest } from '../models/Backend/Core/Api/Models/App/Organization/remove-subscription-request';\nimport { SubscriptionCollectionRequest as BackendCoreApiModelsAppOrganizationSubscriptionCollectionRequest } from '../models/Backend/Core/Api/Models/App/Organization/subscription-collection-request';\nimport { SubscriptionCollectionResponse as BackendCoreApiModelsAppOrganizationSubscriptionCollectionResponse } from '../models/Backend/Core/Api/Models/App/Organization/subscription-collection-response';\nimport { SubscriptionRegistrationRequest as BackendCoreApiModelsAppOrganizationSubscriptionRegistrationRequest } from '../models/Backend/Core/Api/Models/App/Organization/subscription-registration-request';\nimport { UpdateSubscriptionRequest as BackendCoreApiModelsAppOrganizationUpdateSubscriptionRequest } from '../models/Backend/Core/Api/Models/App/Organization/update-subscription-request';\nimport { SimpleResponse as SharedKernelModelsSimpleResponse } from '../models/SharedKernel/Models/simple-response';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SubscriptionBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation createSubscription\n */\n static readonly CreateSubscriptionPath = '/api/subscription/create';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createSubscription$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createSubscription$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationCreateSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.CreateSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createSubscription$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createSubscription$Plain(params?: {\n body?: BackendCoreApiModelsAppOrganizationCreateSubscriptionRequest\n }): Observable {\n\n return this.createSubscription$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `createSubscription$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createSubscription$Json$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationCreateSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.CreateSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `createSubscription$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n createSubscription$Json(params?: {\n body?: BackendCoreApiModelsAppOrganizationCreateSubscriptionRequest\n }): Observable {\n\n return this.createSubscription$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation removeSubscription\n */\n static readonly RemoveSubscriptionPath = '/api/subscription/remove';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeSubscription$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeSubscription$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationRemoveSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.RemoveSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeSubscription$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeSubscription$Plain(params?: {\n body?: BackendCoreApiModelsAppOrganizationRemoveSubscriptionRequest\n }): Observable {\n\n return this.removeSubscription$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `removeSubscription$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeSubscription$Json$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationRemoveSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.RemoveSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `removeSubscription$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n removeSubscription$Json(params?: {\n body?: BackendCoreApiModelsAppOrganizationRemoveSubscriptionRequest\n }): Observable {\n\n return this.removeSubscription$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation getSubscriptions\n */\n static readonly GetSubscriptionsPath = '/api/subscription/list';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getSubscriptions$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getSubscriptions$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationSubscriptionCollectionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.GetSubscriptionsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getSubscriptions$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getSubscriptions$Plain(params?: {\n body?: BackendCoreApiModelsAppOrganizationSubscriptionCollectionRequest\n }): Observable {\n\n return this.getSubscriptions$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppOrganizationSubscriptionCollectionResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `getSubscriptions$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getSubscriptions$Json$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationSubscriptionCollectionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.GetSubscriptionsPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `getSubscriptions$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n getSubscriptions$Json(params?: {\n body?: BackendCoreApiModelsAppOrganizationSubscriptionCollectionRequest\n }): Observable {\n\n return this.getSubscriptions$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as BackendCoreApiModelsAppOrganizationSubscriptionCollectionResponse)\n );\n }\n\n /**\n * Path part for operation register\n */\n static readonly RegisterPath = '/api/subscription/register';\n\n /**\n * Create a new subscription and register a new user as a SubscriptionAdministrator.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `register$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n register$Plain$Response(params: {\n body: BackendCoreApiModelsAppOrganizationSubscriptionRegistrationRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.RegisterPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Create a new subscription and register a new user as a SubscriptionAdministrator.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `register$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n register$Plain(params: {\n body: BackendCoreApiModelsAppOrganizationSubscriptionRegistrationRequest\n }): Observable {\n\n return this.register$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Create a new subscription and register a new user as a SubscriptionAdministrator.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `register$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n register$Json$Response(params: {\n body: BackendCoreApiModelsAppOrganizationSubscriptionRegistrationRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.RegisterPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Create a new subscription and register a new user as a SubscriptionAdministrator.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `register$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n register$Json(params: {\n body: BackendCoreApiModelsAppOrganizationSubscriptionRegistrationRequest\n }): Observable {\n\n return this.register$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation sendMessage\n */\n static readonly SendMessagePath = '/api/subscription/send-message';\n\n /**\n * Sends a message.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `sendMessage$Plain()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n sendMessage$Plain$Response(params?: {\n body?: {\n\n/**\n * Title\n */\n'Title': string;\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.SendMessagePath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Sends a message.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `sendMessage$Plain$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n sendMessage$Plain(params?: {\n body?: {\n\n/**\n * Title\n */\n'Title': string;\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable {\n\n return this.sendMessage$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Sends a message.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `sendMessage$Json()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n sendMessage$Json$Response(params?: {\n body?: {\n\n/**\n * Title\n */\n'Title': string;\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.SendMessagePath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Sends a message.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `sendMessage$Json$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n sendMessage$Json(params?: {\n body?: {\n\n/**\n * Title\n */\n'Title': string;\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable {\n\n return this.sendMessage$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Path part for operation updateSubscription\n */\n static readonly UpdateSubscriptionPath = '/api/subscription/update';\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateSubscription$Plain()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateSubscription$Plain$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationUpdateSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.UpdateSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateSubscription$Plain$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateSubscription$Plain(params?: {\n body?: BackendCoreApiModelsAppOrganizationUpdateSubscriptionRequest\n }): Observable {\n\n return this.updateSubscription$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `updateSubscription$Json()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateSubscription$Json$Response(params?: {\n body?: BackendCoreApiModelsAppOrganizationUpdateSubscriptionRequest\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionBackendService.UpdateSubscriptionPath, 'post');\n if (params) {\n rb.body(params.body, 'application/*+json');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `updateSubscription$Json$Response()` instead.\n *\n * This method sends `application/*+json` and handles request body of type `application/*+json`.\n */\n updateSubscription$Json(params?: {\n body?: BackendCoreApiModelsAppOrganizationUpdateSubscriptionRequest\n }): Observable {\n\n return this.updateSubscription$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\nimport { SimpleResponse as SharedKernelModelsSimpleResponse } from '../models/SharedKernel/Models/simple-response';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SubscriptionEmailBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation update\n */\n static readonly UpdatePath = '/api/subscription/update-email';\n\n /**\n * Sends an update request to back office users to implement changes.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `update$Plain()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n update$Plain$Response(params?: {\n body?: {\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionEmailBackendService.UpdatePath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Sends an update request to back office users to implement changes.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `update$Plain$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n update$Plain(params?: {\n body?: {\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable {\n\n return this.update$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n /**\n * Sends an update request to back office users to implement changes.\n *\n *\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `update$Json()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n update$Json$Response(params?: {\n body?: {\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, SubscriptionEmailBackendService.UpdatePath, 'post');\n if (params) {\n rb.body(params.body, 'multipart/form-data');\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Sends an update request to back office users to implement changes.\n *\n *\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `update$Json$Response()` instead.\n *\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\n */\n update$Json(params?: {\n body?: {\n\n/**\n * Text\n */\n'Text': string;\n'Attachment'?: Blob;\n\n/**\n * Unique Identifier used by logging\n */\n'CorrelationId'?: string;\n}\n }): Observable {\n\n return this.update$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as SharedKernelModelsSimpleResponse)\n );\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { BaseService } from '../base-service';\nimport { ApiConfiguration } from '../api-configuration';\nimport { StrictHttpResponse } from '../strict-http-response';\nimport { RequestBuilder } from '../request-builder';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TelemetryBackendService extends BaseService {\n constructor(\n config: ApiConfiguration,\n http: HttpClient\n ) {\n super(config, http);\n }\n\n /**\n * Path part for operation telemetryGetStatus\n */\n static readonly TelemetryGetStatusPath = '/api/telemetry/status';\n\n /**\n * Get API state.\n *\n * Returns with API Health state\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `telemetryGetStatus$Plain()` instead.\n *\n * This method doesn't expect any request body.\n */\n telemetryGetStatus$Plain$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, TelemetryBackendService.TelemetryGetStatusPath, 'get');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'text',\n accept: 'text/plain'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Get API state.\n *\n * Returns with API Health state\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `telemetryGetStatus$Plain$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n telemetryGetStatus$Plain(params?: {\n }): Observable {\n\n return this.telemetryGetStatus$Plain$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as string)\n );\n }\n\n /**\n * Get API state.\n *\n * Returns with API Health state\n *\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\n * To access only the response body, use `telemetryGetStatus$Json()` instead.\n *\n * This method doesn't expect any request body.\n */\n telemetryGetStatus$Json$Response(params?: {\n }): Observable> {\n\n const rb = new RequestBuilder(this.rootUrl, TelemetryBackendService.TelemetryGetStatusPath, 'get');\n if (params) {\n }\n\n return this.http.request(rb.build({\n responseType: 'json',\n accept: 'text/json'\n })).pipe(\n filter((r: any) => r instanceof HttpResponse),\n map((r: HttpResponse) => {\n return r as StrictHttpResponse;\n })\n );\n }\n\n /**\n * Get API state.\n *\n * Returns with API Health state\n *\n * This method provides access to only to the response body.\n * To access the full response (for headers, for example), `telemetryGetStatus$Json$Response()` instead.\n *\n * This method doesn't expect any request body.\n */\n telemetryGetStatus$Json(params?: {\n }): Observable {\n\n return this.telemetryGetStatus$Json$Response(params).pipe(\n map((r: StrictHttpResponse) => r.body as string)\n );\n }\n\n}\n","import { Directive, OnDestroy } from '@angular/core';\n\n// libs\nimport { Subject } from 'rxjs';\n\n@Directive()\nexport abstract class MxBaseComponent implements OnDestroy {\n private _destroy$: Subject;\n\n get destroy$() {\n if (!this._destroy$) {\n // Perf optimization:\n // since this is likely used as base component everywhere\n // only construct a Subject instance if actually used\n this._destroy$ = new Subject();\n }\n return this._destroy$;\n }\n\n ngOnDestroy() {\n if (this._destroy$) {\n this._destroy$.next(true);\n this._destroy$.complete();\n }\n }\n}\n","import { Component, Inject, OnDestroy } from '@angular/core';\nimport { I18NEXT_SERVICE, ITranslationService } from 'angular-i18next';\nimport { MenuItem } from 'primeng/api';\nimport { Subscription } from 'rxjs';\nimport { MxDatasource } from 'src/app/shared/domains/common/interfaces';\n\nimport { MxBreadcrumbService, MxIdentityService } from '../../services';\nimport { MainComponent } from './main.component';\n\n@Component({\n selector: 'mx-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n})\nexport class BreadcrumbComponent implements OnDestroy {\n subscription: Subscription;\n\n items: MenuItem[];\n\n home: MenuItem;\n\n search: string;\n\n selectedAppSubscription: number;\n appSubscriptions: MxDatasource[];\n\n constructor(\n public breadcrumbService: MxBreadcrumbService,\n public main: MainComponent,\n private identityService: MxIdentityService\n ) {\n this.subscription = breadcrumbService.itemsHandler.subscribe((response) => {\n this.items = response;\n });\n }\n\n ngOnInit() {\n this.appSubscriptions = [];\n this.appSubscriptions.push({\n label: this.identityService.accountValue.subscription.name,\n value: this.identityService.accountValue.subscription.id,\n });\n\n this.selectedAppSubscription =\n this.identityService.accountValue.subscription.id;\n }\n\n changeAppSubscription() {\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n","
\n
\n \n \n \n\n \n
\n
\n \n \n\n \n\n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { I18NEXT_SERVICE, ITranslationService } from 'angular-i18next';\n\nimport { MxAppColorSchemeService, MxEmitEvent, MxEventBusService, MxEvents } from '../../services';\nimport { MainComponent } from './main.component';\n\n@Component({\n selector: 'mx-config',\n template: `\n \n \n \n \n
{{ 'Color_sheme' | i18next }}
\n
\n \n \n
\n
\n \n \n
\n
{{ 'Language' | i18next }}
\n
\n \n \n
\n
\n \n \n
\n \n `,\n})\nexport class ConfigComponent implements OnInit {\n language: string;\n\n constructor(\n public main: MainComponent,\n public appColorSchemeService: MxAppColorSchemeService,\n private eventBus: MxEventBusService,\n @Inject(I18NEXT_SERVICE) private i18NextService: ITranslationService\n ) {}\n\n ngOnInit() {\n this.language = this.i18NextService.language;\n }\n\n changeColorScheme(scheme: any) {\n this.appColorSchemeService.colorScheme = scheme;\n\n this.eventBus.emit(new MxEmitEvent(MxEvents.ColorSchemaChange));\n\n this.appColorSchemeService.changeStyleSheetsColor(\n `layout-css`,\n `layout-${scheme}.css`,\n 1\n );\n this.appColorSchemeService.changeStyleSheetsColor(\n 'theme-css',\n `theme-${scheme}.css`,\n 1\n );\n }\n\n changeLanguage(language: string) {\n this.i18NextService.changeLanguage(language);\n document.location.reload();\n }\n\n onConfigButtonClick(event: any) {\n this.main.configActive = !this.main.configActive;\n this.main.configClick = true;\n event.preventDefault();\n }\n}\n","import { Component } from '@angular/core';\nimport * as moment from 'moment';\nimport { environment } from 'src/environments/environment';\nimport { MxAppInitService } from '../../services';\n\n@Component({\n selector: 'mx-footer',\n template: `\n
\n
\n {{ ('Version' | i18next) + ' ' + appInitService.currentConfig.app.version }}\n {{\n appInitService.currentConfig.app.env\n ? (' | ' + appInitService.currentConfig.app.env | uppercase)\n : ''\n }}\n
\n ©{{ year }} {{ appInitService.currentConfig.app.organization }}\n
\n `,\n})\nexport class FooterComponent {\n year: number;\n constructor(public appInitService: MxAppInitService) {\n this.year = moment().year();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {\n trigger,\n state,\n style,\n transition,\n animate,\n} from '@angular/animations';\nimport { MainComponent } from './main.component';\nimport { MxIdentityService } from '../../services';\n\n@Component({\n selector: 'mx-inlinemenu',\n templateUrl: './inlinemenu.component.html',\n animations: [\n trigger('inline', [\n state(\n 'hidden',\n style({\n height: '0px',\n overflow: 'hidden',\n })\n ),\n state(\n 'visible',\n style({\n height: '*',\n })\n ),\n state(\n 'hiddenAnimated',\n style({\n height: '0px',\n overflow: 'hidden',\n })\n ),\n state(\n 'visibleAnimated',\n style({\n height: '*',\n })\n ),\n transition(\n 'visibleAnimated => hiddenAnimated',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\n ),\n transition(\n 'hiddenAnimated => visibleAnimated',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\n ),\n ]),\n ],\n})\nexport class InlineMenuComponent implements OnInit {\n accountFullName: string;\n\n constructor(public main: MainComponent, public identityService: MxIdentityService) {}\n\n ngOnInit() {\n this.accountFullName = `${this.identityService.accountValue.firstName} ${this.identityService.accountValue.lastName}`;\n }\n}\n","\n \n \n {{ accountFullName }}\n \n \n\n \n
  • \n \n \n {{ \"page:Message_us\" | i18next }}\n \n
  • \n
  • \n \n \n {{ \"Logout\" | i18next }}\n \n
  • \n\n \n \n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { MxSharedModule } from 'src/app/shared/mx.shared.module';\nimport { MxEnsureModuleLoadedOnceGuard } from '../../mx.ensure-module-loaded-once.guard';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { ConfigComponent } from './config.component';\nimport { FooterComponent } from './footer.component';\nimport { InlineMenuComponent } from './inlinemenu.component';\nimport { MainComponent } from './main.component';\nimport { MenuComponent } from './menu.component';\nimport { MenuitemComponent } from './menuitem.component';\nimport { TopbarComponent } from './topbar.component';\n\n@NgModule({\n imports: [CommonModule, MxSharedModule],\n exports: [\n MainComponent,\n ],\n declarations: [\n MainComponent,\n BreadcrumbComponent,\n MenuComponent,\n MenuitemComponent,\n ConfigComponent,\n InlineMenuComponent,\n TopbarComponent,\n FooterComponent,\n ],\n})\nexport class LayoutModule extends MxEnsureModuleLoadedOnceGuard {\n // Ensure that OverlayModule is only loaded into AppModule\n\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n constructor(@Optional() @SkipSelf() parentModule: LayoutModule) {\n super(parentModule, 'CoreModule');\n }\n}\n","import { Component } from '@angular/core';\n\nimport { MxAppSidebarService, MxMenuService } from '../../services';\n\n@Component({\n selector: 'mx-main',\n templateUrl: './main.component.html',\n})\nexport class MainComponent {\n menuMode = 'sidebar';\n\n overlayMenuActive!: boolean;\n\n staticMenuDesktopInactive = false;\n\n staticMenuMobileActive!: boolean;\n\n menuClick!: boolean;\n\n menuHoverActive = false;\n\n topbarMenuActive!: boolean;\n\n topbarItemClick!: boolean;\n\n activeTopbarItem: any;\n\n configActive!: boolean;\n\n configClick!: boolean;\n\n rightMenuActive!: boolean;\n\n rightMenuClick!: boolean;\n\n searchActive!: boolean;\n\n searchClick!: boolean;\n\n activeInlineProfile!: boolean;\n\n pinActive!: boolean;\n\n constructor(\n private menuService: MxMenuService,\n public appSidebarService: MxAppSidebarService\n ) {\n if (this.appSidebarService.sidebarStatic) {\n this.pinActive = true;\n }\n }\n\n onLayoutClick() {\n if (!this.topbarItemClick) {\n this.activeTopbarItem = null;\n this.topbarMenuActive = false;\n }\n\n if (this.configActive && !this.configClick) {\n this.configActive = false;\n }\n\n if (this.rightMenuActive && !this.rightMenuClick) {\n this.rightMenuActive = false;\n }\n\n if (this.searchActive && !this.searchClick) {\n this.searchActive = false;\n }\n\n if (!this.menuClick) {\n if ((this.isSlim() || this.isHorizontal()) && !this.isMobile()) {\n this.menuService.reset();\n this.menuHoverActive = false;\n }\n\n if (this.overlayMenuActive || this.staticMenuMobileActive) {\n this.overlayMenuActive = false;\n this.staticMenuMobileActive = false;\n }\n }\n\n this.configClick = false;\n this.rightMenuClick = false;\n this.searchClick = false;\n this.menuClick = false;\n this.topbarItemClick = false;\n }\n\n onSidebarClick(event: any) {\n this.menuClick = true;\n }\n\n onToggleMenu(event: any) {\n this.menuClick = true;\n\n if (this.overlayMenuActive) {\n this.overlayMenuActive = false;\n }\n\n if (this.appSidebarService.sidebarActive) {\n this.appSidebarService.sidebarStatic =\n !this.appSidebarService.sidebarStatic;\n }\n\n event.preventDefault();\n }\n\n onSidebarMouseOver(event: any) {\n if (this.menuMode === 'sidebar' && !this.appSidebarService.sidebarStatic) {\n this.appSidebarService.sidebarActive = this.isDesktop();\n setTimeout(() => {\n this.pinActive = this.isDesktop();\n }, 200);\n }\n }\n\n onSidebarMouseLeave(event: any) {\n if (this.menuMode === 'sidebar' && !this.appSidebarService.sidebarStatic) {\n setTimeout(() => {\n this.appSidebarService.sidebarActive = false;\n this.pinActive = false;\n }, 250);\n }\n }\n\n onMenuButtonClick(event: any) {\n this.menuClick = true;\n\n if (this.isOverlay()) {\n this.overlayMenuActive = !this.overlayMenuActive;\n }\n\n if (this.isDesktop()) {\n this.staticMenuDesktopInactive = !this.staticMenuDesktopInactive;\n } else {\n this.staticMenuMobileActive = !this.staticMenuMobileActive;\n }\n\n event.preventDefault();\n }\n\n onTopbarItemClick(event: any, item: any) {\n this.topbarItemClick = true;\n\n if (this.activeTopbarItem === item) {\n this.activeTopbarItem = null;\n } else {\n this.activeTopbarItem = item;\n }\n\n event.preventDefault();\n }\n\n onTopbarSubItemClick(event: any) {\n event.preventDefault();\n }\n\n onConfigClick(event: any) {\n this.configClick = true;\n }\n\n onRightMenuButtonClick() {\n this.rightMenuClick = true;\n this.rightMenuActive = true;\n }\n\n onRightMenuClick(event: any) {\n this.rightMenuClick = true;\n }\n\n isStatic() {\n return this.menuMode === 'static';\n }\n\n isOverlay() {\n return this.menuMode === 'overlay';\n }\n\n isSlim() {\n return this.menuMode === 'slim';\n }\n\n isHorizontal() {\n return this.menuMode === 'horizontal';\n }\n\n isSidebar() {\n return this.menuMode === 'sidebar';\n }\n\n isDesktop() {\n return window.innerWidth > 991;\n }\n\n isMobile() {\n return window.innerWidth <= 991;\n }\n}\n","\n
    \n \n\n \n\n \n\n
    \n
    \n \n
    \n
    \n\n \n
    \n\n","import { Component, OnInit } from '@angular/core';\nimport { AppComponent } from 'src/app/app.component';\nimport {\n MxAppColorSchemeService,\n MxAppSidebarService,\n MxMenuService,\n} from '../../services';\nimport { MainComponent } from './main.component';\n\n@Component({\n selector: 'mx-menu',\n templateUrl: './menu.component.html',\n})\nexport class MenuComponent implements OnInit {\n public model: any[];\n\n constructor(\n public main: MainComponent,\n public appColorSchemeService: MxAppColorSchemeService,\n public appSidebarService: MxAppSidebarService,\n private menuService: MxMenuService\n ) {}\n\n ngOnInit() {\n this.model = this.menuService.menu;\n }\n}\n","
    \n
    \n\n \n \n \n\n \n \n \n \n \n \n \n \n
    \n\n
    \n
      \n \n
    • \n
    • \n
      \n
    \n
    \n\n \n
    \n","import {\n animate, state,\n style,\n transition, trigger\n} from '@angular/animations';\nimport {\n ChangeDetectorRef, Component,\n Input, OnDestroy, OnInit\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { MxMenuService } from '../../services';\nimport { MainComponent } from './main.component';\n\n@Component({\n /* tslint:disable:component-selector */\n selector: '[mx-menuitem]',\n /* tslint:enable:component-selector */\n template: `\n \n \n {{ ('page:' + item.label) | i18next }}\n \n \n \n {{ ('page:' + item.label) | i18next }}\n \n {{ item.badge }}\n \n \n \n {{ ('page:' + item.label) | i18next }}\n \n {{ item.badge }}\n \n \n \n \n \n \n \n `,\n host: {\n '[class.layout-root-menuitem]': 'root',\n '[class.active-menuitem]': 'active',\n },\n animations: [\n trigger('children', [\n state(\n 'void',\n style({\n height: '0px',\n })\n ),\n state(\n 'hiddenAnimated',\n style({\n height: '0px',\n })\n ),\n state(\n 'visibleAnimated',\n style({\n height: '*',\n })\n ),\n state(\n 'visible',\n style({\n height: '*',\n 'z-index': 100,\n })\n ),\n state(\n 'hidden',\n style({\n height: '0px',\n 'z-index': '*',\n })\n ),\n transition(\n 'visibleAnimated => hiddenAnimated',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\n ),\n transition(\n 'hiddenAnimated => visibleAnimated',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\n ),\n transition(\n 'void => visibleAnimated, visibleAnimated => void',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')\n ),\n ]),\n ],\n})\nexport class MenuitemComponent implements OnInit, OnDestroy {\n @Input() item: any;\n\n @Input() index: number;\n\n @Input() root: boolean;\n\n @Input() parentKey: string;\n\n active = false;\n\n hover: boolean;\n\n menuSourceSubscription: Subscription;\n\n menuResetSubscription: Subscription;\n\n key: string;\n\n constructor(\n public main: MainComponent,\n public router: Router,\n private cd: ChangeDetectorRef,\n private menuService: MxMenuService\n ) {\n this.menuSourceSubscription = this.menuService.menuSource$.subscribe(\n (key) => {\n // deactivate current active menu\n if (this.active && this.key !== key && key.indexOf(this.key) !== 0) {\n this.active = false;\n }\n }\n );\n\n this.menuResetSubscription = this.menuService.resetSource$.subscribe(() => {\n this.active = false;\n });\n\n this.router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe((params) => {\n if (\n (this.main.isSlim() || this.main.isHorizontal()) &&\n !this.main.isMobile()\n ) {\n this.active = false;\n } else {\n if (this.item.routerLink) {\n this.updateActiveStateFromRoute();\n } else {\n this.active = false;\n }\n }\n });\n }\n\n ngOnInit() {\n if (\n !(this.main.isSlim() || this.main.isHorizontal()) &&\n this.item.routerLink\n ) {\n this.updateActiveStateFromRoute();\n }\n\n this.key = this.parentKey\n ? this.parentKey + '-' + this.index\n : String(this.index);\n }\n\n updateActiveStateFromRoute() {\n this.active = this.router.isActive(\n this.item.routerLink[0],\n this.item.items ? false : true\n );\n }\n\n itemClick(event: Event) {\n // avoid processing disabled items\n if (this.item.disabled) {\n event.preventDefault();\n return;\n }\n\n // navigate with hover in horizontal mode\n if (this.root) {\n this.main.menuHoverActive = !this.main.menuHoverActive;\n }\n\n // notify other items\n this.menuService.onMenuStateChange(this.key);\n\n // execute command\n if (this.item.command) {\n this.item.command({ originalEvent: event, item: this.item });\n }\n\n // toggle active state\n if (this.item.items) {\n this.active = !this.active;\n } else {\n // activate item\n this.active = true;\n\n if (this.main.isMobile()) {\n this.main.staticMenuMobileActive = false;\n }\n\n if (this.main.isOverlay()) {\n this.main.overlayMenuActive = false;\n }\n\n // reset horizontal menu\n if (\n (this.main.isSlim() || this.main.isHorizontal()) &&\n !this.main.isMobile()\n ) {\n this.menuService.reset();\n this.main.menuHoverActive = false;\n }\n }\n }\n\n onMouseEnter() {\n // activate item on hover\n if (\n this.root &&\n this.main.menuHoverActive &&\n (this.main.isSlim() || this.main.isHorizontal()) &&\n this.main.isDesktop()\n ) {\n this.menuService.onMenuStateChange(this.key);\n this.active = true;\n }\n }\n\n ngOnDestroy() {\n if (this.menuSourceSubscription) {\n this.menuSourceSubscription.unsubscribe();\n }\n\n if (this.menuResetSubscription) {\n this.menuResetSubscription.unsubscribe();\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { AppComponent } from 'src/app/app.component';\nimport { MxAppColorSchemeService, MxIdentityService } from '../../services';\nimport { MainComponent } from './main.component';\n\n@Component({\n selector: 'mx-topbar',\n template: `\n
    \n
    \n \n \n \n\n \n \n \n
    \n\n \n\n
    \n \n
    \n
    \n `,\n})\nexport class TopbarComponent {\n constructor(\n public main: MainComponent,\n public appColorSchemeService: MxAppColorSchemeService,\n public identityService: MxIdentityService\n ) {}\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\n\nimport { MxEmitEvent, MxEventBusService, MxEvents } from '../../services';\n\n@Injectable()\nexport class MxOverlayRequestResponseInterceptor implements HttpInterceptor {\n constructor(private eventBus: MxEventBusService) {}\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n this.eventBus.emit(new MxEmitEvent(MxEvents.HttpRequest));\n return next.handle(req).pipe(\n tap((event) => {\n if (event instanceof HttpResponse) {\n this.eventBus.emit(new MxEmitEvent(MxEvents.HttpResponse));\n }\n }),\n catchError((error: HttpErrorResponse) => {\n this.eventBus.emit(new MxEmitEvent(MxEvents.HttpResponse));\n return throwError(error);\n })\n );\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SubSink } from 'subsink';\nimport { MxBaseComponent } from '../../base/mx.base-component';\n\nimport { MxEventBusService, MxEvents } from '../../services';\n\n@Component({\n selector: 'mx-overlay',\n templateUrl: './mx.overlay.component.html',\n styleUrls: ['./mx.overlay.component.scss']\n})\nexport class MxOverlayComponent\n extends MxBaseComponent\n implements OnInit, OnDestroy\n{\n subs = new SubSink();\n\n enabled = false;\n queue: any[] = [];\n timerId: number = null;\n timerHideId: number = null;\n\n @Input() delay = 0;\n @Input() stopDelay = 500;\n\n constructor(\n private eventBus: MxEventBusService,\n private cd: ChangeDetectorRef\n ) {\n super();\n }\n\n ngOnInit() {\n // Handle request\n this.subs.sink = this.eventBus.on(MxEvents.HttpRequest, () => {\n this.queue.push({});\n if (this.queue.length === 1) {\n // Only show if we have an item in the queue after the delay time\n setTimeout(() => {\n if (this.queue.length) {\n this.enabled = true;\n }\n }, this.delay);\n }\n });\n\n // Handle response\n this.subs.sink = this.eventBus.on(MxEvents.HttpResponse, () => {\n this.queue.pop();\n if (this.queue.length === 0) {\n // Since we don't know if another XHR request will be made, pause before\n // hiding the overlay. If another XHR request comes in then the overlay\n // will stay visible which prevents a flicker\n setTimeout(() => {\n // Make sure queue is still 0 since a new XHR request may have come in\n // while timer was running\n if (this.queue.length === 0) {\n this.enabled = false;\n }\n }, this.stopDelay);\n }\n });\n\n // Handle response\n this.subs.sink = this.eventBus.on(MxEvents.ColorSchemaChange, () => {\n this.enabled = true;\n setTimeout(() => {\n this.enabled = false;\n }, this.stopDelay);\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n
    \n
    \n
    \n
    \n
    \n
    \n","import { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { BlockUIModule } from 'primeng/blockui';\nimport { MxEnsureModuleLoadedOnceGuard } from '../../mx.ensure-module-loaded-once.guard';\n\nimport { MxOverlayRequestResponseInterceptor } from './mx.overlay-request-response.interceptor';\nimport { MxOverlayComponent } from './mx.overlay.component';\n\n@NgModule({\n imports: [CommonModule, BlockUIModule],\n exports: [MxOverlayComponent],\n declarations: [MxOverlayComponent],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MxOverlayRequestResponseInterceptor,\n multi: true,\n },\n ],\n})\nexport class MxOverlayModule extends MxEnsureModuleLoadedOnceGuard {\n // Ensure that OverlayModule is only loaded into AppModule\n\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n constructor(@Optional() @SkipSelf() parentModule: MxOverlayModule) {\n super(parentModule, 'CoreModule');\n }\n}\n","import { Component } from '@angular/core';\nimport { MxBaseComponent } from '../../base/mx.base-component';\n\n@Component({\n selector: 'mx-toast',\n templateUrl: './mx.toast.component.html',\n styleUrls: ['./mx.toast.component.scss']\n})\nexport class MxToastComponent extends MxBaseComponent {}\n\n\n","\n \n \n
    \n
    {{ content.summary | i18next | uppercase }}
    \n
    \n
    \n
    \n
    \n","import { CommonModule } from '@angular/common';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { I18NextModule } from 'angular-i18next';\nimport { ToastModule } from 'primeng/toast';\nimport { MxEnsureModuleLoadedOnceGuard } from '../../mx.ensure-module-loaded-once.guard';\n\nimport { MxToastComponent } from './mx.toast.component';\n\n@NgModule({\n imports: [CommonModule, ToastModule, I18NextModule],\n exports: [MxToastComponent],\n declarations: [MxToastComponent],\n})\nexport class MxToastModule extends MxEnsureModuleLoadedOnceGuard {\n // Ensure that OverlayModule is only loaded into AppModule\n\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n constructor(@Optional() @SkipSelf() parentModule: MxToastModule) {\n super(parentModule, 'CoreModule');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: 'access-denied',\n loadChildren: () =>\n import('./mx.access-denied/mx.access-denied.module').then(\n (m) => m.MxAccessDeniedModule\n ),\n },\n {\n path: 'destroy-account',\n loadChildren: () =>\n import('./mx.destroy-account/mx.destroy-account.module').then(\n (m) => m.MxDestroyAccountModule\n ),\n },\n {\n path: 'error',\n loadChildren: () =>\n import('./mx.error/mx.error.module').then((m) => m.MxErrorModule),\n },\n {\n path: 'forgot-password',\n loadChildren: () =>\n import('./mx.forgot-password/mx.forgot-password.module').then(\n (m) => m.MxForgotPasswordModule\n ),\n },\n {\n path: 'login',\n loadChildren: () =>\n import('./mx.login/mx.login.module').then((m) => m.MxLoginModule),\n },\n {\n path: 'not-found',\n loadChildren: () =>\n import('./mx.not-found/mx.not-found.module').then(\n (m) => m.MxNotFoundModule\n ),\n },\n {\n path: 'reset-password',\n loadChildren: () =>\n import('./mx.reset-password/mx.reset-password.module').then(\n (m) => m.MxResetPasswordModule\n ),\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MxPagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { MxPagesRoutingModule } from './mx.pages-routing.module';\n\n\n@NgModule({\n imports: [MxPagesRoutingModule],\n exports: [],\n})\nexport class MxPagesModule {}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\n\nimport { MxIdentityService } from '../services';\n\n@Injectable({ providedIn: 'root' })\nexport class MxAuthGuard implements CanActivate {\n constructor(private router: Router, private identityService: MxIdentityService) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n const account = this.identityService.accountValue;\n if (!account) {\n this.router.navigate(['pages', 'login'], {\n queryParams: { returnUrl: state.url },\n });\n return false;\n }\n return true;\n }\n}\n","import { DefaultUrlSerializer, UrlTree } from '@angular/router';\nexport class MxLowerCaseUrlSerializer extends DefaultUrlSerializer {\n parse(url: string): UrlTree {\n return super.parse(url.toLowerCase());\n }\n}\n","import { APP_INITIALIZER, InjectionToken } from \"@angular/core\";\nimport { isPromise } from \"../utils/mx.common\";\n\nexport const MX_ORDERED_APP_INITIALIZER = new InjectionToken(\n \"Ordered Application Initializer\"\n);\n\nexport function orderedAppInitializer(appInits: (() => any)[]) {\n return async (): Promise => {\n for (const initializer of appInits) {\n const result = initializer();\n\n if (isPromise(result)) {\n await result;\n }\n }\n };\n}\n\nexport const MX_ORDERED_APP_PROVIDER = {\n provide: APP_INITIALIZER,\n useFactory: orderedAppInitializer,\n deps: [MX_ORDERED_APP_INITIALIZER],\n multi: true,\n};\n","import { Inject, Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { I18NEXT_SERVICE, ITranslationService } from 'angular-i18next';\nimport { MxAppInitService } from '../services';\n\n@Injectable()\nexport class MxHttpHeaderInterceptor implements HttpInterceptor {\n constructor(\n @Inject(I18NEXT_SERVICE) private i18NextService: ITranslationService,\n private appInitService: MxAppInitService\n ) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (request.url.startsWith(this.appInitService.currentConfig.api.url)) {\n request = request.clone({\n setHeaders: {\n 'Accept-Language': this.i18NextService.language,\n },\n });\n }\n return next.handle(request);\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { MxAppInitService, MxIdentityService } from '../services';\n\n@Injectable()\nexport class MxJwtInterceptor implements HttpInterceptor {\n constructor(\n private identityService: MxIdentityService,\n private appInitService: MxAppInitService\n ) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n // add auth header with jwt if account is logged in and request is to the api url\n const account = this.identityService.accountValue;\n const isLoggedIn = account && account.jwtToken;\n const isApiUrl =\n !request.url.startsWith('./') ??\n request.url.startsWith(this.appInitService.currentConfig.api.url);\n if (isLoggedIn && isApiUrl) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${account.jwtToken}`,\n },\n });\n }\n\n if (\n request.url.includes('revoke-token') ||\n request.url.includes('authenticate') ||\n request.url.includes('refresh-token')\n ) {\n request = request.clone({\n withCredentials: true,\n });\n }\n\n return next.handle(request);\n }\n}\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport {\n MxBrowserStorageService,\n MxIdentityService,\n MxStorageType,\n} from '../services';\n\n@Injectable()\nexport class MxServerErrorInterceptor implements HttpInterceptor {\n constructor(\n private router: Router,\n private identityService: MxIdentityService\n ) {}\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n return next.handle(request).pipe(\n // retry(1),\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401) {\n if (error.error.errorCode === 'EXPIRED_TOKEN') {\n MxBrowserStorageService.set(\n MxStorageType.Local,\n error.error.errorCode,\n error.error\n );\n }\n this.identityService.logout(true);\n return throwError(error.error);\n } else if (error.status === 403) {\n this.router.navigate(['pages', 'access-denied']);\n return throwError('Navigate to access-denied');\n } else if (error.status === 404) {\n this.router.navigate(['pages', 'not-found']);\n return throwError('Navigate to not-found');\n } else if ([400, 401, 500].includes(error.status)) {\n return throwError(error);\n } else {\n this.router.navigate(['pages', 'error']);\n return throwError('Navigate to error');\n }\n })\n );\n }\n}\n","import { APP_BASE_HREF, CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport {\n ErrorHandler,\n LOCALE_ID,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { UrlSerializer } from '@angular/router';\nimport {\n I18NEXT_SERVICE,\n I18NextModule,\n ITranslationService,\n StrictErrorHandlingStrategy,\n} from 'angular-i18next';\nimport {\n NgcCookieConsentConfig,\n NgcCookieConsentModule,\n} from 'ngx-cookieconsent';\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\n\nimport { ApiModule } from '../backend-client/api.module';\nimport { LayoutModule } from './components/layout/layout.module';\nimport { MxPagesModule } from './components/pages/mx.pages.module';\nimport { MxToastModule } from './components/mx.toast/mx.toast.module';\nimport { MxEnsureModuleLoadedOnceGuard } from './mx.ensure-module-loaded-once.guard';\nimport { MxGlobalErrorHandler } from './mx.global-error-handler';\nimport { MxLowerCaseUrlSerializer } from './initializers/mx.lower-case-url-serializer';\nimport {\n MX_ORDERED_APP_INITIALIZER,\n MX_ORDERED_APP_PROVIDER,\n} from './initializers/mx.ordered-initializer';\nimport { MxHttpHeaderInterceptor } from './interceptors/mx.http-header.interceptor';\nimport { MxJwtInterceptor } from './interceptors/mx.jwt.interceptor';\nimport { MxServerErrorInterceptor } from './interceptors/mx.server-error.interceptor';\nimport { MxOverlayModule } from './components/mx.overlay/mx.overlay.module';\nimport {\n MxAppInitService,\n MxIdentityService,\n MxLoggingService,\n} from './services';\nimport { baseHrefFactory } from './utils';\n\nexport function localeIdFactory(i18next: ITranslationService) {\n return i18next.language;\n}\n\nexport const cookieConfig: NgcCookieConsentConfig = {\n cookie: {\n domain: location.hostname,\n },\n palette: {\n popup: {\n background: '#000',\n },\n button: {\n background: '#177597',\n },\n },\n elements: {\n messagelink: `\n {{message}}\n {{link}}\n \n `,\n },\n content: {\n cookiePolicyHref:\n 'https://cookie.com',\n },\n theme: 'classic',\n position: 'bottom-left',\n type: 'info',\n};\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n I18NextModule.forRoot({\n errorHandlingStrategy: StrictErrorHandlingStrategy,\n }),\n LoggerModule.forRoot({\n level: NgxLoggerLevel.OFF,\n }),\n NgcCookieConsentModule.forRoot(cookieConfig),\n ApiModule,\n MxOverlayModule,\n LayoutModule,\n MxToastModule,\n ],\n exports: [\n I18NextModule,\n MxOverlayModule,\n LayoutModule,\n MxToastModule,\n MxPagesModule,\n ],\n providers: [\n MX_ORDERED_APP_PROVIDER,\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () => service.versionCheck(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () => service.loadConfig(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxLoggingService) => () => service.load(),\n deps: [MxLoggingService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () => service.loadI18Next(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () => service.loadColorSheme(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () => service.loadIp(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxAppInitService) => () =>\n service.loadSideBarSettings(),\n deps: [MxAppInitService],\n multi: true,\n },\n {\n provide: MX_ORDERED_APP_INITIALIZER,\n useFactory: (service: MxIdentityService) => () =>\n service.refreshTokenLoad(),\n deps: [MxIdentityService],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n deps: [I18NEXT_SERVICE],\n useFactory: localeIdFactory,\n },\n { provide: ErrorHandler, useClass: MxGlobalErrorHandler },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MxHttpHeaderInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MxJwtInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MxServerErrorInterceptor,\n multi: true,\n },\n {\n provide: APP_BASE_HREF,\n useFactory: baseHrefFactory,\n },\n {\n provide: UrlSerializer,\n useClass: MxLowerCaseUrlSerializer,\n },\n ], // these should be singleton\n})\nexport class MxCoreModule extends MxEnsureModuleLoadedOnceGuard {\n // Looks for the module in the parent injector to see if it's already been loaded (only want it loaded once)\n constructor(@Optional() @SkipSelf() parentModule: MxCoreModule) {\n super(parentModule, 'AppModule');\n }\n}\n","export class MxEnsureModuleLoadedOnceGuard {\n constructor(targetModule: any, onlyModuleName: string) {\n if (targetModule) {\n throw new Error(\n `${targetModule.constructor.name} has already been loaded. Import this module in the ${onlyModuleName} only.`\n );\n }\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { ErrorHandler, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { I18NextPipe } from 'angular-i18next';\n\nimport { ErrorResponse } from '../backend-client/models/SharedKernel/Models/Error/error-response';\nimport {\n MxAppInitService,\n MxLoggingService,\n MxNotificationService,\n MxNotificationSeverity,\n} from './services';\n\n@Injectable()\nexport class MxGlobalErrorHandler implements ErrorHandler {\n constructor(\n private notificationService: MxNotificationService,\n private loggingService: MxLoggingService,\n private appInitService: MxAppInitService,\n private router: Router,\n private i18NextPipe: I18NextPipe\n ) {}\n\n handleError(error: Error | HttpErrorResponse) {\n if (error instanceof HttpErrorResponse) {\n if (error.status === 400) {\n this.notificationService.show({\n type: this.notificationService.getNotificationSeverityByBackendNotificationType(\n (error.error as ErrorResponse).severity\n ),\n title: (error.error as ErrorResponse).errorTitle,\n message: (error.error as ErrorResponse).friendlyMessage,\n });\n this.loggingService.log('LOG: (400)', { error: error });\n } else if (error.status === 500) {\n this.notificationService.show({\n type: this.notificationService.getNotificationSeverityByBackendNotificationType(\n (error.error as ErrorResponse).severity\n ),\n title: (error.error as ErrorResponse).errorTitle,\n message: (error.error as ErrorResponse).friendlyMessage,\n sticky: true,\n clearMessages: true,\n });\n this.loggingService.error('ERROR: (400)', { error: error });\n } else {\n this.router.navigate(['pages', 'error']);\n this.loggingService.error('ERROR: (SERVER_UNKNOW)', { error: error });\n }\n } else if (error instanceof Error) {\n let message = error.message ? error.message : error.toString();\n\n if (!this.appInitService.currentConfig?.log.debug) {\n message = this.i18NextPipe.transform(\n 'message:Something_went_wrong_in_our_end'\n );\n }\n\n this.notificationService.show({\n type: MxNotificationSeverity.Error,\n message: message,\n sticky: true,\n clearMessages: true,\n });\n this.loggingService.error('ERROR: (CLIENT_UNKNOW)', { error: error });\n } else {\n this.loggingService.error('ERROR: (UNKNOW)', { error: error });\n }\n }\n}\n","export * from './mx.logging.service';\nexport * from './mx.event-bus.service';\nexport * from './mx.app-init.service';\nexport * from './mx.menu.service';\nexport * from './mx.breadcrumb.service';\nexport * from './mx.app-color-scheme.service';\nexport * from './mx.app-sidebar.service';\nexport * from './mx.signal-r.service';\nexport * from './mx.validation.service';\nexport * from './mx.ip.service';\nexport * from './mx.browser-storage.service';\nexport * from './mx.notification.service';\nexport * from './mx.constans.service';\nexport * from './mx.export.service';\nexport * from './mx.identity.service';\nexport * from './mx.filter.service';\nexport * from './mx.query.service';\n","import { Injectable } from '@angular/core';\n\nimport { MxBrowserStorageService, MxStorageType } from './mx.browser-storage.service';\n\n// eslint-disable-next-line max-len\n@Injectable({\n providedIn: 'root',\n})\nexport class MxAppColorSchemeService {\n private _colorScheme?: string;\n\n get colorScheme(): string {\n return this._colorScheme;\n }\n set colorScheme(value: string) {\n MxBrowserStorageService.set(MxStorageType.Local, 'color-scheme', value);\n\n this._colorScheme = value;\n }\n\n constructor() {\n this._colorScheme = MxBrowserStorageService.get(MxStorageType.Local, 'color-scheme');\n }\n\n changeStyleSheetsColor(id: any, value: any, from: any) {\n const element = document.getElementById(id);\n const urlTokens = element.getAttribute('href').split('/');\n\n if (this.colorScheme === 'dark') {\n document.body.classList.remove('light');\n document.body.classList.add('dark');\n } else {\n document.body.classList.remove('dark');\n document.body.classList.add('light');\n }\n\n if (from === 1) {\n // which function invoked this function - change scheme\n urlTokens[urlTokens.length - 1] = value;\n } else if (from === 2) {\n // which function invoked this function - change color\n urlTokens[urlTokens.length - 2] = value;\n }\n\n const newURL = urlTokens.join('/');\n\n this.replaceLink(element, newURL);\n }\n\n isIE() {\n return /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\n }\n\n replaceLink(linkElement: any, href: any) {\n if (this.isIE()) {\n linkElement.setAttribute('href', href);\n } else {\n const id = linkElement.getAttribute('id');\n const cloneLinkElement = linkElement.cloneNode(true);\n\n cloneLinkElement.setAttribute('href', href);\n cloneLinkElement.setAttribute('id', id + '-clone');\n\n linkElement.parentNode.insertBefore(\n cloneLinkElement,\n linkElement.nextSibling\n );\n\n cloneLinkElement.addEventListener('load', () => {\n linkElement.remove();\n cloneLinkElement.setAttribute('id', id);\n });\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { AppConfigurationClient } from '@azure/app-configuration';\nimport {\n I18NextLoadResult,\n I18NEXT_SERVICE,\n ITranslationService,\n} from 'angular-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport HttpApi from 'i18next-http-backend';\nimport { ApiConfiguration } from 'src/app/backend-client/api-configuration';\nimport { MxAppConfig } from 'src/app/shared/domains/common/interfaces';\nimport { environment } from 'src/environments/environment';\nimport {\n MxAppColorSchemeService,\n MxAppSidebarService,\n MxIpService,\n MxConstans,\n MxConstansService,\n} from '.';\nimport { MxVersionCheckService } from './mx.version-check.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxAppInitService {\n private config?: MxAppConfig;\n private ip?: string;\n\n get currentConfig(): MxAppConfig {\n return this.config;\n }\n\n get currentIp(): string {\n return this.ip;\n }\n\n constructor(\n @Inject(I18NEXT_SERVICE) private i18next: ITranslationService,\n private appColorSchemeService: MxAppColorSchemeService,\n private appSidebarService: MxAppSidebarService,\n private apiConfiguration: ApiConfiguration,\n private ipService: MxIpService,\n private versionCheckService: MxVersionCheckService\n ) {}\n\n async versionCheck(): Promise {\n if (environment.production) {\n this.versionCheckService.initVersionCheck(\n `${document.getElementsByTagName('base')[0].href}version.json`\n );\n }\n }\n\n async loadConfig(): Promise {\n const client = new AppConfigurationClient(\n environment.appConfigurationConnectionString\n );\n //\n const setting = await client.getConfigurationSetting({\n key: 'app-webconfig',\n label: 'pr-b2b-hospital-web',\n });\n\n if (setting) {\n this.config = JSON.parse(setting?.value);\n this.apiConfiguration.rootUrl = this.config.api.url;\n if (this.config.log.debug) {\n console.log(this.config);\n }\n }\n }\n\n async loadIp(): Promise {\n this.ip = (await this.ipService.getIPAddress().toPromise()).ip;\n }\n\n async loadI18Next(): Promise {\n const i18nextOptions = {\n whitelist: ['en', 'hu'],\n fallbackLng: ['en', 'hu'],\n // debug: this.config ? this.config.log.debug : true,\n debug: false,\n returnEmptyString: false,\n ns: [\n 'translation',\n 'primeng',\n 'cookie',\n 'page',\n 'message',\n 'button',\n 'field',\n 'validation',\n 'enum',\n ],\n backend: {\n loadPath: `locales/{{lng}}/{{lng}}.{{ns}}.json?t=${new Date().getTime()}`,\n },\n };\n\n // order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag', 'path', 'subdomain'],\n const languageDetector = new LanguageDetector(null, {\n lookupLocalStorage: `${MxConstansService.get(\n MxConstans.LOCAL_STORAGE_PREFIX\n )}-language`,\n lookupQuerystring: 'lng',\n order: [\n 'querystring',\n 'localStorage',\n `${MxConstansService.get(\n MxConstans.LOCAL_STORAGE_PREFIX\n )}-language-detector`,\n ],\n });\n\n languageDetector.addDetector({\n name: `${MxConstansService.get(\n MxConstans.LOCAL_STORAGE_PREFIX\n )}-language-detector`,\n lookup(options: any) {\n // options -> are passed in options\n return 'hu';\n },\n\n cacheUserLanguage(lng: any, options: any) {\n // options -> are passed in options\n // lng -> current language, will be called after init and on changeLanguage\n // store it\n },\n });\n\n return this.i18next.use(HttpApi).use(languageDetector).init(i18nextOptions);\n }\n\n async loadColorSheme(): Promise {\n if (this.appColorSchemeService.colorScheme) {\n this.appColorSchemeService.changeStyleSheetsColor(\n `layout-css`,\n `layout-${this.appColorSchemeService.colorScheme}.css`,\n 1\n );\n this.appColorSchemeService.changeStyleSheetsColor(\n 'theme-css',\n `theme-${this.appColorSchemeService.colorScheme}.css`,\n 1\n );\n } else {\n this.appColorSchemeService.colorScheme = 'light';\n }\n }\n\n async loadSideBarSettings(): Promise {\n if (!this.appSidebarService.sidebarActive) {\n this.appSidebarService.sidebarActive = false;\n }\n\n if (!this.appSidebarService.sidebarStatic) {\n this.appSidebarService.sidebarStatic = false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { MxBrowserStorageService, MxStorageType } from './mx.browser-storage.service';\n\n// eslint-disable-next-line max-len\n@Injectable({\n providedIn: 'root',\n})\nexport class MxAppSidebarService {\n private _sidebarStatic?: boolean;\n\n get sidebarStatic(): boolean {\n return this._sidebarStatic;\n }\n set sidebarStatic(value: boolean) {\n MxBrowserStorageService.set(MxStorageType.Local, 'sidebar-static', value);\n this._sidebarStatic = value;\n }\n\n private _sidebarActive?: boolean;\n\n get sidebarActive(): boolean {\n return this._sidebarActive;\n }\n set sidebarActive(value: boolean) {\n MxBrowserStorageService.set(MxStorageType.Local, 'sidebar-active', value);\n this._sidebarActive = value;\n }\n\n constructor() {\n this._sidebarStatic = MxBrowserStorageService.get(MxStorageType.Local, 'sidebar-static');\n\n this._sidebarActive = MxBrowserStorageService.get(MxStorageType.Local, 'sidebar-active');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MenuItem } from 'primeng/api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxBreadcrumbService {\n\n private itemsSource = new Subject();\n\n itemsHandler = this.itemsSource.asObservable();\n\n setItems(items: MenuItem[]) {\n this.itemsSource.next(items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MxConstans, MxConstansService } from './mx.constans.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxBrowserStorageService {\n constructor() {}\n\n static set(\n type: MxStorageType,\n key: string,\n value: any,\n withoutPrefix: boolean = false\n ): void {\n const storageData: { key: string; value: string } = {\n key: withoutPrefix\n ? `${key}`\n : `${MxConstansService.get(MxConstans.LOCAL_STORAGE_PREFIX)}-${key}`,\n value: JSON.stringify(value),\n };\n\n if (type === MxStorageType.Local) {\n localStorage.setItem(storageData.key, storageData.value);\n } else {\n sessionStorage.setItem(storageData.key, storageData.value);\n }\n }\n\n static get(\n type: MxStorageType,\n key: string,\n withoutPrefix: boolean = false\n ): any {\n const storageData: { key: string } = {\n key: withoutPrefix\n ? `${key}`\n : `${MxConstansService.get(MxConstans.LOCAL_STORAGE_PREFIX)}-${key}`,\n };\n\n return JSON.parse(\n type === MxStorageType.Local\n ? localStorage.getItem(storageData.key)\n : sessionStorage.getItem(storageData.key)\n );\n }\n\n static remove(\n type: MxStorageType,\n key: string,\n withoutPrefix: boolean = false\n ): void {\n const storageData: { key: string } = {\n key: withoutPrefix\n ? `${key}`\n : `${MxConstansService.get(MxConstans.LOCAL_STORAGE_PREFIX)}-${key}`,\n };\n\n if (type === MxStorageType.Local) {\n localStorage.removeItem(storageData.key);\n } else {\n sessionStorage.removeItem(storageData.key);\n }\n }\n\n static clear(type: MxStorageType): void {\n if (type === MxStorageType.Local) {\n localStorage.clear();\n } else {\n sessionStorage.clear();\n }\n }\n}\n\nexport enum MxStorageType {\n Local = 10,\n Session = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxConstansService {\n constructor() {}\n\n static get(code: MxConstans): any {\n switch (code) {\n case MxConstans.LOCAL_STORAGE_PREFIX:\n return 'si';\n case MxConstans.PASSWORD_MIN_LENGTH:\n return 8;\n case MxConstans.ICON_INFO:\n return 'fa fa-info-circle fa-fw';\n case MxConstans.ICON_SUCCESS:\n return 'fa fa-check-circle fa-fw';\n case MxConstans.ICON_ERROR:\n return 'fa fa-times-circle fa-fw';\n case MxConstans.ICON_WARN:\n return 'fa fa-exclamation-triangle fa-fw';\n default:\n return undefined;\n }\n }\n}\n\nexport enum MxConstans {\n LOCAL_STORAGE_PREFIX = 10,\n PASSWORD_MIN_LENGTH = 20,\n ICON_INFO = 30,\n ICON_SUCCESS = 40,\n ICON_ERROR = 50,\n ICON_WARN = 60,\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxEventBusService {\n subject = new Subject();\n\n constructor() {}\n\n on(event: MxEvents, action: any): Subscription {\n return this.subject\n .pipe(\n filter((e: MxEmitEvent) => {\n return e.name === event;\n }),\n map((e: MxEmitEvent) => {\n return e.value;\n })\n )\n .subscribe(action);\n }\n\n emit(event: MxEmitEvent) {\n this.subject.next(event);\n }\n}\n\nexport class MxEmitEvent {\n constructor(public name: any, public value?: any) {}\n}\n\nexport enum MxEvents {\n HttpRequest,\n HttpResponse,\n ColorSchemaChange\n}\n","import { Injectable } from '@angular/core';\nimport { I18NextPipe } from 'angular-i18next';\nimport { Observable, of } from 'rxjs';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\nimport { MxColumnType } from 'src/app/shared/enums';\nimport {\n MxDateFormatPipe,\n MxFirstLetterOperationPipe,\n} from 'src/app/shared/pipes';\nimport * as XLSX from 'xlsx';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxExportService {\n constructor(\n private i18nextPipe: I18NextPipe,\n private firstLetterOperationPipe: MxFirstLetterOperationPipe,\n private dateFormatPipe: MxDateFormatPipe\n ) {}\n\n excelExport(\n datasource: any[],\n columns: MxTableColumn[],\n fileName: string\n ): Observable {\n const dsOut: any[] = [];\n\n datasource.forEach((val) => {\n const value = Object.assign({}, val);\n const newValue: any = {};\n\n Object.keys(value).forEach((key) => {\n const col = columns.find((f) => f.field === key);\n if (col) {\n this.transformData(col, value);\n newValue[\n this.i18nextPipe.transform(\n `field:${\n col.header\n ? this.firstLetterOperationPipe.transform(col.header)\n : this.firstLetterOperationPipe.transform(col.field)\n }`\n )\n ] = value[key];\n }\n });\n\n dsOut.push(Object.assign({}, newValue));\n });\n\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(dsOut);\n const workbook: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(workbook, worksheet, fileName);\n XLSX.writeFile(workbook, `${fileName}_export_${new Date().getTime()}.xlsx`);\n\n return of(dsOut);\n }\n\n private transformData(col: MxTableColumn, data: any): void {\n if (col.type === MxColumnType.Boolean) {\n data[col.field] = data[col.field]\n ? this.i18nextPipe.transform('Yes')\n : this.i18nextPipe.transform('No');\n } else if (col.type === MxColumnType.Enum) {\n data[col.field] = this.i18nextPipe.transform(\n `enum:${col.enumName}.${col.enum[data[col.field]]}`\n );\n } else if (col.type === MxColumnType.Number && col.isPercentage) {\n data[col.field] = data[col.field] * 100;\n\n } else if (col.type === MxColumnType.Date) {\n data[col.field] = this.dateFormatPipe.transform(\n data[col.field],\n 'YYYY.MM.DD.'\n );\n } else if (col.type === MxColumnType.DateTime) {\n data[col.field] = this.dateFormatPipe.transform(\n data[col.field],\n 'YYYY.MM.DD. HH:mm'\n );\n }\n\n if (col.prefix) {\n data[col.field] = `${col.prefix}${data[col.field]}`;\n }\n\n if (col.suffix) {\n data[col.field] = `${data[col.field]}${col.suffix}`;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FilterMatchMode } from 'primeng/api';\nimport { FilterInfo } from 'src/app/backend-client/models/Backend/Core/Api/Models/filter-info';\nimport { getDateToBackend } from '../utils';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxFilterService {\n constructor() {}\n\n static getQueryRequestFilterInfo(lazyLoadFilters: any): FilterInfo[] {\n const queryRequestFilterInfo: FilterInfo[] = [];\n Object.keys(lazyLoadFilters).forEach((key) => {\n if (key !== 'global') {\n const filter = { ...lazyLoadFilters[key][0] };\n if (filter) {\n if (filter.value !== null) {\n if (filter.matchMode === FilterMatchMode.BETWEEN) {\n queryRequestFilterInfo.push({\n selector: key,\n matchMode: this.getFilterInfoMatchMode(\n FilterMatchMode.GREATER_THAN_OR_EQUAL_TO\n ),\n value: this.getFilterInfoValue(\n filter.value[1],\n FilterMatchMode.GREATER_THAN_OR_EQUAL_TO\n ),\n });\n queryRequestFilterInfo.push({\n selector: key,\n matchMode: this.getFilterInfoMatchMode(\n FilterMatchMode.LESS_THAN_OR_EQUAL_TO\n ),\n value: this.getFilterInfoValue(\n filter.value[1],\n FilterMatchMode.LESS_THAN_OR_EQUAL_TO\n ),\n });\n } else {\n queryRequestFilterInfo.push({\n selector: key,\n matchMode: this.getFilterInfoMatchMode(filter.matchMode),\n value: this.getFilterInfoValue(filter.value, filter.matchMode),\n });\n }\n }\n }\n }\n });\n\n return queryRequestFilterInfo;\n }\n\n private static getFilterInfoMatchMode(matchMode: FilterMatchMode) {\n switch (matchMode) {\n case FilterMatchMode.CONTAINS:\n return MxMatchMode.Contains;\n case FilterMatchMode.NOT_CONTAINS:\n return MxMatchMode.NotContains;\n case FilterMatchMode.IN:\n return MxMatchMode.In;\n case FilterMatchMode.STARTS_WITH:\n return MxMatchMode.StartsWith;\n case FilterMatchMode.ENDS_WITH:\n return MxMatchMode.EndsWith;\n case FilterMatchMode.LESS_THAN_OR_EQUAL_TO:\n return MxMatchMode.LessThanOrEquals;\n case FilterMatchMode.LESS_THAN:\n return MxMatchMode.LessThan;\n case FilterMatchMode.GREATER_THAN_OR_EQUAL_TO:\n return MxMatchMode.GreaterThanOrEquals;\n case FilterMatchMode.GREATER_THAN:\n return MxMatchMode.GreaterThan;\n case FilterMatchMode.EQUALS:\n return MxMatchMode.Equals;\n case FilterMatchMode.NOT_EQUALS:\n return MxMatchMode.NotEquals;\n case FilterMatchMode.IS:\n return MxMatchMode.Equals;\n case FilterMatchMode.IS_NOT:\n return MxMatchMode.NotEquals;\n case FilterMatchMode.BEFORE:\n return MxMatchMode.LessThan;\n case FilterMatchMode.AFTER:\n return MxMatchMode.GreaterThan;\n case FilterMatchMode.DATE_IS:\n return MxMatchMode.Equals;\n case FilterMatchMode.DATE_IS_NOT:\n return MxMatchMode.NotEquals;\n case FilterMatchMode.DATE_BEFORE:\n return MxMatchMode.LessThan;\n case FilterMatchMode.DATE_AFTER:\n return MxMatchMode.GreaterThan;\n default:\n return MxMatchMode.Equals;\n }\n }\n\n private static getFilterInfoValue(value: any, matchMode: FilterMatchMode) {\n if (matchMode === FilterMatchMode.IN) {\n let ret = '';\n (value as any[]).forEach((element, i) => {\n ret =\n i === value.length - 1 ? `${ret}${element}` : `${ret}${element}||`;\n });\n\n return ret;\n } else if (\n matchMode === FilterMatchMode.DATE_IS ||\n matchMode === FilterMatchMode.DATE_IS_NOT ||\n matchMode === FilterMatchMode.DATE_BEFORE ||\n matchMode === FilterMatchMode.DATE_AFTER\n ) {\n return getDateToBackend(value);\n }\n return value.toString();\n }\n}\n\nexport enum MxMatchMode {\n Contains = 'contains',\n NotContains = 'notcontains',\n StartsWith = 'startswith',\n EndsWith = 'endswith',\n Equals = '=',\n NotEquals = '<>',\n GreaterThan = '>',\n GreaterThanOrEquals = '>=',\n LessThan = '<',\n LessThanOrEquals = '<=',\n In = 'in',\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AuthenticateRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/authenticate-request';\nimport { AuthenticateResponse } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/authenticate-response';\nimport { ChangePasswordRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/change-password-request';\nimport { DestroyAccountRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/destroy-account-request';\nimport { ForgotPasswordRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/forgot-password-request';\nimport { ResetPasswordRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/reset-password-request';\nimport { VerifyAccountRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/verify-account-request';\nimport { VerifyDestroyTokenRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/verify-destroy-token-request';\nimport { VerifyResetTokenRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/verify-reset-token-request';\nimport { SimpleResponse } from 'src/app/backend-client/models/SharedKernel/Models/simple-response';\nimport { IdentityBackendService } from 'src/app/backend-client/services';\n\nimport { MxLoggingService } from './mx.logging.service';\nimport { MxSignalRService } from './mx.signal-r.service';\n\n@Injectable({ providedIn: 'root' })\nexport class MxIdentityService {\n private accountSubject: BehaviorSubject;\n public account: Observable;\n\n constructor(\n private router: Router,\n private identityBackendService: IdentityBackendService,\n private loggingService: MxLoggingService,\n private signalRService: MxSignalRService\n ) {\n this.accountSubject = new BehaviorSubject(null);\n this.account = this.accountSubject.asObservable();\n }\n\n public get accountValue(): AuthenticateResponse {\n return this.accountSubject.value;\n // return {\n // correlationId: '',\n // createdOn: \"\",\n // email: 'demo@demo.com',\n // firstName: 'Demo',\n // id: 0,\n // isVerified: true,\n // jwtToken: null,\n // lastName: 'Felhasználó',\n // refreshToken: null,\n // role: null,\n // settings: { isFeature1Enabled: false, isFeature2Enabled: false },\n // subscription: { id: 0, name: '', type: SubscriptionType.Free },\n // updatedOn: null,\n // };\n }\n\n preAuthenticate(input: AuthenticateRequest): Observable {\n return this.identityBackendService.preAuthenticate$Json({\n body: input,\n });\n }\n\n login(input: AuthenticateRequest): Observable {\n return this.identityBackendService\n .authenticate$Json({\n body: input,\n })\n .pipe(\n map((account) => {\n this.accountSubject.next(account);\n this.startRefreshTokenTimer();\n // this.signalRService.start(account.email);\n return account;\n })\n );\n }\n\n loginAfterVerifyAccount(\n input: AuthenticateResponse\n ): Observable {\n this.accountSubject.next(input);\n this.startRefreshTokenTimer();\n // this.signalRService.start(input.email);\n return of(input);\n }\n\n logout(withoutNavigateToLogin: boolean = false): void {\n if (this.accountValue) {\n this.identityBackendService.revokeToken$Json$Response().subscribe();\n }\n this.stopRefreshTokenTimer();\n // this.signalRService.stop();\n this.accountSubject.next(null);\n if (!withoutNavigateToLogin) {\n this.router.navigate(['pages', 'login']);\n }\n }\n\n refreshToken(): Observable {\n return this.identityBackendService.refreshToken$Json().pipe(\n map((account) => {\n this.accountSubject.next(account);\n if (account) {\n this.startRefreshTokenTimer();\n // if (\n // this.signalRService.hubConnection?.state !== 'Connecting' &&\n // this.signalRService.hubConnection?.state !== 'Connected'\n // ) {\n // this.signalRService.start(account.email);\n // }\n this.loggingService.setAppInsightsAuthenticatedUserContext(account);\n }\n return account;\n })\n );\n }\n\n async refreshTokenLoad(): Promise {\n await this.refreshToken()\n .toPromise()\n .catch((err) => {\n this.loggingService.info(err);\n });\n }\n\n // register(input: RegisterRequest): Observable {\n // return this.identityBackendService.register$Json({ body: input });\n // }\n\n verifyAccount(input: VerifyAccountRequest): Observable {\n return this.identityBackendService.verifyAccount$Json({ body: input });\n }\n\n verifyAccountThenAuthenticate(\n input: VerifyAccountRequest\n ): Observable {\n return this.identityBackendService.verifyAccountThenAuthenticate$Json({\n body: input,\n });\n }\n\n forgotPassword(input: ForgotPasswordRequest): Observable {\n return this.identityBackendService.forgotPassword$Json({ body: input });\n }\n\n verifyResetToken(input: VerifyResetTokenRequest): Observable {\n return this.identityBackendService.verifyResetToken$Json({ body: input });\n }\n\n resetPassword(input: ResetPasswordRequest): Observable {\n return this.identityBackendService.resetPassword$Json({ body: input });\n }\n\n changePassword(input: ChangePasswordRequest): Observable {\n return this.identityBackendService.changePassword$Json({ body: input });\n }\n\n initiateDestroyAccount(): Observable {\n return this.identityBackendService.initiateDestroyAccount$Json();\n }\n\n verifyDestroyToken(\n input: VerifyDestroyTokenRequest\n ): Observable {\n return this.identityBackendService.verifyDestroyToken$Json({ body: input });\n }\n\n destroyAccount(input: DestroyAccountRequest): Observable {\n return this.identityBackendService.destroyAccount$Json({ body: input });\n }\n\n // helper methods\n\n private refreshTokenTimeout: any;\n\n private startRefreshTokenTimer() {\n // parse json object from base64 encoded jwt token\n\n const jwtToken = JSON.parse(atob(this.accountValue.jwtToken.split('.')[1]));\n\n // set a timeout to refresh the token a minute before it expires\n const expires = new Date(jwtToken.exp * 1000);\n const timeout = expires.getTime() - Date.now() - 60 * 1000;\n this.refreshTokenTimeout = setTimeout(\n () => this.refreshToken().subscribe(),\n timeout\n );\n }\n\n private stopRefreshTokenTimer() {\n clearTimeout(this.refreshTokenTimeout);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxIpService {\n constructor(private http: HttpClient) {}\n\n public getIPAddress(): Observable<{ ip: string }> {\n return of({ ip: '0.0.0.0' });\n // return this.http.get<{ ip: string }>('https://api.ipify.org/?format=json');\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ApplicationInsights,\n SeverityLevel,\n} from '@microsoft/applicationinsights-web';\nimport { NGXLogger, NgxLoggerLevel } from 'ngx-logger';\nimport { AuthenticateResponse } from 'src/app/backend-client/models/Backend/Core/Api/Models/Identity/authenticate-response';\nimport { MxAppInitService } from './mx.app-init.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxLoggingService {\n appInsights: ApplicationInsights;\n // https://geeklearning.io/monitor-your-angular-app-with-application-insights/\n\n accountForAppinsight: AuthenticateResponse;\n\n constructor(\n private logger: NGXLogger,\n private appInitService: MxAppInitService\n ) {}\n\n async load(): Promise {\n if (this.appInitService.currentConfig) {\n if (this.appInitService.currentConfig.log.debug) {\n this.logger.updateConfig({\n level: NgxLoggerLevel.TRACE,\n disableConsoleLogging:\n !this.appInitService.currentConfig.log.consoleLogging,\n colorScheme: ['purple', 'teal', 'gray', 'gray', 'red', 'red', 'red'],\n });\n } else {\n this.logger.updateConfig({\n level: NgxLoggerLevel.WARN,\n disableConsoleLogging:\n !this.appInitService.currentConfig.log.consoleLogging,\n colorScheme: [\n 'purple',\n 'teal',\n 'gray',\n 'gray',\n 'yellow',\n 'red',\n 'red',\n ],\n });\n }\n\n this.appInsights = new ApplicationInsights({\n config: {\n instrumentationKey:\n this.appInitService.currentConfig.appInsights.instrumentationKey,\n enableAutoRouteTracking:\n this.appInitService.currentConfig.appInsights\n .enableAutoRouteTracking, // option to log all route changes\n autoTrackPageVisitTime:\n this.appInitService.currentConfig.appInsights\n .autoTrackPageVisitTime,\n },\n });\n this.appInsights.loadAppInsights();\n } else {\n this.logger.updateConfig({\n level: NgxLoggerLevel.ERROR,\n disableConsoleLogging: false,\n colorScheme: ['purple', 'teal', 'gray', 'gray', 'yellow', 'red', 'red'],\n });\n }\n }\n\n trace(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.trace(message, properties)\n : this.logger.trace(properties);\n\n if (this.appInitService.currentConfig) {\n this.logAppInsightsTrace(message, properties);\n }\n }\n\n info(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.info(message, properties)\n : this.logger.info(message);\n\n if (properties?.error) {\n this.logAppInsightsException(\n properties?.error,\n SeverityLevel.Information\n );\n }\n }\n\n log(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.log(message, properties)\n : this.logger.log(message);\n if (this.appInitService.currentConfig) {\n if (this.shouldAppInsightsLog(NgxLoggerLevel.LOG)) {\n if (properties?.error) {\n this.logAppInsightsException(\n properties?.error,\n SeverityLevel.Verbose\n );\n }\n }\n }\n }\n\n warn(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.warn(message, properties)\n : this.logger.warn(message);\n if (this.appInitService.currentConfig) {\n if (this.shouldAppInsightsLog(NgxLoggerLevel.WARN)) {\n if (properties?.error) {\n this.logAppInsightsException(\n properties?.error,\n SeverityLevel.Warning\n );\n }\n }\n }\n }\n\n error(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.error(message, properties)\n : this.logger.error(message);\n if (this.appInitService.currentConfig) {\n if (this.shouldAppInsightsLog(NgxLoggerLevel.ERROR)) {\n if (properties?.error) {\n this.logAppInsightsException(properties?.error, SeverityLevel.Error);\n }\n }\n }\n }\n\n fatal(message: any, properties?: { [key: string]: any }) {\n properties\n ? this.logger.fatal(message, properties)\n : this.logger.fatal(message);\n if (this.appInitService.currentConfig) {\n if (this.shouldAppInsightsLog(NgxLoggerLevel.FATAL)) {\n if (properties?.error) {\n this.logAppInsightsException(\n properties?.error,\n SeverityLevel.Critical\n );\n }\n }\n }\n }\n\n setAppInsightsAuthenticatedUserContext(account: AuthenticateResponse) {\n this.accountForAppinsight = account;\n this.appInsights.setAuthenticatedUserContext(\n this.accountForAppinsight.id.toString()\n );\n }\n\n logAppInsightsPageView(\n name: string,\n url?: string,\n properties?: { [key: string]: string }\n ) {\n this.appInsights.trackPageView({\n name: name,\n uri: url,\n properties: this.addAppInsightsGlobalProperties(properties),\n isLoggedIn: this.accountForAppinsight ? true : false,\n });\n }\n\n logAppInsightsEvent(name: string, properties?: { [key: string]: any }) {\n this.appInsights.trackEvent({ name: name }, properties);\n }\n\n logAppInsightsMetric(\n name: string,\n average: number,\n properties?: { [key: string]: any }\n ) {\n this.appInsights.trackMetric({ name: name, average: average }, properties);\n }\n\n logAppInsightsException(exception: Error, severityLevel?: number) {\n this.appInsights.trackException({\n exception: exception,\n severityLevel: severityLevel,\n });\n }\n\n logAppInsightsTrace(message: string, properties?: { [key: string]: any }) {\n this.appInsights.trackTrace({ message: message }, properties);\n }\n\n private addAppInsightsGlobalProperties(properties?: {\n [key: string]: string;\n }): { [key: string]: string } {\n if (!properties) {\n properties = {};\n }\n\n //add your custom properties such as app version\n\n return properties;\n }\n\n private shouldAppInsightsLog(level: NgxLoggerLevel) {\n if (this.logger.level === NgxLoggerLevel.OFF) {\n return false;\n } else if (this.logger.level === NgxLoggerLevel.INFO) {\n return level === NgxLoggerLevel.INFO;\n } else if (this.logger.level === NgxLoggerLevel.LOG) {\n return level === NgxLoggerLevel.INFO || level === NgxLoggerLevel.LOG;\n } else if (this.logger.level === NgxLoggerLevel.WARN) {\n return (\n level === NgxLoggerLevel.INFO ||\n level === NgxLoggerLevel.LOG ||\n level === NgxLoggerLevel.WARN\n );\n } else if (this.logger.level === NgxLoggerLevel.ERROR) {\n return (\n level === NgxLoggerLevel.INFO ||\n level === NgxLoggerLevel.LOG ||\n level === NgxLoggerLevel.WARN ||\n level === NgxLoggerLevel.ERROR\n );\n } else if (this.logger.level === NgxLoggerLevel.FATAL) {\n return (\n level === NgxLoggerLevel.INFO ||\n level === NgxLoggerLevel.LOG ||\n level === NgxLoggerLevel.WARN ||\n level === NgxLoggerLevel.ERROR ||\n level === NgxLoggerLevel.FATAL\n );\n } else {\n return true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { Role } from 'src/app/backend-client/models/Backend/Core/Infrastructure/Aggregates/Identity/role';\nimport { MxMenuRightsPipe } from 'src/app/shared/pipes';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxMenuService {\n private menuSource = new Subject();\n private resetSource = new Subject();\n\n menuSource$ = this.menuSource.asObservable();\n resetSource$ = this.resetSource.asObservable();\n\n menu: any[];\n\n constructor(private menuRightsPipe: MxMenuRightsPipe) {\n this.resetMenu();\n }\n\n resetMenu() {\n this.menu = [\n {\n label: 'Home',\n icon: 'fa fa-home fa-fw',\n routerLink: ['/'],\n visible: true,\n },\n {\n label: 'Tender',\n icon: 'fas fa-plus-circle fa-fw',\n visible: true,\n items: [\n {\n label: 'Products',\n icon: 'fas fa-tags fa-fw',\n routerLink: ['/products/tender'],\n visible: true,\n },\n {\n label: 'Posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/tender'],\n visible: true,\n },\n // {\n // label: 'Orders',\n // icon: 'fas fa-cart-plus fa-fw',\n // routerLink: ['/orders/tender'],\n // visible: true,\n // },\n ],\n },\n {\n label: 'Custom_import',\n icon: 'fas fa-plus-circle fa-fw',\n visible: true,\n items: [\n {\n label: 'Custom_import_products',\n icon: 'fas fa-road fa-fw',\n routerLink: ['/products/custom-import'],\n visible: true,\n },\n {\n label: 'Contingent_licensed_products',\n icon: 'fas fa-rocket fa-fw',\n routerLink: ['/products/contingent-licensed'],\n visible: true,\n },\n {\n label: 'Posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/custom-import'],\n visible: true,\n },\n {\n label: 'Orders',\n icon: 'fas fa-cart-plus fa-fw',\n routerLink: ['/orders/custom-import'],\n visible: true,\n },\n ],\n },\n {\n label: 'Registered_medicines',\n icon: 'fas fa-plus-circle fa-fw',\n visible: true,\n items: [\n {\n label: 'Products',\n icon: 'fas fa-boxes fa-fw',\n routerLink: ['/products/registered-medicines'],\n visible: true,\n },\n {\n label: 'Posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/registered-medicines'],\n visible: true,\n },\n // {\n // label: 'Orders',\n // icon: 'fas fa-cart-plus fa-fw',\n // routerLink: ['/orders/registered-medicines'],\n // visible: true,\n // },\n ],\n },\n {\n label: 'Orders',\n icon: 'fas fa-cart-plus fa-fw',\n routerLink: ['/orders/all'],\n visible: true,\n },\n {\n label: 'Posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/all'],\n visible: true,\n },\n {\n label: 'Administration',\n icon: 'fa fa-tools fa-fw',\n visible: this.menuRightsPipe.transform([\n Role.Admin,\n Role.Administrator,\n ]),\n items: [\n {\n label: 'Orders',\n icon: 'fas fa-cart-plus fa-fw',\n routerLink: ['/orders/admin-all'],\n visible: true,\n },\n {\n label: 'Products',\n icon: 'fas fa-boxes fa-fw',\n routerLink: ['/products/all'],\n visible: true,\n },\n {\n label: 'Category_posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/category-posts'],\n visible: true,\n },\n {\n label: 'Product_posts',\n icon: 'fas fa-rss fa-fw',\n routerLink: ['/posts/product-posts'],\n visible: true,\n },\n {\n label: 'Product_documents',\n icon: 'fas fa-file fa-fw',\n routerLink: ['/documents/product'],\n visible: true,\n },\n {\n label: 'Subscriptions',\n icon: 'fa fa-bell fa-fw',\n routerLink: ['/subscriptions'],\n visible: true,\n },\n {\n label: 'Internal_users',\n icon: 'fa fa-user fa-fw',\n routerLink: ['/users/internal'],\n visible: true,\n },\n {\n label: 'External_users',\n icon: 'fa fa-user-md fa-fw',\n routerLink: ['/users/external'],\n visible: true,\n },\n ],\n },\n ];\n }\n\n onMenuStateChange(key: string) {\n this.menuSource.next(key);\n }\n\n reset() {\n this.resetSource.next();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { I18NextPipe } from 'angular-i18next';\nimport { MessageService } from 'primeng/api';\nimport { NotificationType } from 'src/app/backend-client/models/SharedKernel/Messaging/SignalR/notification-type';\nimport { MxConstans, MxConstansService } from './mx.constans.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxNotificationService {\n constructor(\n private messageService: MessageService,\n\n private i18nextPipe: I18NextPipe\n ) {}\n\n show(notification: MxNotification) {\n if (notification.clearMessages) {\n this.clear();\n }\n\n this.messageService.add({\n key: 'notification-toast',\n severity: notification.type,\n summary: notification.title\n ? notification.translate\n ? this.i18nextPipe.transform(notification.title)\n : notification.title\n : notification.type,\n detail: notification.translate\n ? this.i18nextPipe.transform(notification.message)\n : notification.message,\n life: notification.life ? notification.life : 5000,\n sticky: notification.sticky,\n icon: this.getNotificationIcon(notification),\n });\n }\n\n getNotificationIcon(notification: MxNotification): string {\n switch (notification.type) {\n case MxNotificationSeverity.Info:\n return MxConstansService.get(MxConstans.ICON_INFO);\n\n case MxNotificationSeverity.Success:\n return MxConstansService.get(MxConstans.ICON_SUCCESS);\n\n case MxNotificationSeverity.Error:\n return MxConstansService.get(MxConstans.ICON_ERROR);\n\n case MxNotificationSeverity.Warn:\n return MxConstansService.get(MxConstans.ICON_WARN);\n }\n }\n\n getNotificationSeverityByBackendNotificationType(\n notificationType: NotificationType\n ): MxNotificationSeverity {\n switch (notificationType) {\n case NotificationType.Info:\n return MxNotificationSeverity.Info;\n\n case NotificationType.Success:\n return MxNotificationSeverity.Success;\n\n case NotificationType.Error:\n return MxNotificationSeverity.Error;\n\n case NotificationType.Warn:\n return MxNotificationSeverity.Warn;\n }\n }\n\n clear() {\n this.messageService.clear();\n }\n}\n\nexport interface MxNotification {\n type: MxNotificationSeverity;\n title?: string;\n message: string;\n sticky?: boolean;\n life?: number;\n clearMessages?: boolean;\n translate?: boolean;\n}\n\nexport enum MxNotificationSeverity {\n Success = 'success',\n Info = 'info',\n Warn = 'warn',\n Error = 'error',\n}\n","import { Injectable } from '@angular/core';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { FilterInfo } from 'src/app/backend-client/models/Backend/Core/Api/Models/filter-info';\nimport { QueryRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/query-request';\nimport { MxMatchMode } from '.';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxQueryService {\n constructor() {}\n\n static getQueryRequest(\n lazyLoadEvent: LazyLoadEvent,\n defaultSort: string,\n globalFilterColumns: string[],\n filterInfo: FilterInfo[] = []\n ): QueryRequest {\n return {\n skip: lazyLoadEvent ? lazyLoadEvent.first : 0,\n take: lazyLoadEvent ? lazyLoadEvent.rows : 0,\n filter: filterInfo,\n globalFilter: lazyLoadEvent.globalFilter\n ? globalFilterColumns.map((m) => {\n return {\n selector: m,\n matchMode: MxMatchMode.Contains,\n value: lazyLoadEvent.globalFilter,\n };\n })\n : null,\n defaultSort: defaultSort,\n sort: lazyLoadEvent.sortField\n ? [\n {\n desc: lazyLoadEvent.sortOrder === -1,\n selector: lazyLoadEvent.sortField,\n },\n ]\n : null,\n };\n }\n\n static getQueryResponseResult(result: any): {\n data: any[];\n totalRecords: number;\n } {\n return {\n data: result.items,\n totalRecords: result.recordCount,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\nimport { HubConnection } from '@microsoft/signalr';\nimport { NotificationType } from 'src/app/backend-client/models/SharedKernel/Messaging/SignalR/notification-type';\nimport {\n MxAppInitService,\n MxNotificationService,\n MxNotificationSeverity,\n} from '.';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxSignalRService {\n private _hubConnection: HubConnection;\n\n get hubConnection(): HubConnection {\n return this._hubConnection;\n }\n\n constructor(\n private appInitService: MxAppInitService,\n private notificationService: MxNotificationService\n ) {}\n\n async start(username: string) {\n this._hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(\n `${this.appInitService.currentConfig.signalR.url}?username=${username}`\n )\n .build();\n\n await this.hubConnection.start();\n\n this.hubConnection.on(\n this.appInitService.currentConfig.signalR.notificationSubscribtion,\n (message: Message) => {\n const mess = message.messageContent.replace('\\r\\n', '
    ');\n let notificationSeverity =\n this.notificationService.getNotificationSeverityByBackendNotificationType(\n message.type\n );\n\n this.notificationService.show({\n type: notificationSeverity,\n message: mess,\n title: message.messageTitle,\n sticky: notificationSeverity === MxNotificationSeverity.Error,\n clearMessages: notificationSeverity === MxNotificationSeverity.Error,\n });\n }\n );\n\n this.hubConnection.invoke('joinGroup', 'demo');\n }\n\n stop(): void {\n if (this.hubConnection) {\n this.hubConnection.stop();\n }\n }\n}\n\nexport interface Message {\n senderName: string;\n\n sendTime: string;\n\n recipient: string;\n\n isGroupMessage: boolean;\n\n sequenceId: string;\n\n type: NotificationType;\n\n messageTitle: string;\n\n messageContent: string;\n\n status: MxMessageStatus;\n}\n\nexport enum MxMessageStatus {\n New,\n Sent,\n Viewed,\n Removed,\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxValidationService {\n constructor() {}\n\n static getValidatorError(code: string, validatorValue?: any) {\n let params;\n\n if (code === 'minlength') {\n params = [];\n params.push({ requiredLength: validatorValue.requiredLength });\n }\n\n if (code === 'maxlength') {\n params = [];\n params.push({ requiredLength: validatorValue.requiredLength });\n }\n\n return { message: code, params: params };\n }\n\n static creditCardValidator(control: AbstractControl) {\n // Visa, MasterCard, American Express, Diners Club, Discover, JCB\n // tslint:disable-next-line\n if (\n control.value?.match(\n /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/\n )\n ) {\n return null;\n } else {\n return { invalidCreditCard: true };\n }\n }\n\n static emailValidator(control: AbstractControl) {\n // RFC 2822 compliant regex\n // tslint:disable-next-line\n if (\n control.value?.match(\n /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/\n )\n ) {\n return null;\n } else {\n return { invalidEmailAddress: true };\n }\n }\n\n static passwordValidator(control: AbstractControl) {\n // {6,100} - Assert password is between 6 and 100 characters\n // (?=.*[0-9]) - Assert a string has at least one number\n // (?!.*\\s) - Spaces are not allowed\n // control.value.match(/^(?=.*\\d)(?=.*[a-zA-Z!@#$%^&*])(?!.*\\s).{6,100}$/)\n // tslint:disable-next-line\n if (\n //Password should be atleast 8 characters long and should contain one number,one character and one special character\n control.value?.match(\n /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&+-.])[A-Za-z\\d$@$!%*#?&+-.]{8,}$/\n )\n ) {\n return null;\n } else {\n return { invalidPassword: true };\n }\n }\n\n static acceptTermsValidator(control: AbstractControl) {\n if (control.value === true) {\n return null;\n } else {\n return { invalidAcceptTerms: true };\n }\n }\n\n static passwordMustMatchValidator(\n controlName: string,\n matchingControlName: string\n ) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n if (matchingControl.errors && !matchingControl.errors.passwordMustMatch) {\n // return if another validator has already found an error on the matchingControl\n return;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ passwordMustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MxBrowserStorageService, MxStorageType } from '.';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MxVersionCheckService {\n // this will be replaced by actual hash post-build.js\n private currentHash = '{{POST_BUILD_ENTERS_HASH_HERE}}';\n constructor(private http: HttpClient) {}\n /**\n * Checks in every set frequency the version of frontend application\n * @param url\n * @param {number} frequency - in milliseconds, defaults to 30 minutes\n */\n public initVersionCheck(url: string, frequency = 1000 * 60 * 30) {\n setInterval(() => {\n this.checkVersion(url);\n }, frequency);\n this.checkVersion(url);\n }\n\n /**\n * Will do the call and check if the hash has changed or not\n * @param url\n */\n private checkVersion(url: string) {\n // timestamp these requests to invalidate caches\n this.http.get(url + '?t=' + new Date().getTime()).subscribe(\n (response: any) => {\n const hash = response.hash;\n const appVersion = MxBrowserStorageService.get(\n MxStorageType.Local,\n 'app-version'\n );\n\n if (!appVersion) {\n MxBrowserStorageService.set(\n MxStorageType.Local,\n 'app-version',\n response\n );\n }\n\n const hashChanged = this.hasHashChanged(\n appVersion ? appVersion.hash : this.currentHash,\n hash\n );\n\n // If new version, do something\n if (hashChanged) {\n MxBrowserStorageService.set(\n MxStorageType.Local,\n 'app-version',\n response\n );\n window.location.reload();\n }\n // store the new hash so we wouldn't trigger versionChange again\n // only necessary in case you did not force refresh\n this.currentHash = hash;\n },\n (err) => {\n console.log('Could not get version', { error: err });\n }\n );\n }\n\n /**\n * Checks if hash has changed.\n * This file has the JS hash, if it is a different one than in the version.json\n * we are dealing with version change\n * @param currentHash\n * @param newHash\n * @returns {boolean}\n */\n private hasHashChanged(currentHash: string, newHash: string) {\n if (!currentHash || currentHash === '{{POST_BUILD_ENTERS_HASH_HERE}}') {\n return false;\n }\n return currentHash !== newHash;\n }\n}\n","// Preloading example from https://angular.io/docs/ts/latest/guide/router.html#!#custom-preloading\n\nimport { Injectable } from '@angular/core';\nimport { PreloadingStrategy, Route } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { MxLoggingService } from '../services';\n\n@Injectable()\nexport class MxPreloadModulesStrategy implements PreloadingStrategy {\n\n constructor(private log: MxLoggingService) {}\n\n preload(route: Route, load: () => Observable): Observable {\n if (route.data && route.data['preload']) {\n this.log.log('Preloaded: ' + route.path);\n return load();\n } else {\n return of(null);\n }\n }\n\n}\n","export * from './mx.common';\nexport * from './mx.enum';\nexport * from './mx.date';\n","\nexport function baseHrefFactory() {\n let expectedBaseHref = document.getElementsByTagName('base')[0].attributes[0].nodeValue;\n let currentBaseHref = window.location.pathname.substr(\n 0,\n expectedBaseHref.length\n );\n if (\n expectedBaseHref.toLowerCase() === currentBaseHref.toLowerCase() &&\n expectedBaseHref !== currentBaseHref\n ) {\n const newLocation = window.location.href.replace(\n currentBaseHref,\n expectedBaseHref\n );\n window.location.replace(newLocation);\n }\n return expectedBaseHref;\n}\n\nexport function isPromise(obj: any): obj is Promise {\n return !!obj && typeof obj.then === \"function\";\n}","import * as moment from 'moment';\n\nexport function getDateToFrontend(value: string): Date {\n return moment(\n moment(value).utcOffset(0).format('YYYY-MM-DD HH:mm'),\n 'YYYY-MM-DD HH:mm',\n true\n ).toDate();\n}\n\nexport function getDateToBackend(value: string | Date): string {\n return moment(value).utc(true).toISOString();\n}\n","import { Language } from \"src/app/backend-client/models/SharedKernel/Common/language\";\n\nexport const languageEnumFromString = function (value: string): Language {\n return value === 'hu' ? Language.Hu : Language.En;\n};\n","import { NgModule } from '@angular/core';\nimport { AccordionModule } from 'primeng/accordion';\nimport { ConfirmationService, MessageService } from 'primeng/api';\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\nimport { ButtonModule } from 'primeng/button';\nimport { CalendarModule } from 'primeng/calendar';\nimport { CardModule } from 'primeng/card';\nimport { ChartModule } from 'primeng/chart';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\nimport { DialogModule } from 'primeng/dialog';\nimport { DividerModule } from 'primeng/divider';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { EditorModule } from 'primeng/editor';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { ListboxModule } from 'primeng/listbox';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { PasswordModule } from 'primeng/password';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { RippleModule } from 'primeng/ripple';\nimport { SelectButtonModule } from 'primeng/selectbutton';\nimport { SkeletonModule } from 'primeng/skeleton';\nimport { SliderModule } from 'primeng/slider';\nimport { SpeedDialModule } from 'primeng/speeddial';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport { TableModule } from 'primeng/table';\nimport { TabViewModule } from 'primeng/tabview';\nimport { TieredMenuModule } from 'primeng/tieredmenu';\nimport { TimelineModule } from 'primeng/timeline';\nimport { ToolbarModule } from 'primeng/toolbar';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { DataViewModule } from 'primeng/dataview';\nimport { BadgeModule } from 'primeng/badge';\n\n@NgModule({\n providers: [MessageService, ConfirmationService],\n exports: [\n TableModule,\n ButtonModule,\n CardModule,\n DropdownModule,\n InputTextModule,\n RippleModule,\n SliderModule,\n TooltipModule,\n MultiSelectModule,\n PaginatorModule,\n SplitButtonModule,\n SpeedDialModule,\n InputSwitchModule,\n SelectButtonModule,\n SkeletonModule,\n TabViewModule,\n TimelineModule,\n EditorModule,\n AccordionModule,\n PasswordModule,\n ToolbarModule,\n OverlayPanelModule,\n InputTextareaModule,\n CheckboxModule,\n BreadcrumbModule,\n CalendarModule,\n RadioButtonModule,\n DialogModule,\n ConfirmPopupModule,\n TieredMenuModule,\n ListboxModule,\n ChartModule,\n DividerModule,\n KeyFilterModule,\n DataViewModule,\n BadgeModule,\n ],\n})\nexport class PrimengModule {}\n","import { NgModule } from '@angular/core';\n\nimport { MxDialogModule } from './mx.dialog/mx.dialog.module';\nimport { MxDropdownModule } from './mx.dropdown/mx.dropdown.module';\nimport { MxFileUploadModule } from './mx.file-upload/mx.file-upload.module';\nimport { MxFormControlMessagesModule } from './mx.form-control/mx.form-control-messages/mx.form-control-messages.module';\nimport { MxInputSwitchModule } from './mx.input-switch/mx.input-switch.module';\nimport { MxMultiSelectModule } from './mx.multi-select/mx.multi-select.module';\nimport { MxOverlayPanelModule } from './mx.overlay-panel/mx.overlay-panel.module';\nimport { MxSliderModule } from './mx.slider/mx.slider.module';\nimport { MxTableModule } from './mx.table/mx.table.module';\n\n@NgModule({\n exports: [\n MxFormControlMessagesModule,\n MxDialogModule,\n MxTableModule,\n MxSliderModule,\n MxDropdownModule,\n MxMultiSelectModule,\n MxInputSwitchModule,\n MxOverlayPanelModule,\n MxFileUploadModule\n ],\n})\nexport class MxComponentsModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Dialog } from 'primeng/dialog';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-dialog',\n templateUrl: './mx.dialog.component.html',\n styleUrls: ['./mx.dialog.component.scss'],\n})\nexport class MxDialogComponent extends MxBaseComponent implements OnInit {\n @ViewChild('dialog') dialog: Dialog;\n\n /* Title text of the dialog. */\n @Input() header: string;\n\n /* Enables dragging to change the position using header. */\n @Input() draggable: boolean = true;\n\n /* Keeps dialog in the viewport. */\n @Input() keepInViewport: boolean = true;\n\n /* Enables resizing of the content. */\n @Input() resizable: boolean = true;\n\n /* Specifies the visibility of the dialog. */\n @Input() visible: boolean;\n\n /* Defines if background should be blocked when dialog is displayed. */\n @Input() modal: boolean = true;\n\n /* Position of the dialog, options are \"center\", \"top\", \"bottom\", \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\" or \"bottom-right\". */\n @Input() position: string;\n\n /* Whether background scroll should be blocked when dialog is visible. */\n @Input() blockScroll: boolean;\n\n /* \tSpecifices if pressing escape key should hide the dialog. */\n @Input() closeOnEscape: boolean = true;\n\n /* Specifices if clicking the modal background should hide the dialog. */\n @Input() dismissableMask: boolean = true;\n\n /* \tAdds a close icon to the header to hide the dialog. */\n @Input() closable: boolean = true;\n\n /* Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name). */\n @Input() appendTo: any = 'body';\n\n /* Inline style of the component. */\n @Input() style: object;\n\n /* Style class of the component. */\n @Input() styleClass: string;\n\n /* Style class of the mask. */\n @Input() maskStyleClass: string;\n\n /* Inline style of the content. */\n @Input() contentStyle: object;\n\n /* Style class of the content. */\n @Input() contentStyleClass: string;\n\n /* Whether to show the header or not. */\n @Input() showHeader: boolean = true;\n\n /* Base zIndex value to use in layering. */\n @Input() baseZIndex: number = 0;\n\n /* Whether to automatically manage layering. */\n @Input() autoZIndex: boolean = true;\n\n /* Minimum value for the left coordinate of dialog in dragging. */\n @Input() minX: number = 0;\n\n /* Minimum value for the top coordinate of dialog in dragging. */\n @Input() minY: number = 0;\n\n /* When enabled, first button receives focus on show. */\n @Input() focusOnShow: boolean = true;\n\n /* When enabled, can only focus on elements inside the dialog. */\n @Input() focusTrap: boolean = true;\n\n /* Whether the dialog can be displayed full screen. */\n @Input() maximizable: boolean;\n\n /* Object literal to define widths per screen size. */\n @Input() breakpoints: any = { '960px': '75vw', '640px': '100vw' };\n\n /* Name of the close icon. */\n @Input() closeIcon: string = 'fa fa-times fa-fw';\n\n /* Name of the minimize icon. */\n @Input() minimizeIcon: string = 'pi pi-window-minimize';\n\n /* Name of the maximize icon. */\n @Input() maximizeIcon: string = 'pi pi-window-maximize';\n\n /* Specifies the visibility of the dialog. */\n @Output() visibleChange: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog is shown. */\n @Output() mxOnShow: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog is hidden. */\n @Output() mxOnHide: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog resizing is initiated. */\n @Output() mxOnResizeInit: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog resizing is completed. */\n @Output() mxOnResizeEnd: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog dragging is completed. */\n @Output() mxOnDragEnd: EventEmitter = new EventEmitter();\n\n /* Callback to invoke when dialog maximized or unmaximized. */\n @Output() mxOnMaximize: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n onShow(event: any) {\n this.mxOnShow.emit(event);\n }\n\n onHide(event: any) {\n this.visibleChange.emit(this.visible);\n this.mxOnHide.emit(event);\n }\n\n onResizeInit(event: any) {\n this.mxOnResizeInit.emit(event);\n }\n\n onResizeEnd(event: any) {\n this.mxOnResizeEnd.emit(event);\n }\n\n onDragEnd(event: any) {\n this.mxOnDragEnd.emit(event);\n }\n\n onMaximize(event: any) {\n this.mxOnMaximize.emit(event);\n }\n}\n","\n \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxDialogComponent } from './mx.dialog.component';\n\nexport const COMPONENTS: any[] = [\n MxDialogComponent,\n];\n\n@NgModule({\n imports: [CommonModule, PrimengModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxDialogModule {}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Dropdown } from 'primeng/dropdown';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-dropdown',\n templateUrl: './mx.dropdown.component.html',\n styleUrls: ['./mx.dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MxDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class MxDropdownComponent\n extends MxBaseComponent\n implements ControlValueAccessor\n{\n @ViewChild('dropdown') dropdown: Dropdown;\n\n /**\n * Identifier of the input element.\n */\n @HostBinding('attr.id')\n externalId = '';\n\n @Input()\n set id(value: string) {\n this._id = value;\n this.externalId = null;\n }\n\n get id() {\n return this._id;\n }\n\n private _id = '';\n\n /**\n * Name of the input element.\n */\n @HostBinding('attr.name')\n externalName = '';\n\n @Input()\n set name(value: string) {\n this._name = value;\n this.externalName = null;\n }\n\n get inputName() {\n return this._name;\n }\n\n private _name = '';\n\n /**\n * Index of the element in tabbing order.\n */\n @HostBinding('attr.tabindex')\n externalTabindex = '';\n\n @Input()\n set tabindex(value: number) {\n this._tabindex = value;\n this.externalTabindex = null;\n }\n\n get tabindex() {\n return this._tabindex;\n }\n\n private _tabindex: number = null;\n\n /**\n * Value of the input element.\n */\n @Input('value') _value: any = null;\n onChange: any = () => {};\n onTouched: any = () => {};\n\n get value() {\n return this._value;\n }\n\n set value(val) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n /**\n * Component is visible\n */\n @Input() visible: boolean = true;\n\n /**\n * \tAn array of objects to display as the available options.\n */\n @Input() options: any;\n\n /**\n * \tName of the label field of an option.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Name of the value field of an option.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Name of the disabled field of an option.\n */\n @Input() optionDisabled: string = 'disabled';\n\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n */\n @Input() scrollHeight: string = '200px';\n\n /**\n * Inline style of the element.\n */\n @Input() style: any;\n\n /**\n * Inline style of the overlay panel element.\n */\n @Input() panelStyle: any;\n\n /**\n * Style class of the element.\n */\n @Input() styleClass: any;\n\n /**\n * When specified, displays an input field to filter the items on keyup.\n */\n @Input() filter: boolean = true;\n\n /**\n * \tWhen specified, filter displays with this value.\n */\n @Input() filterValue: string;\n\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n */\n @Input() filterBy: string = 'label';\n\n /**\n * Defines how the items are filtered, valid values are \"contains\" (default) \"startsWith\", \"endsWith\", \"equals\", \"notEquals\", \"in\", \"lt\", \"lte\", \"gt\" and \"gte\".\n */\n @Input() filterMatchMode: string = 'contains';\n\n /**\n * When present, it specifies that the component should be disabled.\n */\n @Input() disabled: boolean = false;\n\n /**\n * When present, it specifies that the component cannot be edited.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Text to display when there is no data.\n */\n @Input() emptyMessage: string = 'No_records_found';\n\n /**\n * Text to display when filtering does not return any results.\n */\n @Input() emptyFilterMessage: string = 'No_records_found';\n\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n */\n @Input() appendTo: string = 'body';\n\n /**\n * Default text to display when no option is selected.\n */\n @Input() placeholder: string = 'Select_please';\n\n /**\n * A property to uniquely identify a value in options.\n */\n @Input() dataKey: string;\n\n /**\n * Icon class of the dropdown icon.\n */\n @Input() dropdownIcon: string = 'fa fa-chevron-down fa-fw';\n\n /**\n * When enabled, a clear icon is displayed to clear the value.\n */\n @Input() showClear: boolean = true;\n\n /**\n * Use selected item template\n */\n @Input() useSelectedItemTemplate: boolean;\n\n /**\n * Use item template\n */\n @Input() useItemTemplate: boolean;\n\n @ContentChild('selectedItemTemplateRef', { static: false })\n selectedItemTemplateRef: TemplateRef;\n @ContentChild('itemTemplateRef', { static: false })\n itemTemplateRef: TemplateRef;\n\n /**\n * Callback to invoke when component is clicked.\n */\n @Output() mxOnClick: EventEmitter = new EventEmitter();\n\n /**\n * \tCallback to invoke when value of dropdown changes.\n */\n @Output() mxOnChange: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when data is filtered.\n */\n @Output() mxOnFilter: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown gets focus.\n */\n @Output() mxOnFocus: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown loses focus.\n */\n @Output() mxOnBlur: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown overlay gets visible.\n */\n @Output() mxOnShow: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown overlay gets hidden.\n */\n @Output() mxOnHide: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown clears the value.\n */\n @Output() mxOnClear: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n writeValue(value: any) {\n this.value = value || null;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n mxClick(event: any) {\n this.mxOnClick.emit(event);\n }\n\n mxChange(event: any) {\n this.mxOnChange.emit(event);\n }\n\n mxFilter(event: any) {\n this.mxOnFilter.emit(event);\n }\n\n mxFocus(event: any) {\n this.mxOnFocus.emit(event);\n }\n\n mxBlur(event: any) {\n this.mxOnBlur.emit(event);\n }\n\n mxShow(event: any) {\n this.mxOnShow.emit(event);\n }\n\n mxHide(event: any) {\n this.mxOnHide.emit(event);\n }\n\n mxClear(event: any) {\n this.mxOnClear.emit(event);\n }\n\n /* Resets filtering. */\n resetFilter() {\n this.dropdown.resetFilter();\n }\n\n /* Applies focus. */\n focus() {\n this.dropdown.focus();\n }\n\n /* Hides the panel. */\n show() {\n this.dropdown.show();\n }\n\n /* Hides the panel. */\n hide() {\n this.dropdown.hide();\n }\n}\n","\n \n
    \n \n \n
    \n \n \n
    \n \n \n
    \n
    \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { I18NextModule } from 'angular-i18next';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxDropdownComponent } from './mx.dropdown.component';\n\nexport const COMPONENTS: any[] = [MxDropdownComponent];\n\n@NgModule({\n imports: [CommonModule, PrimengModule, FormsModule, I18NextModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxDropdownModule {}\n","import {\n Component,\n ElementRef,\n HostListener,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-file-upload',\n templateUrl: './mx.file-upload.component.html',\n styleUrls: ['./mx.file-upload.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: MxFileUploadComponent,\n multi: true,\n },\n ],\n})\nexport class MxFileUploadComponent\n extends MxBaseComponent\n implements OnInit, ControlValueAccessor\n{\n onChange: Function;\n file: File | null = null;\n\n @ViewChild('fileChooser')\n public fileChooser: ElementRef;\n\n @HostListener('change', ['$event.target.files']) emitFiles(event: FileList) {\n const file = event && event.item(0);\n this.onChange(file);\n this.file = file;\n }\n\n // @HostListener('ngModelChange', ['$event']) onModelChange(value: any) {\n // if (!value) {\n // console.log(\"reset?\")\n // // empty: probably reset, or just erased\n // this.host.nativeElement.value = '';\n // this.file = null;\n // }\n // }\n\n constructor(private host: ElementRef) {\n super();\n }\n\n ngOnInit() {}\n\n writeValue(value: null) {\n // clear file input\n if (this.fileChooser) {\n this.fileChooser.nativeElement.value = '';\n }\n this.host.nativeElement.value = '';\n this.file = null;\n }\n\n registerOnChange(fn: Function) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: Function) {}\n}\n","
    \n \n \n
    \n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { I18NextModule } from 'angular-i18next';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxFileUploadComponent } from './mx.file-upload.component';\n\nexport const COMPONENTS: any[] = [\n MxFileUploadComponent,\n];\n\n@NgModule({\n imports: [CommonModule, PrimengModule, I18NextModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxFileUploadModule {}\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\nimport { I18NextPipe } from 'angular-i18next';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxValidationService } from 'src/app/core/services';\n\n@Component({\n selector: 'mx-form-control-messages',\n templateUrl: './mx.form-control-messages.component.html',\n styleUrls: ['./mx.form-control-messages.component.scss'],\n})\n\nexport class MxFormControlMessagesComponent extends MxBaseComponent {\n @Input() control: AbstractControl;\n @Input() style: string;\n constructor(private i18NextPipe: I18NextPipe) {\n super();\n }\n\n get errorMessage() {\n for (let propertyName in this.control.errors) {\n if (\n this.control.errors.hasOwnProperty(propertyName) &&\n this.control.touched &&\n this.control.invalid &&\n this.control.dirty\n ) {\n const error = MxValidationService.getValidatorError(\n propertyName,\n this.control.errors[propertyName]\n );\n\n return error.params\n ? this.i18NextPipe.transform(\n `validation:${error.message}`,\n error.params[0]\n )\n : this.i18NextPipe.transform(`validation:${error.message}`);\n }\n }\n return null;\n }\n}\n","{{ errorMessage }}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MxFormControlMessagesComponent } from './mx.form-control-messages.component';\n\nexport const COMPONENTS: any[] = [\n MxFormControlMessagesComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxFormControlMessagesModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-input-switch',\n templateUrl: './mx.input-switch.component.html',\n styleUrls: ['./mx.input-switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MxInputSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class MxInputSwitchComponent\n extends MxBaseComponent\n implements ControlValueAccessor\n{\n /**\n * Identifier of the input element.\n */\n @HostBinding('attr.id')\n externalId = '';\n\n @Input()\n set id(value: string) {\n this._id = value;\n this.externalId = null;\n }\n\n get id() {\n return this._id;\n }\n\n private _id = '';\n\n /**\n * Name of the input element.\n */\n @HostBinding('attr.name')\n externalName = '';\n\n @Input()\n set name(value: string) {\n this._name = value;\n this.externalName = null;\n }\n\n get inputName() {\n return this._name;\n }\n\n private _name = '';\n\n /**\n * Index of the element in tabbing order.\n */\n @HostBinding('attr.tabindex')\n externalTabindex = '';\n\n @Input()\n set tabindex(value: number) {\n this._tabindex = value;\n this.externalTabindex = null;\n }\n\n get tabindex() {\n return this._tabindex;\n }\n\n private _tabindex: number = null;\n\n /**\n * Value of the input element.\n */\n @Input('value') _value = false;\n onChange: any = () => {};\n onTouched: any = () => {};\n\n get value() {\n return this._value;\n }\n\n set value(val) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n /**\n * Component is visible\n */\n @Input() visible: boolean = true;\n\n /**\n * Inline style of the component.\n */\n @Input() style: string;\n\n /**\n * Style class of the component.\n */\n @Input() styleClass: string;\n\n /**\n * When present, it specifies that the element should be disabled.\n */\n @Input() disabled: boolean = false;\n\n /**\n * When present, it specifies that the component cannot be edited.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Value in checked state.\n */\n @Input() trueValue: any = true;\n\n /**\n * Value in unchecked state.\n */\n @Input() falseValue: any = false;\n\n /**\n * Callback to invoke on state change.\n */\n @Output() mxOnChange: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n writeValue(value: any) {\n this.value = value || null;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n mxChange(event: any) {\n this.mxOnChange.emit(event);\n }\n}\n","\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxInputSwitchComponent } from './mx.input-switch.component';\n\nexport const COMPONENTS: any[] = [\n MxInputSwitchComponent,\n];\n\n@NgModule({\n imports: [CommonModule, PrimengModule, FormsModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxInputSwitchModule {}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MultiSelect } from 'primeng/multiselect';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-multi-select',\n templateUrl: './mx.multi-select.component.html',\n styleUrls: ['./mx.multi-select.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MxMultiSelectComponent),\n multi: true,\n },\n ],\n})\nexport class MxMultiSelectComponent\n extends MxBaseComponent\n implements ControlValueAccessor\n{\n @ViewChild('multiselect') multiSelect: MultiSelect;\n\n /**\n * Identifier of the input element.\n */\n @HostBinding('attr.id')\n externalId = '';\n\n @Input()\n set id(value: string) {\n this._id = value;\n this.externalId = null;\n }\n\n get id() {\n return this._id;\n }\n\n private _id = '';\n\n /**\n * Name of the input element.\n */\n @HostBinding('attr.name')\n externalName = '';\n\n @Input()\n set name(value: string) {\n this._name = value;\n this.externalName = null;\n }\n\n get inputName() {\n return this._name;\n }\n\n private _name = '';\n\n /**\n * Index of the element in tabbing order.\n */\n @HostBinding('attr.tabindex')\n externalTabindex = '';\n\n @Input()\n set tabindex(value: number) {\n this._tabindex = value;\n this.externalTabindex = null;\n }\n\n get tabindex() {\n return this._tabindex;\n }\n\n private _tabindex: number = null;\n\n /**\n * Value of the input element.\n */\n @Input('value') _value: any = null;\n onChange: any = () => {};\n onTouched: any = () => {};\n\n get value() {\n return this._value;\n }\n\n set value(val) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n /**\n * Component is visible\n */\n @Input() visible: boolean = true;\n\n /**\n * The value is object\n */\n @Input() isObject: boolean = false;\n\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n */\n @Input() appendTo: string = 'body';\n\n /**\n * \tAn array of objects to display as the available options.\n */\n @Input() autofocusFilter: boolean = false;\n\n /**\n * \tWhether to automatically manage layering.\n */\n @Input() autoZIndex: boolean = false;\n\n /**\n * \tBase zIndex value to use in layering.\n */\n @Input() baseZIndex: number = 0;\n\n /**\n * A property to uniquely identify a value in options.\n */\n @Input() dataKey: string;\n\n /**\n * When present, it specifies that the component should be disabled.\n */\n @Input() disabled: boolean = false;\n\n /**\n * Whether to show labels of selected item labels or use default label.\n */\n @Input() displaySelectedLabel: boolean = true;\n\n /**\n * Icon class of the dropdown icon.\n */\n @Input() dropdownIcon: string = 'fa fa-chevron-down fa-fw';\n\n /**\n * Text to display when filtering does not return any results.\n */\n @Input() emptyFilterMessage: string = 'No_records_found';\n\n /**\n * When specified, displays an input field to filter the items on keyup.\n */\n @Input() filter: boolean = true;\n\n /**\n * Defines how the items are filtered, valid values are \"contains\" (default) \"startsWith\", \"endsWith\", \"equals\", \"notEquals\", \"in\", \"lt\", \"lte\", \"gt\" and \"gte\".\n */\n @Input() filterMatchMode: string = 'contains';\n\n /**\n * \tWhen specified, filter displays with this value.\n */\n @Input() filterValue: string;\n\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n */\n @Input() filterBy: string = 'label';\n\n /**\n * \tDefines placeholder of the filter input.\n */\n @Input() filterPlaceHolder: string;\n\n /**\n * \tHeight of an item in the list for VirtualScrolling.\n */\n @Input() itemSize: number = null;\n\n /**\n * \tDecides how many selected item labels to show at most.\n */\n @Input() maxSelectedLabels: number = 3;\n\n /**\n * \tAn array of objects to display as the available options.\n */\n @Input() options: any;\n\n /**\n * \tName of the label field of an option.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Name of the value field of an option.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Name of the disabled field of an option.\n */\n @Input() optionDisabled: string = 'disabled';\n\n /**\n * Use selected item template\n */\n @Input() overlayVisible: boolean = false;\n\n /**\n * Inline style of the overlay panel.\n */\n @Input() panelStyle: object;\n\n /**\n * Default text to display when no option is selected.\n */\n @Input() placeholder: string = 'Select_please';\n\n /**\n * When present, it specifies that the component cannot be edited.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Text to display when there is no data.\n */\n @Input() emptyMessage: string = 'No_records_found';\n\n /**\n * Clears the filter value when hiding the dropdown.\n */\n @Input() resetFilterOnHide: boolean = false;\n\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n */\n @Input() scrollHeight: string = '200px';\n\n /**\n * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults \"ellipsis\" keyword to indicate a text-overflow.\n */\n @Input() selectedItemsLabel: string = 'ellipsis';\n\n /**\n * Number of maximum options that can be selected.\n */\n @Input() selectionLimit: number;\n\n /**\n * \tWhether to show the header.\n */\n @Input() showHeader: boolean = true;\n\n /**\n * \tWhether to show the checkbox at header to toggle all items at once.\n */\n @Input() showToggleAll: boolean = true;\n\n /**\n * Inline style of the element.\n */\n @Input() style: object;\n\n /**\n * Style class of the element.\n */\n @Input() styleClass: any;\n\n /**\n * Whether the data should be loaded on demand during scroll.\n */\n @Input() virtualScroll: boolean;\n\n /**\n * Use selected item template\n */\n @Input() useSelectedItemsTemplate: boolean;\n\n /**\n * Use item template\n */\n @Input() useItemTemplate: boolean;\n\n @ContentChild('itemTemplateRef', { static: false })\n itemTemplateRef: TemplateRef;\n @ContentChild('selectedItemsTemplateRef', { static: false })\n selectedItemsTemplateRef: TemplateRef;\n\n /**\n * Callback to invoke when component is clicked.\n */\n @Output() mxOnClick: EventEmitter = new EventEmitter();\n\n /**\n * \tCallback to invoke when value of dropdown changes.\n */\n @Output() mxOnChange: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when data is filtered.\n */\n @Output() mxOnFilter: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown gets focus.\n */\n @Output() mxOnFocus: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown loses focus.\n */\n @Output() mxOnBlur: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown overlay gets visible.\n */\n @Output() mxOnPanelShow: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when dropdown overlay gets hidden.\n */\n @Output() mxOnPanelHide: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n writeValue(value: any) {\n this.value = value || null;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n mxClick(event: any) {\n this.mxOnClick.emit(event);\n }\n\n mxChange(event: any) {\n this.mxOnChange.emit(event);\n }\n\n mxFilter(event: any) {\n this.mxOnFilter.emit(event);\n }\n\n mxFocus(event: any) {\n this.mxOnFocus.emit(event);\n }\n\n mxBlur(event: any) {\n this.mxOnBlur.emit(event);\n }\n\n mxPanelShow(event: any) {\n this.mxOnPanelShow.emit(event);\n }\n\n mxPanelHide(event: any) {\n this.mxOnPanelHide.emit(event);\n }\n\n /* Hides the panel. */\n show() {\n this.multiSelect.show();\n }\n\n /* Hides the panel. */\n hide() {\n this.multiSelect.hide();\n }\n}\n","\n \n \n \n \n {{ values?.length }} {{ \"selected\" | i18next }}\n
    \n {{ \"Select_please\" | i18next }}\n
    \n
    \n
    \n \n \n \n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { I18NextModule } from 'angular-i18next';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxMultiSelectComponent } from './mx.multi-select.component';\n\nexport const COMPONENTS: any[] = [MxMultiSelectComponent];\n\n@NgModule({\n imports: [CommonModule, PrimengModule, FormsModule, I18NextModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxMultiSelectModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { OverlayPanel } from 'primeng/overlaypanel';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-overlay-panel',\n templateUrl: './mx.overlay-panel.component.html',\n styleUrls: ['./mx.overlay-panel.component.scss'],\n})\nexport class MxOverlayPanelComponent extends MxBaseComponent implements OnInit {\n @ViewChild('overlaypanel') overlaypanel: OverlayPanel;\n\n /* \tEnables to hide the overlay when outside is clicked. */\n @Input() dismissable: boolean = true;\n\n /* \tWhen enabled, displays a close icon at top right corner. */\n @Input() showCloseIcon: boolean;\n\n /* Inline style of the component. */\n @Input() style: any;\n\n /* \tStyle class of the component. */\n @Input() styleClass: any;\n\n /* Target element to attach the panel, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name). */\n @Input() appendTo: any = 'body';\n\n /* Base zIndex value to use in layering. */\n @Input() baseZIndex: number = 0;\n\n /* \tWhether to automatically manage layering. */\n @Input() autoZIndex: boolean = true;\n\n /* \tWhen enabled, first button receives focus on show. */\n @Input() focusOnShow: boolean = true;\n\n /* Callback to invoke when an overlay becomes visible. */\n @Output() mxOnShow: EventEmitter = new EventEmitter();\n\n /* Callback to invoke after overlay gets hidden. */\n @Output() mxOnHide: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n onShow(event: any) {\n this.mxOnShow.emit(event);\n }\n\n onHide(event: any) {\n this.mxOnHide.emit(event);\n }\n\n /* Toggles the visibility of the panel. */\n toggle(event: any) {\n this.overlaypanel.toggle(event);\n }\n\n /* \tDisplays the panel. */\n show(event: any) {\n this.overlaypanel.show(event);\n }\n\n /* \tHides the panel. */\n hide() {\n this.overlaypanel.hide();\n }\n}\n","\n \n \n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxOverlayPanelComponent } from './mx.overlay-panel.component';\n\nexport const COMPONENTS: any[] = [MxOverlayPanelComponent];\n\n@NgModule({\n imports: [CommonModule, PrimengModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxOverlayPanelModule {}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-slider',\n templateUrl: './mx.slider.component.html',\n styleUrls: ['./mx.slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MxSliderComponent),\n multi: true,\n },\n ],\n})\nexport class MxSliderComponent\n extends MxBaseComponent\n implements ControlValueAccessor\n{\n /**\n * Index of the element in tabbing order.\n */\n @HostBinding('attr.tabindex')\n externalTabindex = '';\n\n @Input()\n set tabindex(value: number) {\n this._tabindex = value;\n this.externalTabindex = null;\n }\n\n get tabindex() {\n return this._tabindex;\n }\n\n private _tabindex: number = null;\n\n /**\n * Value of the input element.\n */\n @Input('value') _value: number[];\n onChange: any = () => {};\n onTouched: any = () => {};\n\n get value() {\n return this._value;\n }\n\n set value(val) {\n this._value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n /**\n * Component is visible\n */\n @Input() visible: boolean = true;\n\n /**\n * When enabled, displays an animation on click of the slider bar.\n */\n @Input() animate: any = true;\n\n /**\n * When present, it specifies that the element should be disabled.\n */\n @Input() disabled: any = false;\n\n /**\n * Mininum boundary value.\n */\n @Input() min: number = 0;\n\n /**\n * Maximum boundary value.\n */\n @Input() max: number = 100;\n\n /**\n * Orientation of the slider, valid values are horizontal and vertical.\n */\n @Input() orientation: string = 'horizontal';\n\n /**\n * Step factor to increment/decrement the value.\n */\n @Input() step: number = 1;\n\n /**\n * When specified, allows two boundary values to be picked.\n */\n @Input() range: boolean = true;\n\n /**\n * Inline style of the component.\n */\n @Input() style: string;\n\n /**\n * Style class of the component.\n */\n @Input() styleClass: string = 'm-3';\n\n /**\n * Callback to invoke on value change via slide.\n */\n @Output() mxOnChange: EventEmitter = new EventEmitter();\n\n /**\n * Callback to invoke when slide stops.\n */\n @Output() mxOnSlideEnd: EventEmitter = new EventEmitter();\n\n constructor() {\n super();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n writeValue(value: any) {\n this.value = value || null;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n mxChange(event: any) {\n this.mxOnChange.emit(event);\n }\n\n mxSlideEnd(event: any) {\n this.mxOnSlideEnd.emit(event);\n }\n}\n","\n
    \n {{ this.value[0] }}\n {{ this.value[1] }}\n
    \n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\nimport { MxSliderComponent } from './mx.slider.component';\n\nexport const COMPONENTS: any[] = [MxSliderComponent];\n\n@NgModule({\n imports: [CommonModule, PrimengModule, FormsModule],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class MxSliderModule {}\n","export * from './mx.lazy-scroll-table/mx.lazy-scroll-table.component'\nexport * from './mx.table-body/mx.table-body.component'\nexport * from './mx.table-caption/mx.table-caption.component'\nexport * from './mx.table-caption-button/mx.table-caption-button.component'\nexport * from './mx.table-caption-split-button/mx.table-caption-split-button.component'\nexport * from './mx.table-cell/mx.table-cell.component'\nexport * from './mx.table-column-chooser/mx.table-column-chooser.component'\nexport * from './mx.table-column-filter/mx.table-column-filter.component'\nexport * from './mx.table-empty-message/mx.table-empty-message.component'\nexport * from './mx.table-header/mx.table-header.component'\nexport * from './mx.table-header-cell/mx.table-header-cell.component'\nexport * from './mx.table-loading-body/mx.table-loading-body.component'\nexport * from './mx.table-search/mx.table-search.component'\nexport * from './mx.table-operation-button/mx.table-operation-button.component'\nexport * from './mx.table-operation-speed-dial/mx.table-operation-speed-dial.component'\nexport * from './mx.table-operation-tiered-menu-button/mx.table-operation-tiered-menu-button.component'","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { I18NextPipe } from 'angular-i18next';\nimport * as _ from 'lodash';\nimport { ConfirmationService, LazyLoadEvent, MenuItem } from 'primeng/api';\nimport { Table } from 'primeng/table';\nimport { Observable } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { FilterInfo } from 'src/app/backend-client/models/Backend/Core/Api/Models/filter-info';\nimport { QueryRequest } from 'src/app/backend-client/models/Backend/Core/Api/Models/query-request';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport {\n MxBrowserStorageService,\n MxConstans,\n MxConstansService,\n MxExportService,\n MxFilterService,\n MxQueryService,\n MxStorageType,\n} from 'src/app/core/services';\nimport {\n MxTableColumn,\n MxTableFilterMetaData,\n MxTableOperationItems,\n MxTableOptions,\n} from 'src/app/shared/domains/common/interfaces';\nimport { MxExportMode } from 'src/app/shared/enums';\nimport {\n MxEnumAsStringPipe,\n MxTableHasFiltersPipe,\n} from 'src/app/shared/pipes';\n\n@Component({\n selector: 'mx-lazy-scroll-table[tableOptions]',\n templateUrl: './mx.lazy-scroll-table.component.html',\n styleUrls: ['./mx.lazy-scroll-table.component.scss'],\n})\nexport class MxLazyScrollTableComponent\n extends MxBaseComponent\n implements OnInit, OnChanges\n{\n @ViewChild('table') table: Table;\n\n @Input() tableOptions: MxTableOptions;\n @Input() defaultSortField: string = 'id';\n @Input() defaultSortOrder: number = -1;\n @Input() virtualRowHeight: number = 40;\n @Input() columnDefaultWidth: number = 200;\n @Input() rows: number = 200;\n @Input() filterDelay: number = 1000;\n @Input() operationItems: MxTableOperationItems[];\n @Input() showAllItemsVisible: boolean = true;\n @Input() refreshTableVisible: boolean = true;\n @Input() clearFiltersVisible: boolean = true;\n @Input() resetTableVisible: boolean = true;\n @Input() exportTableVisible: boolean = true;\n @Input() globalSearchVisible: boolean = true;\n @Input() totalFilters: { [s: string]: MxTableFilterMetaData[] };\n\n @Output() onGetData: EventEmitter<{\n queryRequest: QueryRequest;\n isExcelExport: boolean;\n }> = new EventEmitter<{\n queryRequest: QueryRequest;\n isExcelExport: boolean;\n }>();\n\n @Output() totalFiltersChange: EventEmitter<{\n [s: string]: MxTableFilterMetaData[];\n }> = new EventEmitter<{ [s: string]: MxTableFilterMetaData[] }>();\n\n statekey: string;\n data: any[];\n selectedData: any;\n lastTableLazyLoadEvent: LazyLoadEvent;\n\n title: string;\n firstCall: boolean = true;\n globalSearchValue: string;\n columnChooserVisible: boolean;\n selectedColumns: MxTableColumn[];\n isShowAllItems: boolean;\n exportMode: MxExportMode;\n\n tableMobileOperationsItems: MenuItem[];\n\n constructor(\n private route: ActivatedRoute,\n private exportService: MxExportService,\n private tableHasFiltersPipe: MxTableHasFiltersPipe,\n private confirmationService: ConfirmationService,\n private i18NextPipe: I18NextPipe,\n private enumAsStringPipe: MxEnumAsStringPipe\n ) {\n super();\n this.title = this.route.snapshot.data['title'];\n }\n\n ngOnInit() {\n this.statekey = `${MxConstansService.get(\n MxConstans.LOCAL_STORAGE_PREFIX\n )}-${this.tableOptions.localStorageKey}`;\n\n if (\n !MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n )\n ) {\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n {\n sortField: this.defaultSortField,\n sortOrder: this.defaultSortOrder,\n }\n );\n } else {\n const storageKey = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n if (storageKey.selection) {\n delete storageKey.selection;\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n storageKey\n );\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n {\n sortField: this.defaultSortField,\n sortOrder: this.defaultSortOrder,\n }\n );\n }\n\n this.tableMobileOperationsItems = [\n {\n label: this.i18NextPipe.transform(\n this.isShowAllItems ? 'button:Hide_items' : 'button:Show_all_items'\n ),\n icon: this.isShowAllItems\n ? 'fa fa-eye-slash fa-fw'\n : 'fa fa-eye fa-fw',\n visible: this.showAllItemsVisible,\n command: () => this.showAllItems(this.table),\n },\n {\n label: this.i18NextPipe.transform('button:Refresh'),\n icon: 'fa fa-sync fa-fw',\n visible: this.refreshTableVisible,\n command: () => this.refreshTable(this.table),\n },\n {\n label: this.i18NextPipe.transform('button:Clear_filters'),\n icon: 'pi pi-filter-slash',\n visible: this.clearFiltersVisible,\n command: () => this.clearFilters(this.table),\n },\n {\n label: this.i18NextPipe.transform('button:Reset'),\n icon: 'fa fa-ban fa-fw',\n visible: this.resetTableVisible,\n command: () => this.resetTable(null, this.table),\n },\n {\n separator: true,\n visible: this.exportTableVisible,\n },\n {\n label: this.i18NextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.FilteredWithEveryColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n visible: this.exportTableVisible,\n command: () => this.exportTable(MxExportMode.FilteredWithEveryColumn),\n },\n {\n label: this.i18NextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.FilteredWithSelectedColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n visible: this.exportTableVisible,\n command: () => this.exportTable(MxExportMode.FilteredWithSelectedColumn),\n },\n {\n label: this.i18NextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.AllWithEveryColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n visible: this.exportTableVisible,\n command: () => this.exportTable(MxExportMode.AllWithEveryColumn),\n },\n {\n label: this.i18NextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.AllWithSelectedColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n visible: this.exportTableVisible,\n command: () => this.exportTable(MxExportMode.AllWithSelectedColumn),\n },\n ];\n }\n\n const tableLocalStorageOptions = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n if (tableLocalStorageOptions?.filters?.global) {\n this.globalSearchValue = tableLocalStorageOptions?.filters?.global.value;\n }\n\n const localStorageColumns = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.columnsLocalStorageKey\n );\n\n this.selectedColumns = localStorageColumns\n ? this.tableOptions.columns.filter((f) =>\n localStorageColumns.find((e: any) => e.field === f.field)\n )\n : this.tableOptions.columns.filter((f) => f.defaultVisible === true);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.totalFilters) {\n if (!this.firstCall) {\n this.onGetData.emit({\n queryRequest: this.queryRequest,\n isExcelExport: false,\n });\n }\n }\n }\n\n loadLazy(event: LazyLoadEvent) {\n this.lastTableLazyLoadEvent = event;\n\n this.onGetData.emit({\n queryRequest: this.queryRequest,\n isExcelExport: false,\n });\n }\n\n loadData(observable$: Observable) {\n observable$.subscribe((response) => {\n if (this.firstCall) {\n this.data = Array.from({\n length: MxQueryService.getQueryResponseResult(response).totalRecords,\n });\n }\n // this.data = Array.from({ length: data.recordCount });\n let loadedData = MxQueryService.getQueryResponseResult(response).data;\n // Array.prototype.splice.apply(this.data, [\n // this.tableDynamicReadInput.firstID - 1,\n // this.tableDynamicReadInput.pageSize,\n // ...loadedData,\n // ]);\n\n this.data.splice(\n this.queryRequest.skip,\n this.queryRequest.take,\n ...loadedData\n );\n\n this.data = [...this.data];\n this.firstCall = false;\n });\n }\n\n refreshTable(table: Table) {\n table.onLazyLoad.emit(this.lastTableLazyLoadEvent);\n }\n\n onGlobalSearchValueChange(event: any, table: Table) {\n table.filterGlobal(event, 'contains');\n }\n\n clearFilters(table: Table) {\n const tableLocalStorageOptions = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n if (this.tableHasFiltersPipe.transform(this.tableOptions.localStorageKey)) {\n Object.keys(tableLocalStorageOptions.filters).forEach((key) => {\n if (tableLocalStorageOptions.filters[key]) {\n table.filterDelay = 0;\n if (key === 'global') {\n this.globalSearchValue = '';\n this.onGlobalSearchValueChange(null, table);\n } else {\n if (tableLocalStorageOptions.filters[key][0].value !== null) {\n table.filter(\n null,\n key,\n tableLocalStorageOptions.filters[key][0].matchMode\n );\n }\n }\n table.filterDelay = this.filterDelay;\n }\n this.tableMobileOperationsItems = _.cloneDeep(\n this.tableMobileOperationsItems\n );\n });\n }\n }\n\n resetTable(event: any, table: Table) {\n if (event) {\n this.confirmationService.confirm({\n target: event.target,\n message: this.i18NextPipe.transform(\n 'message:Are_you_sure_you_want_to_proceed'\n ),\n icon: MxConstansService.get(MxConstans.ICON_WARN),\n accept: () => {\n this.resetTableOperation(table);\n },\n });\n } else {\n this.resetTableOperation(table);\n }\n }\n\n resetTableOperation(table: Table) {\n this.globalSearchValue = '';\n this.onGlobalSearchValueChange(null, table);\n table.reset();\n const resetColumns: MxTableColumn[] = [];\n\n this.tableOptions.columns.forEach((column) => {\n if (column.defaultVisible) {\n resetColumns.push(column);\n }\n });\n\n this.selectedColumns = _.cloneDeep(resetColumns);\n\n const localStorageData = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n Object.assign(localStorageData, {\n sortField: this.defaultSortField,\n sortOrder: this.defaultSortOrder,\n })\n );\n }\n\n get queryRequest(): QueryRequest {\n const lazyLoadFilters: any = { ...this.lastTableLazyLoadEvent.filters };\n\n this.setDefaultFilterInfo(lazyLoadFilters);\n\n if (this.totalFilters) {\n Object.keys(this.totalFilters).forEach((key) => {\n lazyLoadFilters[key] = [...this.totalFilters[key]];\n });\n }\n\n const queryRequestFilterInfos: FilterInfo[] =\n MxFilterService.getQueryRequestFilterInfo(lazyLoadFilters);\n\n return MxQueryService.getQueryRequest(\n this.lastTableLazyLoadEvent,\n this.defaultSortField,\n this.tableOptions.globalFilterFields.filter((value) =>\n this.selectedColumns.find((f) => f.field === value)\n ),\n queryRequestFilterInfos\n );\n }\n\n setDefaultFilterInfo(lazyLoadFilters: any) {\n if (!this.isShowAllItems) {\n if (this.tableOptions.defaultFilters) {\n Object.keys(this.tableOptions.defaultFilters).forEach((key) => {\n if (lazyLoadFilters[key]) {\n if (!lazyLoadFilters[key][0].value) {\n lazyLoadFilters[key] = [...this.tableOptions.defaultFilters[key]];\n }\n } else {\n lazyLoadFilters[key] = [...this.tableOptions.defaultFilters[key]];\n }\n });\n }\n }\n }\n\n showAllItems(table: Table) {\n this.isShowAllItems = !this.isShowAllItems;\n this.refreshTable(table);\n }\n\n exportTable(mode: MxExportMode) {\n const lazyLoadFilters: any = {};\n this.setDefaultFilterInfo(lazyLoadFilters);\n const queryRequestFilterInfo: FilterInfo[] =\n MxFilterService.getQueryRequestFilterInfo(lazyLoadFilters);\n\n this.exportMode = mode;\n this.onGetData.emit({\n queryRequest:\n this.exportMode === MxExportMode.FilteredWithEveryColumn ||\n this.exportMode === MxExportMode.FilteredWithSelectedColumn\n ? this.queryRequest\n : MxQueryService.getQueryRequest(\n null,\n this.defaultSortField,\n this.tableOptions.globalFilterFields.filter((value) =>\n this.selectedColumns.find((f) => f.field === value)\n ),\n queryRequestFilterInfo\n ),\n isExcelExport: true,\n });\n }\n\n exportData(observable$: Observable) {\n observable$\n .pipe(\n mergeMap((response) =>\n this.exportService.excelExport(\n MxQueryService.getQueryResponseResult(response).data,\n\n this.exportMode === MxExportMode.AllWithEveryColumn ||\n this.exportMode === MxExportMode.FilteredWithEveryColumn\n ? this.tableOptions.columns\n : this.selectedColumns,\n this.title\n )\n )\n )\n .subscribe();\n }\n}\n","\n \n \n
    \n \n
    \n
    \n \n\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { I18NextPipe } from 'angular-i18next';\nimport { FilterMatchMode } from 'primeng/api';\nimport { Table } from 'primeng/table';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport {\n MxBrowserStorageService,\n MxConstans,\n MxConstansService,\n MxStorageType,\n} from 'src/app/core/services';\nimport {\n MxTableColumn,\n MxTableOperationItems,\n MxTableOptions,\n} from 'src/app/shared/domains/common/interfaces';\nimport { MxColumnType } from 'src/app/shared/enums';\nimport { MxDateFormatPipe, MxEnumAsStringPipe } from 'src/app/shared/pipes';\n\n@Component({\n selector: 'mx-scroll-table[tableOptions]',\n templateUrl: './mx.scroll-table.component.html',\n styleUrls: ['./mx.scroll-table.component.scss'],\n})\nexport class MxScrollTableComponent\n extends MxBaseComponent\n implements OnInit, OnChanges\n{\n @ViewChild('table') table: Table;\n\n @Input() datasource: any[];\n @Input() tableOptions: MxTableOptions;\n @Input() defaultSortField: string = 'id';\n @Input() defaultSortOrder: number = -1;\n @Input() columnDefaultWidth: number = 200;\n @Input() rows: number = 200;\n @Input() filterDelay: number = 0;\n @Input() operationItems: MxTableOperationItems[];\n @Input() globalSearchVisible: boolean = true;\n @Input() rowHeight: number = 40;\n @Input() refreshTableVisible: boolean = true;\n\n @Output() datasourceChange: EventEmitter = new EventEmitter();\n @Output() refreshData: EventEmitter = new EventEmitter();\n @Output() selectedDataChange: EventEmitter = new EventEmitter();\n\n statekey: string;\n\n title: string;\n firstCall: boolean = true;\n globalSearchValue: string;\n selectedColumns: MxTableColumn[];\n selectedData: any;\n\n constructor(\n private route: ActivatedRoute,\n private mxDateFormatPipe: MxDateFormatPipe,\n private i18nextPipe: I18NextPipe,\n private mxEnumAsStringPipe: MxEnumAsStringPipe\n ) {\n super();\n this.title = this.route.snapshot.data['title'];\n }\n\n ngOnInit() {\n this.statekey = `${MxConstansService.get(\n MxConstans.LOCAL_STORAGE_PREFIX\n )}-${this.tableOptions.localStorageKey}`;\n\n if (\n !MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n )\n ) {\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n {\n sortField: this.defaultSortField,\n sortOrder: this.defaultSortOrder,\n }\n );\n } else {\n const storageKey = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n if (storageKey.selection) {\n delete storageKey.selection;\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n storageKey\n );\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.tableOptions.localStorageKey,\n {\n sortField: this.defaultSortField,\n sortOrder: this.defaultSortOrder,\n }\n );\n }\n }\n\n const tableLocalStorageOptions = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n\n if (tableLocalStorageOptions?.filters?.global) {\n this.globalSearchValue = tableLocalStorageOptions?.filters?.global.value;\n }\n\n this.selectedColumns = this.tableOptions.columns.filter(\n (f) => f.defaultVisible === true\n );\n\n const localStorageColumns = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n ).columnOrder;\n\n if (localStorageColumns) {\n const columnDiff = [\n ...this.getDifference(\n this.selectedColumns.map((m) => m.field),\n localStorageColumns\n ),\n ...this.getDifference(\n localStorageColumns,\n this.selectedColumns.map((m) => m.field)\n ),\n ];\n\n if (columnDiff.length !== 0) {\n MxBrowserStorageService.remove(\n MxStorageType.Local,\n this.tableOptions.localStorageKey\n );\n location.reload();\n }\n }\n }\n\n getDifference(a: T[], b: T[]): T[] {\n return a.filter((element) => {\n return !b.includes(element);\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.datasource) {\n if (changes.datasource.currentValue) {\n this.datasource.forEach((data) => {\n this.tableOptions.columns\n .filter((f) => f.defaultVisible)\n .forEach((f) => {\n if (f.type === MxColumnType.Boolean) {\n data[`${f.field}_`] = data[`${f.field}`]\n ? this.i18nextPipe.transform('Yes')\n : this.i18nextPipe.transform('No');\n\n this.addPrettyFieldToGlobalFilterFields(f.field);\n } else if (f.type === MxColumnType.Enum) {\n data[`${f.field}_`] = this.i18nextPipe.transform(\n this.mxEnumAsStringPipe.transform(\n data[`${f.field}`],\n f.enum,\n f.enumName\n )\n );\n\n this.addPrettyFieldToGlobalFilterFields(f.field);\n } else if (f.type === MxColumnType.Number && f.isPercentage) {\n data[`${f.field}_`] = data[`${f.field}`] * 100;\n }\n else if (f.type === MxColumnType.Number && f.suffix.includes('Ft')) {\n data[`${f.field}_`] = data[`${f.field}`].toLocaleString(\"hu-HU\")\n }\n\n else if (\n f.type === MxColumnType.Date ||\n f.type === MxColumnType.DateTime\n ) {\n data[`${f.field}_`] =\n data[`${f.field}`] === null ||\n data[`${f.field}`] === '' ||\n data[`${f.field}`] === undefined\n ? ''\n : this.mxDateFormatPipe.transform(\n data[`${f.field}`],\n f.type === MxColumnType.Date\n ? 'YYYY.MM.DD.'\n : 'YYYY.MM.DD. HH:mm'\n );\n\n this.addPrettyFieldToGlobalFilterFields(f.field);\n }\n\n if (f.prefix) {\n if (data[`${f.field}_`]) {\n data[`${f.field}_`] = `${f.prefix}${data[`${f.field}_`]}`;\n } else {\n data[`${f.field}_`] = `${f.prefix}${data[`${f.field}`]}`;\n }\n this.addPrettyFieldToGlobalFilterFields(f.field);\n }\n\n if (f.suffix) {\n if (data[`${f.field}_`]) {\n data[`${f.field}_`] = `${data[`${f.field}_`]}${f.suffix}`;\n } else {\n data[`${f.field}_`] = `${data[`${f.field}`]}${f.suffix}`;\n }\n this.addPrettyFieldToGlobalFilterFields(f.field);\n }\n });\n });\n\n // this.datasource = this.datasource.map((m) => {\n // let ret = { ...m };\n // this.tableOptions.columns\n // .filter((f) => f.defaultVisible)\n // .forEach((f) => {\n // if (f.type === MxColumnType.Boolean) {\n // ret[`${f.field}_`] = ret[`${f.field}`]\n // ? this.i18nextPipe.transform('Yes')\n // : this.i18nextPipe.transform('No');\n\n // this.addPrettyFieldToGlobalFilterFields(f.field);\n // } else if (f.type === MxColumnType.Enum) {\n // ret[`${f.field}_`] = this.i18nextPipe.transform(\n // this.mxEnumAsStringPipe.transform(\n // ret[`${f.field}`],\n // f.enum,\n // f.enumName\n // )\n // );\n\n // this.addPrettyFieldToGlobalFilterFields(f.field);\n // } else if (f.type === MxColumnType.Number && f.isPercentage) {\n // ret[`${f.field}_`] = ret[`${f.field}`] * 100;\n // } else if (\n // f.type === MxColumnType.Date ||\n // f.type === MxColumnType.DateTime\n // ) {\n // ret[`${f.field}_`] =\n // ret[`${f.field}`] === null ||\n // ret[`${f.field}`] === '' ||\n // ret[`${f.field}`] === undefined\n // ? ''\n // : this.mxDateFormatPipe.transform(\n // ret[`${f.field}`],\n // f.type === MxColumnType.Date\n // ? 'YYYY.MM.DD.'\n // : 'YYYY.MM.DD. HH:mm'\n // );\n\n // this.addPrettyFieldToGlobalFilterFields(f.field);\n // }\n\n // if (f.prefix) {\n // if (ret[`${f.field}_`]) {\n // ret[`${f.field}_`] = `${f.prefix}${ret[`${f.field}_`]}`;\n // } else {\n // ret[`${f.field}_`] = `${f.prefix}${ret[`${f.field}`]}`;\n // }\n // this.addPrettyFieldToGlobalFilterFields(f.field);\n // }\n\n // if (f.suffix) {\n // if (ret[`${f.field}_`]) {\n // ret[`${f.field}_`] = `${ret[`${f.field}_`]}${f.suffix}`;\n // } else {\n // ret[`${f.field}_`] = `${ret[`${f.field}`]}${f.suffix}`;\n // }\n // this.addPrettyFieldToGlobalFilterFields(f.field);\n // }\n // });\n\n // return ret;\n // });\n }\n }\n }\n\n addPrettyFieldToGlobalFilterFields(field: string) {\n if (\n this.tableOptions.globalFilterFields.filter((gf) => gf === `${field}_`)\n .length === 0\n ) {\n this.tableOptions.globalFilterFields.push(`${field}_`);\n }\n }\n\n onGlobalSearchValueChange(event: any) {\n this.table.filterGlobal(event, FilterMatchMode.CONTAINS);\n this.datasourceChange.emit();\n }\n\n onRowSelect(event:any){\n this.selectedDataChange.emit(event.data);\n }\n onRowUnselect(event:any){\n this.selectedDataChange.emit(null);\n }\n}\n","\n \n \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { TieredMenu } from 'primeng/tieredmenu';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport {\n MxMenuType,\n MxTableColumn,\n MxTableOperationItems,\n} from 'src/app/shared/domains/common/interfaces';\n\n@Component({\n selector: '[mx-table-body]',\n templateUrl: './mx.table-body.component.html',\n styleUrls: ['./mx.table-body.component.scss'],\n})\nexport class MxTableBodyComponent extends MxBaseComponent implements OnInit {\n @Input() columns: MxTableColumn[];\n @Input() columnDefaultWidth: number;\n @Input() rowData: any;\n @Input() isOperation: boolean;\n @Input() operationItems: MxTableOperationItems[];\n\n @Output() rowDataChange: EventEmitter = new EventEmitter();\n\n speedDialItems: MenuItem[];\n visibleSpeedDial: boolean;\n fixButtonItems: MxTableOperationItems[];\n operationItemsWidth: number;\n\n tieredItems: MenuItem[];\n visibleTiered: boolean;\n\n tieredMenuOpenCommand = (event: any) =>this.openTieredMenu(event);\n\n @ViewChild('tieredMenu') tieredMenu: TieredMenu;\n\n ngOnInit() {\n this.speedDialItems = [];\n this.tieredItems = [];\n this.fixButtonItems = [];\n if (this.operationItems) {\n this.operationItems.forEach((item) => {\n if (item.type !== undefined) {\n if (item.type === MxMenuType.SpeedDial) {\n this.speedDialItems.push({\n tooltipOptions: {\n tooltipLabel: item.label,\n tooltipPosition: 'top',\n },\n icon: item.icon,\n command: item.command,\n });\n }\n\n if (item.type === MxMenuType.Tiered) {\n this.tieredItems.push({\n label: item.label,\n icon: item.icon,\n command: item.command,\n });\n }\n } else {\n this.fixButtonItems.push(item);\n }\n });\n\n this.visibleSpeedDial = this.speedDialItems.length !== 0;\n this.visibleTiered = this.tieredItems.length !== 0;\n\n this.operationItemsWidth =\n 40 *\n (this.fixButtonItems.length +\n (this.visibleSpeedDial && this.visibleTiered\n ? 2\n : this.visibleSpeedDial || this.visibleTiered\n ? 1\n : 0));\n }\n }\n\n openTieredMenu(event: any){\n this.tieredMenu.toggle(event);\n }\n}\n","\n\n
    \n \n \n \n \n
    \n\n\n \n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-caption-button',\n templateUrl: './mx.table-caption-button.component.html',\n styleUrls: ['./mx.table-caption-button.component.scss'],\n})\nexport class MxTableCaptionButtonComponent extends MxBaseComponent {\n @Input() tooltip: string;\n @Input() label: string;\n @Input() icon: string;\n @Input() styleClass: string;\n @Input() type: string = 'outlined';\n @Input() spacing: string = 'mr-2';\n @Input() loading: boolean;\n @Input() disabled: boolean;\n @Input() visible: boolean = true;\n\n @Output() onClick: EventEmitter = new EventEmitter();\n}\n","
    \n \n
    \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { I18NextPipe } from 'angular-i18next';\nimport { MenuItem } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxExportMode } from 'src/app/shared/enums';\nimport { MxEnumAsStringPipe } from 'src/app/shared/pipes';\n\n@Component({\n selector: 'mx-table-caption-split-button',\n templateUrl: './mx.table-caption-split-button.component.html',\n styleUrls: ['./mx.table-caption-split-button.component.scss'],\n providers: [MxEnumAsStringPipe],\n})\nexport class MxTableCaptionSplitButtonComponent extends MxBaseComponent {\n @Input() tooltip: string;\n @Input() icon: string;\n @Input() styleClass: string;\n @Input() spacing: string = 'mr-2';\n @Input() disabled: boolean;\n @Input() visible: boolean = true;\n\n @Output() onClick: EventEmitter = new EventEmitter();\n\n exportItems: MenuItem[];\n\n constructor(\n private enumAsStringPipe: MxEnumAsStringPipe,\n private i18nextPipe: I18NextPipe\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.exportItems = [\n {\n label: this.i18nextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.FilteredWithEveryColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n command: () => {\n this.export(MxExportMode.FilteredWithEveryColumn);\n },\n },\n {\n label: this.i18nextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.FilteredWithSelectedColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n command: () => {\n this.export(MxExportMode.FilteredWithSelectedColumn);\n },\n },\n {\n label: this.i18nextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.AllWithEveryColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n command: () => {\n this.export(MxExportMode.AllWithEveryColumn);\n },\n },\n {\n label: this.i18nextPipe.transform(\n this.enumAsStringPipe.transform(\n MxExportMode.AllWithSelectedColumn,\n MxExportMode,\n 'MxExportMode'\n )\n ),\n icon: 'fa fa-file-download fa-fw',\n command: () => {\n this.export(MxExportMode.AllWithSelectedColumn);\n },\n },\n ];\n }\n\n export(type: MxExportMode = MxExportMode.AllWithEveryColumn) {\n this.onClick.emit(type);\n }\n}\n","
    \n \n
    \n","import { Component } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-caption',\n templateUrl: './mx.table-caption.component.html',\n styleUrls: ['./mx.table-caption.component.scss'],\n})\nexport class MxTableCaptionComponent extends MxBaseComponent {}\n","
    \n
    \n
    \n \n
    \n
    \n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MxColumnPosition, MxColumnType } from 'src/app/shared/enums';\n\n@Pipe({\n name: 'mxColumnPosition',\n pure: true,\n})\nexport class MxColumnPositionPipe implements PipeTransform {\n constructor() {}\n\n transform(position: MxColumnPosition, columnType: MxColumnType): any {\n switch (position) {\n case MxColumnPosition.Start:\n return 'justify-content-start';\n case MxColumnPosition.Center:\n return 'justify-content-center';\n case MxColumnPosition.End:\n return 'justify-content-end';\n case MxColumnPosition.Between:\n return 'justify-content-between';\n case MxColumnPosition.Arround:\n return 'justify-content-arround';\n case MxColumnPosition.Evenly:\n return 'justify-content-evenly';\n default:\n if (\n columnType === MxColumnType.Number ||\n columnType === MxColumnType.Boolean ||\n columnType === MxColumnType.Date ||\n columnType === MxColumnType.DateTime\n ) {\n return 'justify-content-center';\n }\n return 'justify-content-start';\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\nimport { MxColumnType } from 'src/app/shared/enums';\nimport { MxColumnPositionPipe } from './mx.column-position.pipe';\n\n@Component({\n selector: 'mx-table-cell',\n templateUrl: './mx.table-cell.component.html',\n styleUrls: ['./mx.table-cell.component.scss'],\n})\nexport class MxTableCellComponent extends MxBaseComponent {\n @Input() column: MxTableColumn;\n @Input() value: any;\n @Output() valueChange: EventEmitter = new EventEmitter();\n\n public get columnType(): typeof MxColumnType {\n return MxColumnType;\n }\n\n}\n","\n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n value +\n (column.suffix ? column.suffix : \"\")\n }}\n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n value +\n (column.suffix ? column.suffix : \"\")\n }}\n \n\n \n \n \n {{ \"Link\" }}\n \n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n value +\n (column.suffix ? column.suffix : \"\")\n }}\n \n \n \n {{\n (column.prefix ? column.prefix : \"\") +\n value +\n (column.suffix ? column.suffix : \"\")\n }}\n \n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n (column.isPercentage\n ? value * 100\n : column.suffix.includes(\"Ft\")\n ? value.toLocaleString(\"hu-HU\")\n : value) +\n (column.suffix ? column.suffix : \"\")\n }}\n \n \n \n \n \n \n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n (column.isPercentage ? value * 100 : value) +\n (column.suffix ? column.suffix : \"\")\n }}\n \n \n \n \n \n \n \n \n \n \n \n {{ value | mxEnumAsString : column.enum : column.enumName | i18next }}\n \n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (value | mxDateFormat : \"YYYY.MM.DD.\")\n }}\n \n \n \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (value | mxDateFormat : \"YYYY.MM.DD. HH:mm\")\n }}\n \n \n
    \n {{\n value === null || value === \"\" || value === undefined\n ? \"\"\n : (column.prefix ? column.prefix : \"\") +\n value +\n (column.suffix ? column.suffix : \"\")\n }}\n
    \n
    \n
    \n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { I18NextPipe } from 'angular-i18next';\nimport { Table } from 'primeng/table';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxBrowserStorageService, MxStorageType } from 'src/app/core/services';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\nimport { MxFirstLetterOperationPipe } from 'src/app/shared/pipes';\n\n@Component({\n selector: 'mx-table-column-chooser',\n templateUrl: './mx.table-column-chooser.component.html',\n styleUrls: ['./mx.table-column-chooser.component.scss'],\n})\nexport class MxTableColumnChooserComponent\n extends MxBaseComponent\n implements OnInit\n{\n @Input() options: MxTableColumn[];\n @Input() selectedColumns: MxTableColumn[];\n @Input() colsLocalStorageKey: string;\n @Input() stateKey: string;\n @Input() columnChooserVisible: boolean;\n @Input() table: Table;\n\n columns: MxTableColumn[];\n\n @Output() selectedColumnsChange: EventEmitter =\n new EventEmitter();\n\n @Output() columnChooserVisibleChange: EventEmitter =\n new EventEmitter();\n\n constructor(\n private i18nextPipe: I18NextPipe,\n private firstLetterOperationPipe: MxFirstLetterOperationPipe\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.columns = [];\n\n this.options.forEach((col) => {\n col.translatedField = this.i18nextPipe.transform(\n 'field:' +\n (col.header\n ? col.header\n : this.firstLetterOperationPipe.transform(col.field))\n );\n });\n\n this.columns = [...this.selectedColumns];\n }\n\n onColumnChooserChange(event: any, isMobile = false) {\n let changeObject: { itemValue: MxTableColumn; value: MxTableColumn[] };\n\n if (isMobile) {\n const itemValue = this.selectedColumns.filter(\n (f) => event.value.filter((x: any) => x.field === f.field).length === 0\n );\n changeObject = {\n itemValue: itemValue.length === 1 ? itemValue[0] : null,\n value: event.value,\n };\n } else {\n changeObject = { itemValue: event.itemValue, value: event.value };\n }\n const tableOptions = MxBrowserStorageService.get(\n MxStorageType.Local,\n this.stateKey\n );\n\n if (changeObject.itemValue) {\n //egyszerre egy\n if (\n !this.selectedColumns.find(\n (f) => f.field === changeObject.itemValue.field\n )\n ) {\n this.selectedColumns.push(changeObject.itemValue);\n\n if (tableOptions.columnOrder) {\n tableOptions.columnOrder.push(changeObject.itemValue.field);\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.stateKey,\n tableOptions\n );\n }\n }\n\n if (\n !changeObject.value.find(\n (f: any) => f.field === changeObject.itemValue.field\n )\n ) {\n this.selectedColumns = this.selectedColumns.filter(\n (f) => f.field !== changeObject.itemValue.field\n );\n\n if (tableOptions.columnOrder) {\n tableOptions.columnOrder = tableOptions.columnOrder.filter(\n (f: any) => f !== changeObject.itemValue.field\n );\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.stateKey,\n tableOptions\n );\n }\n\n if (tableOptions.filters) {\n if (tableOptions.filters[changeObject.itemValue.field]) {\n if (\n tableOptions.filters[changeObject.itemValue.field][0].value !==\n null\n ) {\n this.table.filter(\n null,\n changeObject.itemValue?.field,\n tableOptions.filters[changeObject.itemValue.field][0].matchMode\n );\n }\n }\n }\n }\n } else {\n //egyszerre több\n if (changeObject.value.length === 0) {\n this.selectedColumns = [];\n if (tableOptions.columnOrder) {\n delete tableOptions.columnOrder;\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.stateKey,\n tableOptions\n );\n }\n\n if (tableOptions.filters) {\n Object.keys(tableOptions.filters).forEach((key) => {\n if (tableOptions.filters[key]) {\n if (tableOptions.filters[key][0].value !== null) {\n this.table.filter(\n null,\n key,\n tableOptions.filters[key][0].matchMode\n );\n }\n }\n });\n }\n } else {\n this.columns.forEach((col) => {\n if (!this.selectedColumns.find((f) => f.field === col.field)) {\n if (this.selectedColumns.length === 0) {\n this.selectedColumns.push(col);\n } else {\n if (this.selectedColumns.find((f) => f.field !== col.field)) {\n this.selectedColumns.push(col);\n }\n }\n }\n });\n this.columns = [...this.columns];\n }\n }\n\n MxBrowserStorageService.set(\n MxStorageType.Local,\n this.colsLocalStorageKey,\n this.selectedColumns\n );\n\n this.selectedColumns = [...this.selectedColumns];\n\n this.selectedColumnsChange.emit(this.selectedColumns);\n }\n}\n","
    \n \n \n {{ values?.length }} {{ \"columns_selected\" | i18next }}\n
    \n {{ \"Choose_columns\" | i18next }}\n
    \n
    \n \n \n \n
    \n\n
    \n \n \n\n \n
    \n \n
    \n
    \n
    \n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\nimport { FilterMatchMode, SelectItem } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-column-filter',\n templateUrl: './mx.table-column-filter.component.html',\n styleUrls: ['./mx.table-column-filter.component.scss'],\n})\nexport class MxTableColumnFilterComponent extends MxBaseComponent {\n @Input() type: string;\n @Input() field: string;\n @Input() matchMode: FilterMatchMode;\n @Input() useFilterTemplate: boolean;\n @Input() showApplyButton: boolean = true;\n @Input() showClearButton: boolean = true;\n @Input() matchModeOptions: SelectItem[];\n\n @ContentChild('filterTemplateRef', { static: false })\n filterTemplateRef: TemplateRef;\n}\n","\n \n \n
    \n \n\n","import { Component, Input } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\n\n@Component({\n selector: '[mx-table-empty-message]',\n templateUrl: './mx.table-empty-message.component.html',\n styleUrls: ['./mx.table-empty-message.component.scss'],\n})\nexport class MxTableEmptyMessageComponent extends MxBaseComponent {\n @Input() columns: MxTableColumn[];\n}\n","\n
    \n {{ \"No_records_found\" | i18next }}\n
    \n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FilterMatchMode } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\nimport { MxColumnType } from 'src/app/shared/enums';\n\n@Component({\n selector: 'mx-table-header-cell',\n templateUrl: './mx.table-header-cell.component.html',\n styleUrls: ['./mx.table-header-cell.component.scss'],\n})\nexport class MxTableHeaderCellComponent\n extends MxBaseComponent\n implements OnInit\n{\n @Input() column: MxTableColumn;\n\n public get columnType(): typeof MxColumnType {\n return MxColumnType;\n }\n\n public get filterMatchMode(): typeof FilterMatchMode {\n return FilterMatchMode;\n }\n\n numberBetweenValues: number[];\n remoteSource: any[];\n\n ngOnInit(): void {\n if (this.column.betweenValues) {\n this.numberBetweenValues = [...this.column.betweenValues];\n }\n\n if (this.column.apiCall$) {\n this.column.apiCall$.subscribe((data) => {\n this.remoteSource = data;\n });\n }\n }\n}\n","\n
    \n
    \n {{\n \"field:\" +\n (column.header\n ? (column.header | mxFirstLetterOperation)\n : (column.field | mxFirstLetterOperation)) | i18next\n }}\n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ value.label | i18next }}\n \n \n {{ value.label | i18next }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
    \n
    \n
    \n","import { Component, Input } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport {\n MxMenuType,\n MxTableColumn,\n MxTableOperationItems,\n} from 'src/app/shared/domains/common/interfaces';\n\n@Component({\n selector: '[mx-table-header]',\n templateUrl: './mx.table-header.component.html',\n styleUrls: ['./mx.table-header.component.scss'],\n})\nexport class MxTableHeaderComponent extends MxBaseComponent {\n @Input() columns: MxTableColumn[];\n @Input() columnDefaultWidth: number;\n @Input() operationItems: MxTableOperationItems[];\n\n operationItemsWidth: number;\n\n ngOnInit() {\n if (this.operationItems) {\n const speedDialItems = this.operationItems.filter(\n (item) => item.type === MxMenuType.SpeedDial\n );\n\n const tieredItems = this.operationItems.filter(\n (item) => item.type === MxMenuType.Tiered\n );\n\n this.operationItemsWidth =\n 40 *\n (this.operationItems.filter((item) => item.type === undefined).length +\n (speedDialItems.length !== 0 && tieredItems.length !== 0\n ? 2\n : speedDialItems.length !== 0 || tieredItems.length !== 0\n ? 1\n : 0));\n }\n }\n}\n","\n \n \n \n\n\n \n\n","import { Component, Input } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\nimport { MxTableColumn } from 'src/app/shared/domains/common/interfaces';\n\n@Component({\n selector: '[mx-table-loading-body]',\n templateUrl: './mx.table-loading-body.component.html',\n styleUrls: ['./mx.table-loading-body.component.scss'],\n})\nexport class MxTableLoadingBodyComponent extends MxBaseComponent {\n @Input() columns: MxTableColumn[];\n @Input() columnDefaultWidth: number;\n}\n","\n
    \n \n\n","import { Component, Input } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-mobile-operations-menu',\n templateUrl: './mx.table-mobile-operations-menu.component.html',\n styleUrls: ['./mx.table-mobile-operations-menu.component.scss'],\n})\nexport class MxTableOperationsMenuComponent extends MxBaseComponent {\n @Input() items: MenuItem[];\n @Input() visible: boolean = true;\n}\n","\n\n\n","import { Component, Input } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-operation-button',\n templateUrl: './mx.table-operation-button.component.html',\n styleUrls: ['./mx.table-operation-button.component.scss'],\n})\nexport class MxTableOperationButtonComponent extends MxBaseComponent {\n @Input() tooltip: string;\n @Input() icon: string;\n @Input() styleClass: string;\n @Input() type: string = 'rounded';\n @Input() spacing: string = 'mr-2';\n @Input() loading: boolean;\n @Input() disabled: (event?: any) => boolean;\n @Input() command: (event?: any, rawData?: any) => void;\n @Input() rowData: any;\n}\n","
    \n \n
    \n","import { Component, Input } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-operation-speed-dial',\n templateUrl: './mx.table-operation-speed-dial.component.html',\n styleUrls: ['./mx.table-operation-speed-dial.component.scss'],\n})\nexport class MxTableOperationSpeedDialComponent extends MxBaseComponent {\n @Input() items: MenuItem[];\n @Input() visible: boolean;\n}\n","\n","import { Component, Input } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-operation-tiered-menu-button',\n templateUrl: './mx.table-operation-tiered-menu-button.component.html',\n styleUrls: ['./mx.table-operation-tiered-menu-button.component.scss'],\n})\nexport class MxTableOperationTieredMenuButtonComponent extends MxBaseComponent {\n @Input() items: MenuItem[];\n @Input() visible: boolean;\n}\n","\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MxBaseComponent } from 'src/app/core/base/mx.base-component';\n\n@Component({\n selector: 'mx-table-search',\n templateUrl: './mx.table-search.component.html',\n styleUrls: ['./mx.table-search.component.scss'],\n})\nexport class MxTableSearchComponent extends MxBaseComponent {\n @Input() searchValue: string;\n @Input() visible: boolean = true;\n @Output() searchValueChange: EventEmitter =\n new EventEmitter();\n\n @Output() onModelChange: EventEmitter = new EventEmitter();\n}\n","\n \n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { I18NextModule } from 'angular-i18next';\nimport { PrimengModule } from 'src/app/primeng/primeng.module';\n\nimport {\n MxLazyScrollTableComponent,\n MxTableBodyComponent,\n MxTableCaptionButtonComponent,\n MxTableCaptionComponent,\n MxTableCaptionSplitButtonComponent,\n MxTableCellComponent,\n MxTableColumnChooserComponent,\n MxTableColumnFilterComponent,\n MxTableEmptyMessageComponent,\n MxTableHeaderCellComponent,\n MxTableHeaderComponent,\n MxTableLoadingBodyComponent,\n MxTableOperationButtonComponent,\n MxTableSearchComponent,\n} from '.';\nimport { MxDirectivesModule } from '../../directives/mx.directives.module';\nimport { MxPipesModule } from '../../pipes/mx.pipes.module';\nimport { MxDropdownModule } from '../mx.dropdown/mx.dropdown.module';\nimport { MxMultiSelectModule } from '../mx.multi-select/mx.multi-select.module';\nimport { MxOverlayPanelModule } from '../mx.overlay-panel/mx.overlay-panel.module';\nimport { MxSliderModule } from '../mx.slider/mx.slider.module';\nimport { MxScrollTableComponent } from './mx.scroll-table/mx.scroll-table.component';\nimport { MxColumnPositionPipe } from './mx.table-cell/mx.column-position.pipe';\nimport { MxTableOperationsMenuComponent } from './mx.table-mobile-operations-menu/mx.table-mobile-operations-menu.component';\nimport { MxTableOperationSpeedDialComponent } from './mx.table-operation-speed-dial/mx.table-operation-speed-dial.component';\nimport {\n MxTableOperationTieredMenuButtonComponent,\n} from './mx.table-operation-tiered-menu-button/mx.table-operation-tiered-menu-button.component';\n\nexport const COMPONENTS: any[] = [\n MxTableCellComponent,\n MxTableHeaderCellComponent,\n MxTableColumnChooserComponent,\n MxTableCaptionComponent,\n MxTableCaptionSplitButtonComponent,\n MxTableSearchComponent,\n MxTableCaptionButtonComponent,\n MxTableColumnFilterComponent,\n MxTableEmptyMessageComponent,\n MxTableLoadingBodyComponent,\n MxTableBodyComponent,\n MxTableHeaderComponent,\n MxLazyScrollTableComponent,\n MxTableOperationButtonComponent,\n MxTableOperationSpeedDialComponent,\n MxTableOperationTieredMenuButtonComponent,\n MxTableOperationsMenuComponent,\n MxScrollTableComponent\n];\n\nconst PIPES =[MxColumnPositionPipe]\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PrimengModule,\n I18NextModule,\n MxSliderModule,\n MxDropdownModule,\n MxPipesModule,\n MxMultiSelectModule,\n MxDirectivesModule,\n MxOverlayPanelModule\n ],\n declarations: [...COMPONENTS, ...PIPES],\n exports: [...COMPONENTS],\n providers: [...PIPES]\n})\nexport class MxTableModule {}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[mxBlockCopyPaste]'\n})\nexport class MxBlockCopyPasteDirective {\n constructor() { }\n\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n /* @HostListener('keydown', ['$event']) triggerEsc(e: KeyboardEvent) {\n alert(e);\n if(e.keyCode===27){\n console.log(\"local esc\");\n alert(\"esc\")\n }\n }*/\n\n // @HostListener('keydown', ['$event'])\n // public onKeydownHandler(e: KeyboardEvent): void {\n // if(e.keyCode===13){\n // alert(\"enter\")\n // }\n // }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MxBlockCopyPasteDirective } from './mx.block-copy-paste.directive';\nimport { MxEllipsisDirective } from './mx.ellipsis.directive';\n\nexport const DIRECTIVES: any[] = [MxBlockCopyPasteDirective, MxEllipsisDirective];\n\n@NgModule({\n imports: [],\n declarations: [...DIRECTIVES],\n exports: [...DIRECTIVES],\n})\nexport class MxDirectivesModule {}\n","import {\n Directive,\n ElementRef,\n AfterViewInit,\n HostListener,\n Renderer2,\n} from '@angular/core';\nimport { Tooltip } from 'primeng/tooltip';\n\n@Directive({\n selector: '[mxEllipsis]',\n})\nexport class MxEllipsisDirective implements AfterViewInit {\n domElement: any;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n this.domElement = this.elementRef.nativeElement;\n\n const ellipsis: any = {\n 'text-overflow': 'ellipsis',\n overflow: 'hidden',\n 'white-space': 'nowrap',\n };\n Object.keys(ellipsis).forEach((element) => {\n this.renderer.setStyle(this.domElement, `${element}`, ellipsis[element]);\n });\n }\n\n ngAfterViewInit(): void {\n this.renderer.setProperty(this.domElement, 'scrollTop', 1);\n this.setToolTip();\n }\n\n @HostListener('window:resize', ['$event.target'])\n setToolTip() {\n this.domElement.offsetWidth < this.domElement.scrollWidth\n ? this.renderer.setAttribute(\n this.domElement,\n 'title',\n this.domElement.textContent\n )\n : this.renderer.removeAttribute(this.domElement, 'title');\n }\n}\n","export * from './mx.app-config.interface';\nexport * from './mx.table-column.interface';\nexport * from './mx.table-filter-meta-data.interface';\nexport * from './mx.table-filter-model.interface';\nexport * from './mx.table-filter-sort-meta.interface';\nexport * from './mx.table-options.interface';\nexport * from './mx.table-operation-items.interface';\nexport * from './mx.datasource.interface';\n","/**\n * Alap App config\n *\n */\nexport interface MxAppConfig {\n app: {\n env?: string;\n version: string;\n organization: string;\n };\n api: {\n url: string;\n };\n appInsights: {\n instrumentationKey: string;\n enableAutoRouteTracking: boolean;\n autoTrackPageVisitTime: boolean;\n };\n signalR: {\n url: string;\n notificationSubscribtion: string;\n };\n log: {\n debug: boolean;\n consoleLogging: boolean;\n };\n}\n","\nexport interface MxDatasource {\n label: string;\n value: any;\n}\n","import { FilterMatchMode } from 'primeng/api';\nimport { Observable } from 'rxjs';\nimport { MxColumnPosition, MxColumnType } from 'src/app/shared/enums';\n\nexport interface MxTableColumn {\n /**\n * mező\n */\n field: string;\n\n /**\n * ellipsis\n */\n ellipsis?: boolean;\n\n /**\n * columnchooser használja\n */\n translatedField?: string;\n\n /**s\n * Header szöveg\n */\n header?: string;\n\n /**\n * Típus\n */\n type: MxColumnType;\n\n /**\n * alapértelmezetten látható\n */\n defaultVisible: boolean;\n\n /**\n * Szélesség\n */\n width?: number;\n\n /**\n * ha kell datasource neki\n */\n apiCall$?: Observable;\n\n /**\n * Ha Enum akkor meg kell adni a típusát\n */\n enum?: any;\n\n /**\n * Ha Enum akkor meg kell adni a típusát\n */\n enumName?: string;\n\n /**\n * Ha Enum akkor meg lehet adni, hogy mely enum visible vagy disabled\n */\n enumOperationValues?: {\n value: number;\n disabled: boolean;\n visible: boolean;\n }[];\n\n /**\n * Ha Enum akkor meg lehet adni, hogy multi select e\n */\n isMulti?: boolean;\n\n /**\n * Ha NumberBetween\n */\n betweenValues?: number[];\n\n /**\n * ha number éspercentage\n */\n isPercentage?: boolean;\n\n /**\n * Prefix\n */\n prefix?: string;\n\n /**\n * suffix\n */\n suffix?: string;\n\n /**\n * pozició\n */\n position?: MxColumnPosition;\n\n /**\n * pozició\n */\n editable?: boolean;\n\n /**\n * cella színezése feltétel szerint\n */\n coloredCells?: {\n matchMode: FilterMatchMode;\n value: any;\n color: string;\n }[];\n}\n","\nexport interface MxTableFilterMetaData {\n matchMode?: string;\n operator?: string;\n value?: any;\n}\n","import { MxTableFilterMetaData } from \"./mx.table-filter-meta-data.interface\";\nimport { MxTableFilterSortMeta } from \"./mx.table-filter-sort-meta.interface\";\n\nexport interface MxTableFilterModel {\n filters?: {\n [s: string]: MxTableFilterMetaData;\n };\n first: number;\n rows: number;\n sortField?: string;\n sortOrder: number;\n multiSortMeta?: MxTableFilterSortMeta[];\n}\n","\n\n\nexport interface MxTableFilterSortMeta {\n field?: string;\n order: number;\n}\n\n","\nexport interface MxTableOperationItems {\n icon: string;\n label: string;\n type?: MxMenuType;\n styleClass?: string;\n disabled?: (event?: any) => boolean;\n loading?: boolean;\n command: (event?: any, rawData?: any) => void;\n}\n\nexport enum MxMenuType{\n SpeedDial= 0,\n Tiered = 10\n}\n","import { FilterMatchMode } from 'primeng/api';\nimport { MxTableColumn } from './mx.table-column.interface';\nimport { MxTableFilterMetaData } from './mx.table-filter-meta-data.interface';\n\nexport interface MxTableOptions {\n columnsLocalStorageKey?: string;\n localStorageKey: string;\n columns: MxTableColumn[];\n globalFilterFields: string[];\n defaultFilters?: { [s: string]: MxTableFilterMetaData[] };\n coloredRows?: {\n field: string;\n matchMode: FilterMatchMode;\n value: any;\n color: string;\n }[];\n}\n","export * from './mx.column-type.enum';\nexport * from './mx.export-mode.enum';\nexport * from './mx.column-position.enum';\n","export enum MxColumnPosition {\n Start = 0,\n Center = 10,\n End = 20,\n Between = 40,\n Arround = 50,\n Evenly = 60,\n}\n","export enum MxColumnType {\n Id = 0,\n Text = 10,\n Number = 20,\n Boolean = 30,\n Enum = 40,\n Date = 50,\n DateTime = 60,\n RemoteSource = 70,\n Link = 80,\n}\n"," export enum MxExportMode {\n AllWithEveryColumn = 0,\n AllWithSelectedColumn = 1,\n FilteredWithEveryColumn = 2,\n FilteredWithSelectedColumn = 3,\n }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { I18NextModule } from 'angular-i18next';\nimport { NgChartsModule } from 'ng2-charts';\nimport { NgPipesModule } from 'ngx-pipes';\n\nimport { PrimengModule } from '../primeng/primeng.module';\nimport { MxComponentsModule } from './components/mx.components.module';\nimport { MxDirectivesModule } from './directives/mx.directives.module';\nimport { MxPipesModule } from './pipes/mx.pipes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n I18NextModule,\n PrimengModule,\n ReactiveFormsModule,\n FormsModule,\n NgChartsModule\n ],\n exports: [\n CommonModule,\n PrimengModule,\n I18NextModule,\n ReactiveFormsModule,\n FormsModule,\n MxDirectivesModule,\n MxPipesModule,\n MxComponentsModule,\n NgChartsModule,\n NgPipesModule\n ],\n})\nexport class MxSharedModule {}\n","export * from './mx.enum-as-array.pipe';\nexport * from './mx.enum-as-string.pipe';\nexport * from './mx.table-colored-row.pipe';\nexport * from './mx.table-colored-cell.pipe';\nexport * from './mx.date-format.pipe';\nexport * from './mx.table-has-filters.pipe';\nexport * from './mx.date-ago.pipe';\nexport * from './mx.html-to-text.pipe';\nexport * from './mx.first-letter-operation.pipe';\nexport * from './mx.menu-rights.pipe';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment';\n\n@Pipe({\n name: 'mxDateAgo',\n pure: true,\n})\nexport class MxDateAgoPipe implements PipeTransform {\n transform(value: any, args?: any): any {\n if (value) {\n const seconds = Math.floor(\n (+new Date() -\n +moment(\n moment(value).format('YYYY-MM-DD HH:mm:ss'),\n 'YYYY-MM-DD HH:mm:ss',\n true\n ).toDate()) /\n 1000\n );\n if (seconds < 29) return 'Épp most';\n const intervals: any = {\n éve: 31536000,\n hónapja: 2592000,\n hete: 604800,\n napja: 86400,\n órája: 3600,\n perce: 60,\n másodperce: 1,\n };\n let counter;\n for (const i in intervals) {\n counter = Math.floor(seconds / intervals[i]);\n if (counter > 0) return counter + ' ' + i;\n }\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment';\n\n@Pipe({\n name: 'mxDateFormat',\n pure: true,\n})\nexport class MxDateFormatPipe implements PipeTransform {\n constructor() {}\n transform(value: string, format: string): any {\n return moment(value).isValid()\n ? moment(value).utcOffset(0).year() !== 1\n ? moment(value).utcOffset(0).format(format)\n : ''\n : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { I18NextPipe } from 'angular-i18next';\nimport { MxDatasource } from '../domains/common/interfaces';\n\n@Pipe({\n name: 'mxEnumAsArray',\n})\nexport class MxEnumAsArrayPipe implements PipeTransform {\n constructor(private i18nextPipe: I18NextPipe) {}\n transform(\n type: any,\n typeAsString: string,\n operationValues: {\n value: number;\n disabled: boolean;\n visible: boolean;\n }[] = []\n ): MxDatasource[] {\n return Object.keys(type)\n .filter((f) => !isNaN(+f))\n .filter((f) => {\n const opValue = operationValues.find(\n (x) => x.value.toString() === f.toString()\n );\n if (opValue) {\n if (opValue.visible) {\n return true;\n } else {\n return false;\n }\n } else {\n return true;\n }\n })\n .map((m) => {\n let disabled: boolean;\n const opValue = operationValues.find(\n (x) => x.value.toString() === m.toString()\n );\n disabled = opValue?.disabled;\n return {\n value: +m,\n label: this.i18nextPipe.transform(`enum:${typeAsString}.${type[m]}`),\n disabled: disabled,\n };\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mxEnumAsString',\n})\nexport class MxEnumAsStringPipe implements PipeTransform {\n constructor() {}\n transform(value: any, type: any, typeAsString: string): any {\n if (type && typeAsString) {\n return `enum:${typeAsString}.${type[value]}`;\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mxFirstLetterOperation',\n})\nexport class MxFirstLetterOperationPipe implements PipeTransform {\n constructor() {}\n transform(value: string, upperCase: boolean = true): string {\n return value\n ? upperCase\n ? value.charAt(0).toUpperCase() + value.slice(1)\n : value.charAt(0).toLowerCase() + value.slice(1)\n : value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mxHtmlToText',\n pure: true,\n})\nexport class MxHtmlToTextPipe implements PipeTransform {\n constructor() {}\n\n transform(value: any): any {\n const text = value.replace(/<[^>]+>/g, '');\n return text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Role } from 'src/app/backend-client/models/Backend/Core/Infrastructure/Aggregates/Identity/role';\nimport { MxIdentityService } from 'src/app/core/services';\n\n@Pipe({\n name: 'mxMenuRights',\n})\nexport class MxMenuRightsPipe implements PipeTransform {\n constructor(private identityService: MxIdentityService) {}\n transform(value: Role[]): any {\n return value.includes(this.identityService.accountValue?.role);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n MxEnumAsStringPipe,\n MxTableColoredRowPipe,\n MxEnumAsArrayPipe,\n MxDateFormatPipe,\n MxTableColoredCellPipe,\n MxTableHasFiltersPipe,\n MxDateAgoPipe,\n MxHtmlToTextPipe,\n MxFirstLetterOperationPipe,\n MxMenuRightsPipe,\n} from '.';\n\nexport const PIPES: any[] = [\n MxEnumAsStringPipe,\n MxTableColoredRowPipe,\n MxEnumAsArrayPipe,\n MxDateFormatPipe,\n MxTableColoredCellPipe,\n MxTableHasFiltersPipe,\n MxDateAgoPipe,\n MxHtmlToTextPipe,\n MxFirstLetterOperationPipe,\n MxMenuRightsPipe,\n];\n\n@NgModule({\n imports: [],\n declarations: [...PIPES],\n exports: [...PIPES],\n providers: [...PIPES],\n})\nexport class MxPipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment';\nimport { FilterMatchMode } from 'primeng/api';\n\n@Pipe({\n name: 'mxTableColoredCell',\n})\nexport class MxTableColoredCellPipe implements PipeTransform {\n constructor() {}\n private color: string;\n transform(\n data: any,\n tableColoredCells: {\n matchMode: FilterMatchMode;\n value: any;\n color: string;\n }[]\n ): string {\n tableColoredCells.forEach((coloredCell) => {\n if (coloredCell.matchMode === FilterMatchMode.EQUALS) {\n if (data == coloredCell.value) {\n this.color = coloredCell.color;\n }\n } else if (coloredCell.matchMode === FilterMatchMode.DATE_BEFORE) {\n if (moment(data).isBefore(moment(coloredCell.value))) {\n this.color = coloredCell.color;\n }\n }\n });\n return this.color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { FilterMatchMode } from 'primeng/api';\n\n@Pipe({\n name: 'mxTableColoredRow',\n})\nexport class MxTableColoredRowPipe implements PipeTransform {\n constructor() {}\n private color: string;\n transform(\n rowData: any,\n tableColoredRows: {\n field: string;\n matchMode: FilterMatchMode;\n value: any;\n color: string;\n }[]\n ): string {\n if (tableColoredRows) {\n tableColoredRows.forEach((coloredRow) => {\n const currentRowDataField = rowData[coloredRow.field];\n if (currentRowDataField === coloredRow.value) {\n this.color = coloredRow.color;\n }\n });\n }\n\n return this.color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Table } from 'primeng/table';\nimport { MxBrowserStorageService, MxStorageType } from 'src/app/core/services';\n\n@Pipe({\n name: 'mxTableHasFilters',\n pure: false,\n})\nexport class MxTableHasFiltersPipe implements PipeTransform {\n constructor() {}\n transform(tableLocalStorageKey: string): any {\n let ret = false;\n \n const tableLocalStorageOptions = MxBrowserStorageService.get(\n MxStorageType.Local,\n tableLocalStorageKey\n );\n\n if (tableLocalStorageOptions?.filters) {\n Object.keys(tableLocalStorageOptions.filters).forEach((key) => {\n const filter = { ...(tableLocalStorageOptions.filters as any)[key][0] };\n if (filter?.value !== null) {\n ret = true;\n }\n });\n }\n return ret;\n }\n}\n","export const environment = {\n production: false,\n appConfigurationConnectionString: 'Endpoint=https://pharmaroad.azconfig.io;Id=ZANZ-l9-s0:ULJ8b0kyngOJM6FNLlGu;Secret=eM9nMFiWlXgQpyXyHFq2/8eMjhQERx651U3qa2NFPdk=',\n appConfigurationLabel: 'pr-b2b-web-dev',\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\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 = 46700;"],"names":["APP_INITIALIZER","InjectionToken","isPromise","MX_ORDERED_APP_INITIALIZER","orderedAppInitializer","appInits","initializer","result","MX_ORDERED_APP_PROVIDER","provide","useFactory","deps","multi","AppConfigurationClient","I18NEXT_SERVICE","LanguageDetector","HttpApi","environment","MxConstans","MxConstansService","MxAppInitService","constructor","i18next","appColorSchemeService","appSidebarService","apiConfiguration","ipService","versionCheckService","currentConfig","config","currentIp","ip","versionCheck","production","initVersionCheck","document","getElementsByTagName","href","loadConfig","client","appConfigurationConnectionString","setting","getConfigurationSetting","key","label","JSON","parse","value","rootUrl","api","url","log","debug","console","loadIp","getIPAddress","toPromise","loadI18Next","i18nextOptions","whitelist","fallbackLng","returnEmptyString","ns","backend","loadPath","Date","getTime","languageDetector","lookupLocalStorage","get","LOCAL_STORAGE_PREFIX","lookupQuerystring","order","addDetector","name","lookup","options","cacheUserLanguage","lng","use","init","loadColorSheme","colorScheme","changeStyleSheetsColor","loadSideBarSettings","sidebarActive","sidebarStatic","i0","factory","providedIn","BehaviorSubject","of","map","MxIdentityService","router","identityBackendService","loggingService","signalRService","accountSubject","account","asObservable","accountValue","preAuthenticate","input","preAuthenticate$Json","body","login","authenticate$Json","pipe","next","startRefreshTokenTimer","loginAfterVerifyAccount","logout","withoutNavigateToLogin","revokeToken$Json$Response","subscribe","stopRefreshTokenTimer","navigate","refreshToken","refreshToken$Json","setAppInsightsAuthenticatedUserContext","refreshTokenLoad","catch","err","info","verifyAccount","verifyAccount$Json","verifyAccountThenAuthenticate","verifyAccountThenAuthenticate$Json","forgotPassword","forgotPassword$Json","verifyResetToken","verifyResetToken$Json","resetPassword","resetPassword$Json","changePassword","changePassword$Json","initiateDestroyAccount","initiateDestroyAccount$Json","verifyDestroyToken","verifyDestroyToken$Json","destroyAccount","destroyAccount$Json","jwtToken","atob","split","expires","exp","timeout","now","refreshTokenTimeout","setTimeout","clearTimeout","ApplicationInsights","SeverityLevel","NgxLoggerLevel","MxLoggingService","logger","appInitService","load","updateConfig","level","TRACE","disableConsoleLogging","consoleLogging","WARN","appInsights","instrumentationKey","enableAutoRouteTracking","autoTrackPageVisitTime","loadAppInsights","ERROR","trace","message","properties","logAppInsightsTrace","error","logAppInsightsException","Information","shouldAppInsightsLog","LOG","Verbose","warn","Warning","Error","fatal","FATAL","Critical","accountForAppinsight","setAuthenticatedUserContext","id","toString","logAppInsightsPageView","trackPageView","uri","addAppInsightsGlobalProperties","isLoggedIn","logAppInsightsEvent","trackEvent","logAppInsightsMetric","average","trackMetric","exception","severityLevel","trackException","trackTrace","OFF","INFO","signalR","MxNotificationSeverity","MxSignalRService","notificationService","hubConnection","_hubConnection","start","username","HubConnectionBuilder","withUrl","build","on","notificationSubscribtion","mess","messageContent","replace","notificationSeverity","getNotificationSeverityByBackendNotificationType","type","show","title","messageTitle","sticky","clearMessages","invoke","stop","MxMessageStatus"],"sourceRoot":"webpack:///"}