@indigina/kendo 1.2.21 → 1.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/account-menu/AccountMenuItem.mjs +2 -0
- package/esm2020/lib/components/account-menu/account-menu.component.mjs +5 -3
- package/esm2020/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +27 -6
- package/esm2020/lib/widgets/top-bar/top-bar.component.mjs +5 -3
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/indigina-kendo.mjs +33 -8
- package/fesm2015/indigina-kendo.mjs.map +1 -1
- package/fesm2020/indigina-kendo.mjs +33 -8
- package/fesm2020/indigina-kendo.mjs.map +1 -1
- package/lib/components/account-menu/AccountMenuItem.d.ts +5 -0
- package/lib/components/account-menu/account-menu.component.d.ts +3 -1
- package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +9 -4
- package/lib/widgets/top-bar/top-bar.component.d.ts +3 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indigina-kendo.mjs","sources":["../../../projects/kendo/src/lib/angular/forms/directives/debounce.directive.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/number-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.html","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.ts","../../../projects/kendo/src/lib/angular/services/locale-settings.service.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.html","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.html","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.html","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/ContentTypesFormat.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/AbstractContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNodeTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNode.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/EnumTypeGetter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/JsonResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/TextResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/ContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/TextPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/XMLPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/JsonPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/PrettifierFactory.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.html","../../../projects/kendo/src/lib/angular/indigina.module.ts","../../../projects/kendo/src/lib/services/endpoints.ts","../../../projects/kendo/src/lib/services/signalr/EventNames.ts","../../../projects/kendo/src/lib/services/base.account.service.ts","../../../projects/kendo/src/lib/angular/extensions/ReEntrySubscription.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/services/toastr.service.ts","../../../projects/kendo/src/lib/angular/services/settings.service.ts","../../../projects/kendo/src/lib/angular/services/http.service.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.html","../../../projects/kendo/src/lib/services/auth.providers/AuthProvider.ts","../../../projects/kendo/src/lib/services/auth.providers/azureb2c.provider.ts","../../../projects/kendo/src/lib/services/auth-provider.resolver.ts","../../../projects/kendo/src/lib/services/signalr/signalr.service.ts","../../../projects/kendo/src/lib/services/account.service.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.html","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.html","../../../projects/kendo/src/lib/components/azure-login-callback/azure-login-callback.component.ts","../../../projects/kendo/src/lib/config/msal-instance.factory.ts","../../../projects/kendo/src/lib/services/permissions.service.ts","../../../projects/kendo/src/lib/directives/requirePermission.directive.ts","../../../projects/kendo/src/lib/services/entity.service.ts","../../../projects/kendo/src/lib/services/partner.service.ts","../../../projects/kendo/src/lib/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.html","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.ts","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.html","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.html","../../../projects/kendo/src/lib/widgets/entity-list/user-list-admin.component.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/models/FieldTypes.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.html","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.html","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.html","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.ts","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.html","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.ts","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.html","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.ts","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.html","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.ts","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.module.ts","../../../projects/kendo/src/lib/services/activity.filter.service.config.ts","../../../projects/kendo/src/lib/kendo.module.ts","../../../projects/kendo/src/lib/models/FilterTargets.ts","../../../projects/kendo/src/lib/models/MemberTypes.ts","../../../projects/kendo/src/lib/models/Operators.ts","../../../projects/kendo/src/lib/models/PermissionTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/FilterConverter.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/public-api.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["import {\n Directive,\n HostListener,\n Output,\n EventEmitter,\n OnInit,\n OnDestroy,\n Input,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDebounce]',\n})\nexport class DebounceDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 500;\n @Output() debounceKeyup = new EventEmitter();\n private keyUp = new Subject();\n private subscription: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.subscription = this.keyUp.pipe(\n debounceTime(this.debounceTime),\n ).subscribe(e => this.debounceKeyup.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('keyup', ['$event'])\n\n keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\n}\n","import { OnInit, Input, ElementRef, Directive, OnChanges } from '@angular/core';\nimport {\n FormGroupDirective,\n UntypedFormControl,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nlet id: number = 0;\nconst disabledKey = 'disabled';\n\n@Directive()\nexport abstract class FieldComponent<T> implements OnInit, OnChanges {\n @Input() labelKey: string;\n @Input() fieldName: string;\n @Input() disabled: boolean = false;\n id: string;\n\n constructor(\n public parent: FormGroupDirective,\n public eref: ElementRef,\n private defaultValue: T,\n ) {}\n\n ngOnInit(): void {\n this.id = '_' + this.fieldName + ++id;\n this.setUp();\n }\n\n ngOnChanges(): void {\n this.setUp();\n }\n\n protected setUp(): void {\n const validators: ValidatorFn[] = [];\n for (const attr of this.eref.nativeElement.attributes as [\n { name: string; value: string },\n ]) {\n const validator = this.setAttribute(attr.name, attr.value);\n if (validator) {\n validators.push(validator);\n }\n }\n\n const control = this.parent.form.get(this.fieldName);\n if (control) {\n if (control.validator) {\n validators.push(control.validator);\n }\n\n control.setValidators(validators);\n control.updateValueAndValidity();\n } else {\n this.parent.form.addControl(\n this.fieldName,\n new UntypedFormControl(this.defaultValue, validators),\n );\n }\n\n this.updateState();\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === disabledKey) {\n this.disabled = true;\n\n return;\n }\n\n if (name === 'required') {\n return Validators.required;\n }\n }\n\n updateState(): void {\n const control = this.parent.form.get(this.fieldName);\n if (!control) {\n return;\n }\n\n if (this.disabled) {\n control.disable();\n } else {\n control.enable();\n }\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n Validators,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldComponent } from '../field.component';\n\n@Component({\n selector: 'field-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldInputComponent extends FieldComponent<string> {\n @Input()\n public labelKey: string;\n @Input()\n public fieldName: string;\n\n public type: string = 'text';\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === 'type') {\n this.type = value;\n }\n\n if (name === 'max-length') {\n return Validators.maxLength(parseInt(value, 10));\n }\n\n return super.setAttribute(name, value);\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ id }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\">\n <input\n [formControlName]=\"fieldName\"\n id=\"{{ id }}\"\n [type]=\"type\"\n class=\"k-input\"\n autocomplete=\"new-{{ fieldName }}\"\n placeholder=\"{{ labelKey | translate }}\"\n />\n <ng-content></ng-content>\n <div\n class=\"bg-danger\"\n *ngIf=\"\n parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched\n \"\n >\n <span *ngIf=\"parent.form.get(fieldName).errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['email']\">{{\n \"ValidEmail\" | translate\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['serverErrorMsg']\">{{\n parent.form.get(fieldName).errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldInputComponent } from './field-input.component';\n\nconst defaultValue = null;\nconst minusSign = '-';\nconst emptyString = '';\n\n@Component({\n selector: 'number-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class NumberInputComponent extends FieldInputComponent {\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref);\n this.type = 'text';\n }\n\n @Input() isPositive: boolean = false;\n\n private cachedValue: number | string;\n\n ngAfterContentInit() {\n const control = this.parent.form.get(this.fieldName);\n control.setValue(this.presetDefaultValue(control.value));\n control.setValidators(this.isNaNValidator());\n control.valueChanges.subscribe((value) => {\n if (\n ((typeof value === 'undefined' || value?.toString() === emptyString) &&\n this.cachedValue !== defaultValue) ||\n (this.presetDefaultValue(value) === defaultValue &&\n control.value !== defaultValue)\n ) {\n this.cachedValue = defaultValue;\n control.setValue(this.cachedValue);\n\n return;\n }\n\n if (value && value.toString().includes(minusSign)) {\n let newValue = this.isPositive\n ? value.replaceAll(minusSign, emptyString)\n : value.slice(0, 1) + value.replaceAll(minusSign, emptyString);\n this.cachedValue = !isNaN(newValue + 1) ? newValue : this.cachedValue;\n if (this.cachedValue !== value) {\n control.setValue(this.cachedValue);\n }\n\n return;\n }\n\n if (isNaN(value)) {\n this.cachedValue !== defaultValue\n ? control.setValue(this.cachedValue)\n : control.setValue(defaultValue);\n\n return;\n }\n\n this.cachedValue = +value;\n if (\n this.cachedValue !== value &&\n value !== null &&\n !value.toString().endsWith('.')\n ) {\n control.setValue(this.cachedValue);\n }\n });\n }\n\n private presetDefaultValue(value: number | string): number | string {\n return value?.toString().replace(/\\s/g, emptyString) === emptyString\n ? defaultValue\n : value;\n }\n\n private isNaNValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const notValid = isNaN(control.value);\n\n return notValid ? { forbiddenName: { value: control.value } } : null;\n };\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputComponent } from './field-input.component';\nimport { NumberInputComponent } from './number-input.component';\n\n@NgModule({\n declarations: [FieldInputComponent, NumberInputComponent],\n exports: [FieldInputComponent, NumberInputComponent],\n imports: [ReactiveFormsModule, FormsModule, TranslateModule, CommonModule],\n})\nexport class FieldInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-general-errors',\n templateUrl: './general-errors.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GeneralErrorsComponent implements OnChanges {\n @Input() form: UntypedFormGroup;\n @Input() errors: string[] = [];\n\n ngOnChanges(): void {\n this.form.setErrors({ _general_errors_: this.errors });\n }\n}\n","<div *ngIf=\"form\" [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { LogLevel } from '@microsoft/signalr';\nimport { AzureB2CSettings } from '../../models/AzureB2CSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AppSettings {\n apiUrl: string;\n accountUrl: string;\n toastrTimeOut: number;\n signalRLogLevel?: LogLevel;\n azureB2C: AzureB2CSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { AppSettings } from './AppSettings';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class IndiginaConfiguration {\n langs?: TranslateLoader;\n appSettings?: AppSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { Language } from '../models/Language';\nimport { TranslateService } from '@ngx-translate/core';\n\nconst languageKey = 'language';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleSettingsService {\n private languages: Language[] = [\n { name: 'English', code: 'en-US' },\n { name: 'Русский', code: 'ru-RU' },\n ];\n private localeId: string;\n\n constructor(private translate: TranslateService) {}\n\n init(): void {\n this.translate.addLangs(this.languages.map((x) => x.code));\n this.localeId = this.getLocale();\n this.setLocale(this.localeId || this.languages[0].code);\n }\n\n getLocales(): Language[] {\n return this.languages;\n }\n\n getLocale(): string {\n if (localStorage) {\n return localStorage.getItem(languageKey) || this.localeId;\n } else {\n return this.localeId;\n }\n }\n\n setLocale(locale: string) {\n this.translate.use(locale);\n this.localeId = locale;\n if (localStorage) {\n localStorage.setItem(languageKey, locale);\n }\n }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\n IsActiveMatchOptions,\n} from '@angular/router';\n\nconst urlDelimiter = '/';\nconst collapsedEvent = 'collapsed';\n\n@Component({\n selector: '[menu-item-group]',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.css'],\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (\n url: string | UrlTree,\n matchOptions: boolean | IsActiveMatchOptions,\n ): boolean {\n return this.routerState.snapshot.root.children?.length\n ? url.toString() ===\n urlDelimiter +\n this.routerState.snapshot.root.children[0].routeConfig.path.split(\n '/:',\n )[0]\n : false;\n };\n }\n\n ngOnInit(): void {\n this.setActualPath(this.router.routerState.snapshot);\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.setActualPath(this.router.routerState.snapshot);\n }\n });\n }\n\n ngOnChanges(): void {\n this.setItemExpand();\n }\n\n collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n\n if (!activeItem.items || activeItem.items.length === 0) {\n event[collapsedEvent] = true;\n } else {\n event[collapsedEvent] = false;\n }\n }\n\n private setItemExpand() {\n this.item.expanded = this.item.items?.some((x) => {\n return x.link !== undefined && x.link === this.actualPath;\n });\n }\n\n private setActualPath(snapshot: RouterStateSnapshot): void {\n if (snapshot.root.children?.length) {\n this.actualPath =\n urlDelimiter +\n snapshot.root.children[0].routeConfig.path.split('/:')[0];\n this.setItemExpand();\n }\n }\n}\n","<ng-container *ngIf=\"item.items && item.items.length\">\n <a (click)=\"collapseChild(item, $event)\">\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n <ul\n [ngClass]=\"\n item.expanded == true\n ? 'nav nav-second-level collapse in'\n : 'nav nav-second-level collapse'\n \"\n >\n <ng-template ngFor let-item [ngForOf]=\"item.items\">\n <li menu-item-group [item]=\"item\"></li>\n </ng-template>\n </ul>\n</ng-container>\n<ng-container *ngIf=\"!item.items || !item.items.length\">\n <a\n *ngIf=\"item.link\"\n routerLink=\"{{ item.link }}\"\n routerLinkActive=\"active-route\"\n class=\"sub-menu-link\"\n (click)=\"collapseChild(item, $event)\"\n >\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n <a\n *ngIf=\"item.url\"\n class=\"sub-menu-link\"\n href=\"{{ item.url }}\"\n target=\"_blank\"\n (click)=\"collapseChild(item, $event)\"\n >\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n</ng-container>\n<ng-template #labelWithIcon>\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n</ng-template>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { MenuItem } from './MenuItem';\n\nconst collapsedEvent = 'collapsed';\n@Component({\n selector: 'side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.css'],\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n onLogoClick() {\n this.logoClick.emit();\n }\n\n collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent,\n ) {\n this.items?.forEach((item) => {\n if (item.text !== activeItem.text && item.expanded) {\n item.expanded = false;\n }\n });\n if (event[collapsedEvent]) {\n itemComponent.collapsed = true;\n } else {\n itemComponent.collapsed = false;\n }\n }\n}\n","<nav\n id=\"menu-left\"\n class=\"navbar-default navbar-main navbar-static-side open\"\n role=\"navigation\"\n>\n <div class=\"sidebar-collapse\">\n <ul id=\"side-menu\" class=\"nav\">\n <li class=\"nav-header\">\n <div class=\"profile-element\">\n <a [routerLink]=\"['/']\" class=\"img-supply\">\n <img alt=\"Supply Stream logo\" />\n </a>\n </div>\n <div class=\"logo-element\" (click)=\"onLogoClick()\">\n <i class=\"fa fa-exchange\"></i>\n </div>\n </li>\n </ul>\n\n <div class=\"sidebar-collapse\">\n <ul class=\"nav\">\n <ng-template ngFor let-item [ngForOf]=\"items\">\n <li\n #itemComponent\n menu-item-group\n [item]=\"item\"\n [ngClass]=\"{\n menu: true,\n active: item.expanded ? item.expanded : false,\n collapsed: itemComponent.collapsed\n }\"\n (click)=\"collapse(itemComponent, item, $event)\"\n ></li>\n </ng-template>\n </ul>\n </div>\n </div>\n</nav>\n","import {\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { TreeViewNode } from '../models/TreeViewNode';\n\n@Component({\n selector: 'tree-view-node',\n templateUrl: './tree-view-node.component.html',\n styleUrls: ['./tree-view-node.component.css'],\n})\nexport class TreeViewNodeComponent implements OnInit {\n @ViewChildren('node') treeViewProps: QueryList<TreeViewNodeComponent>;\n\n @Input() node: TreeViewNode;\n @Input() hasExpand: boolean;\n\n public expanded: boolean = true;\n\n ngOnInit(): void {\n this.expanded = !this.hasExpand;\n }\n\n public toggleExpand() {\n this.expanded = !this.expanded;\n }\n\n public expandAll(): void {\n if (this.hasExpand) {\n this.expanded = true;\n }\n\n this.treeViewProps.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n if (this.hasExpand) {\n this.expanded = false;\n }\n\n this.treeViewProps.forEach((x) => x.collapseAll());\n }\n}\n","<span class=\"tree-view-node\">\n <span class=\"bracket\">{{ node.brackets?.inside }}</span>\n <ng-container\n *ngIf=\"node.isPrimitive; then primitiveNode; else baseNode\"\n ></ng-container>\n <span class=\"bracket\">{{ node.brackets?.outside }}</span>\n</span>\n\n<ng-template #primitiveNode>\n <span class=\"tree-view-prop\">\n {{ node.startTag }}\n <span [ngClass]=\"node.nodeType\">\n {{ node.value }}\n </span>\n {{ node.endTag }}\n </span>\n</ng-template>\n\n<ng-template #baseNode>\n <span>\n <em\n [ngClass]=\"\n expanded\n ? 'fa fa-caret-down node-toggler'\n : 'fa fa-caret-right node-toggler'\n \"\n *ngIf=\"hasExpand\"\n (click)=\"toggleExpand()\"\n ></em>\n <span class=\"ellipsis\" *ngIf=\"!expanded && !node.startTag\">...</span>\n <ul [ngClass]=\"!expanded ? 'hidden' : ''\">\n <li class=\"tree-view-prop\" *ngFor=\"let child of node.children\">\n <span class=\"prop-name\">{{ child.startTag }}</span>\n <span *ngIf=\"child.isPrimitive\" [ngClass]=\"child.nodeType\">{{\n child.value\n }}</span>\n <ng-container *ngIf=\"child.isComplex\">\n <tree-view-node\n [node]=\"child\"\n [hasExpand]=\"true\"\n #node\n ></tree-view-node>\n </ng-container>\n <span class=\"prop-name\">{{ child.endTag }}</span>\n </li>\n </ul>\n </span>\n</ng-template>\n","export enum ContentTypesFormat {\n Json = 'json',\n Xml = 'xml',\n Text = 'text',\n}\n","import { IContentResolver } from './IContentResolver';\nimport { ResolverResult } from '../models/ResolverResult';\n\nexport abstract class AbstractContentResolver implements IContentResolver {\n private nextResolver: IContentResolver;\n\n constructor(resolver: IContentResolver) {\n this.nextResolver = resolver;\n }\n\n resolve(data: string): ResolverResult {\n if (this.nextResolver) {\n return this.nextResolver.resolve(data);\n }\n\n return null;\n }\n}\n","export enum TreeViewNodeTypes {\n Object = 'object',\n Array = 'array',\n String = 'string',\n Number = 'number',\n Boolean = 'boolean',\n}\n","import { Brackets } from './Brackets';\nimport { TreeViewNodeTypes } from './TreeViewNodeTypes';\n\nexport class TreeViewNode {\n brackets?: Brackets;\n startTag?: string;\n endTag?: string;\n value?: string | number | boolean | TreeViewNode[] | TreeViewNode;\n nodeType: TreeViewNodeTypes;\n\n get isPrimitive(): boolean {\n return (\n this.nodeType === TreeViewNodeTypes.Number ||\n this.nodeType === TreeViewNodeTypes.String ||\n this.nodeType === TreeViewNodeTypes.Boolean\n );\n }\n\n get isArray(): boolean {\n return this.nodeType === TreeViewNodeTypes.Array;\n }\n\n get isObject(): boolean {\n return this.nodeType === TreeViewNodeTypes.Object;\n }\n\n get isComplex(): boolean {\n return this.isArray || this.isObject;\n }\n\n get children(): TreeViewNode[] {\n return Array.isArray(this.value)\n ? this.value\n : [this.value as TreeViewNode];\n }\n\n constructor(init: Partial<TreeViewNode>) {\n Object.assign(this, init);\n }\n}\n","import { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\n\nexport function getNodeTypeFromKey(key: string): TreeViewNodeTypes {\n return (\n Object.values(TreeViewNodeTypes).find((x) => x === key) ||\n TreeViewNodeTypes.Object\n );\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { getNodeTypeFromKey } from './EnumTypeGetter';\n\nconst objectBrackets = { inside: '{', outside: '}' };\nconst arrayBrackets = { inside: '[', outside: ']' };\n\nexport class JsonConverter {\n public static convert(\n source: object[] | object,\n ): TreeViewNode[] | TreeViewNode {\n if (Array.isArray(source)) {\n return this.convertArray(source);\n }\n\n return this.convertObject(source);\n }\n\n private static convertObject(source: object): TreeViewNode {\n const props: TreeViewNode[] = [];\n for (const name of Object.keys(source)) {\n const value = source[name];\n let propType =\n value !== null\n ? getNodeTypeFromKey(typeof value)\n : TreeViewNodeTypes.String;\n if (Array.isArray(value)) {\n const result = this.convertArray(value);\n const nodeType = Array.isArray(result)\n ? TreeViewNodeTypes.Array\n : TreeViewNodeTypes.Object;\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value: result,\n nodeType,\n brackets: arrayBrackets,\n }),\n );\n\n continue;\n }\n\n if (propType === TreeViewNodeTypes.Object) {\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value: this.convertObject(value),\n nodeType: propType,\n }),\n );\n\n continue;\n }\n\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value,\n nodeType: propType,\n }),\n );\n }\n\n return new TreeViewNode({\n value: props,\n nodeType: TreeViewNodeTypes.Object,\n brackets: objectBrackets,\n });\n }\n\n private static convertArray(source: any[]): TreeViewNode {\n const nodes: TreeViewNode[] = [];\n\n source.forEach((item, index) => {\n if (typeof item !== TreeViewNodeTypes.Object) {\n nodes.push(this.getPrimitive(item, index));\n } else {\n const brackets = Array.isArray(item) ? arrayBrackets : objectBrackets;\n const inside = brackets.inside;\n const outside = brackets.outside;\n nodes.push(\n new TreeViewNode({\n ...this.convertObject(item),\n nodeType: Array.isArray(item)\n ? TreeViewNodeTypes.Array\n : getNodeTypeFromKey(typeof item),\n brackets: {\n inside: `${index}: ${inside}`,\n outside,\n },\n }),\n );\n }\n });\n\n return new TreeViewNode({\n value: [\n new TreeViewNode({\n value: nodes,\n nodeType: TreeViewNodeTypes.Array,\n }),\n ],\n brackets: arrayBrackets,\n nodeType: TreeViewNodeTypes.Array,\n });\n }\n\n private static getPrimitive(\n source: string | number,\n index: string | number,\n ): TreeViewNode {\n const nodeType = getNodeTypeFromKey(typeof source);\n\n return new TreeViewNode({\n startTag: `${index}: `,\n value: source,\n nodeType,\n });\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { JsonConverter } from '../Converters/JsonConverter';\n\nexport class JsonResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const json = JSON.parse(data);\n\n return {\n data: JsonConverter.convert(json),\n format: ContentTypesFormat.Json,\n };\n } catch (e) {\n return super.resolve(data);\n }\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\n\nexport class TextConverter {\n public static convert(source: string): TreeViewNode[] | TreeViewNode {\n return new TreeViewNode({\n value: source,\n nodeType: TreeViewNodeTypes.String,\n });\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { TextConverter } from '../Converters/TextConverter';\n\nexport class TextResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n return {\n data: TextConverter.convert(data),\n format: ContentTypesFormat.Text,\n };\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { getNodeTypeFromKey } from './EnumTypeGetter';\n\nexport class XmlConverter {\n public static convert(source: Document): TreeViewNode[] | TreeViewNode {\n if (source.childElementCount > 1) {\n return this.convertObject(source.childNodes);\n }\n\n return new TreeViewNode({\n value: [this.convertProp(source.children[0])],\n nodeType: TreeViewNodeTypes.Array,\n });\n }\n\n private static convertProp(source: any): TreeViewNode {\n const name: string = source.tagName;\n let value: TreeViewNode[] | string;\n let nodeType: TreeViewNodeTypes;\n if (source.childElementCount > 0) {\n value = this.convertObject(source.children);\n nodeType = TreeViewNodeTypes.Array;\n } else {\n value = source.textContent;\n nodeType = getNodeTypeFromKey(typeof value);\n }\n\n return new TreeViewNode({\n startTag: `<${name}>`,\n endTag: `</${name}>`,\n value,\n nodeType,\n });\n }\n\n private static convertObject(childs: any): TreeViewNode[] {\n const nodes = Array<TreeViewNode>();\n for (const item of childs) {\n nodes.push(this.convertProp(item));\n }\n\n return nodes;\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { XmlConverter } from '../Converters/XmlConverter';\n\nexport class XmlResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n if (!this.isValidXMLOrHtmlDocument(data)) {\n return super.resolve(data);\n }\n\n try {\n const oParser = new DOMParser();\n const oDOM = oParser.parseFromString(data, 'text/xml');\n\n if (\n oDOM.childElementCount > 0 &&\n oDOM.getElementsByTagName('parsererror').length === 0\n ) {\n return {\n data: XmlConverter.convert(oDOM),\n format: ContentTypesFormat.Xml,\n };\n }\n } catch (e) {}\n\n return super.resolve(data);\n }\n\n private isValidXMLOrHtmlDocument(data: string): boolean {\n return data.trim().startsWith('<');\n }\n}\n","import { ResolverResult } from '../models/ResolverResult';\nimport { AbstractContentResolver } from './AbstractContentResolver';\nimport { JsonResolver } from './Resolvers/JsonResolver';\nimport { TextResolver } from './Resolvers/TextResolver';\nimport { XmlResolver } from './Resolvers/XmlResolver';\n\nexport class ContentResolver {\n private chain: AbstractContentResolver;\n\n constructor() {\n this.chain = new JsonResolver(new XmlResolver(new TextResolver(null)));\n }\n\n public resolve(data: string): ResolverResult {\n return this.chain.resolve(data);\n }\n}\n","import { IPrettifier } from './IPrettifier';\n\nexport class TextPrettifier implements IPrettifier {\n prettify(data: string): string {\n return data;\n }\n}\n","import { IPrettifier } from './IPrettifier';\nimport XmlBeautify from 'xml-beautify';\n\nexport class XmlPrettifier implements IPrettifier {\n prettify(data: string): string {\n data = data.replace(/\\s*\\</g, '<');\n\n return new XmlBeautify().beautify(data, {\n collapseContent: true,\n });\n }\n}\n","import { IPrettifier } from './IPrettifier';\n\nexport class JsonPrettifier implements IPrettifier {\n prettify(data: string): string {\n return JSON.stringify(JSON.parse(data), null, 2);\n }\n}\n","import { TextPrettifier } from './TextPrettifier';\nimport { XmlPrettifier } from './XMLPrettifier';\nimport { JsonPrettifier } from './JsonPrettifier';\nimport { ContentTypesFormat } from '../models/ContentTypesFormat';\nimport { IPrettifier } from './IPrettifier';\n\nexport class PrettifierFactory {\n public static Create(format: ContentTypesFormat): IPrettifier {\n switch (format) {\n case ContentTypesFormat.Json:\n return new JsonPrettifier();\n case ContentTypesFormat.Xml:\n return new XmlPrettifier();\n default:\n return new TextPrettifier();\n }\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { ContentResolver } from './ContentResolver/ContentResolver';\nimport { ContentTypesFormat } from './models/ContentTypesFormat';\nimport { ResolverResult } from './models/ResolverResult';\nimport { TreeViewNode } from './models/TreeViewNode';\nimport { PrettifierFactory } from './Prettifiers/PrettifierFactory';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n})\nexport class TreeViewComponent implements OnChanges {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() data: string;\n @Input() maxTextLength: number = 1200;\n @Input() maxRootItems: number = 10;\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public ContentTypesFormat = ContentTypesFormat;\n\n public get IsArray(): boolean {\n return this.data ? Array.isArray(this.resolved.data) : false;\n }\n\n public get hasCollapse(): boolean {\n if (!this.data) {\n return false;\n }\n\n return this.resolved.format === ContentTypesFormat.Text\n ? this.hasTextCollapse()\n : this.hasNodeCollapse();\n }\n\n public get format(): ContentTypesFormat {\n return !this.rawView ? this.resolved.format : ContentTypesFormat.Text;\n }\n\n constructor(private clipboardService: ClipboardService) {}\n\n ngOnChanges(): void {\n const contentResolver = new ContentResolver();\n this.allShow = false;\n this.rawView = false;\n this.resolved = contentResolver.resolve(this.data);\n this.collapsed = this.hasCollapse;\n }\n\n public expandToggle(): void {\n this.collapsed = !this.collapsed;\n }\n\n public toggleExpandAll() {\n if (this.allShow) {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n } else {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n this.collapsed = this.hasCollapse ? this.allShow : false;\n this.allShow = !this.allShow;\n }\n\n public toggleRawView() {\n this.rawView = !this.rawView;\n }\n\n public copyToClipboard() {\n this.clipboardService.copy(this.data);\n }\n\n public prettyCopyToClipboard() {\n this.clipboardService.copy(\n PrettifierFactory.Create(this.format).prettify(this.data),\n );\n }\n\n private hasTextCollapse(): boolean {\n return this.data.length > this.maxTextLength;\n }\n\n private hasNodeCollapse(): boolean {\n if (!Array.isArray(this.resolved.data)) {\n return (\n (this.resolved.data.value as TreeViewNode[]).length > this.maxRootItems\n );\n }\n\n return false;\n }\n}\n","<div\n class=\"tree-view\"\n [ngClass]=\"collapsed ? 'collapsed' : 'expanded'\"\n [class]=\"format\"\n *ngIf=\"data\"\n>\n <ng-container *ngIf=\"format != ContentTypesFormat.Text; else textFormat\">\n <div>\n <ng-container *ngTemplateOutlet=\"defaultActions\"></ng-container>\n </div>\n <div [ngClass]=\"allShow ? 'show-all tree-view-body' : 'tree-view-body'\">\n <ng-container *ngIf=\"IsArray; then arrayNode; else singleNode\">\n </ng-container>\n <ng-template #singleNode>\n <tree-view-node [node]=\"resolved.data\" #node> </tree-view-node>\n </ng-template>\n\n <ng-template #arrayNode>\n <tree-view-node\n *ngFor=\"let node of resolved.data\"\n [node]=\"node\"\n [hasExpand]=\"true\"\n class=\"array-node\"\n #node\n >\n </tree-view-node>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n (click)=\"toggleExpandAll()\"\n *ngIf=\"resolved.format !== ContentTypesFormat.Text\"\n [disabled]=\"rawView\"\n class=\"tree-view-action\"\n title=\"{{\n (collapsed ? 'TreeViewMessages.Expand' : 'TreeViewMessages.Collapse')\n | translate\n }}\"\n >\n <i [ngClass]=\"allShow ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </button>\n <button\n (click)=\"copyToClipboard()\"\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.CopyToClipboard' | translate }}\"\n >\n <i class=\"fa fa-clipboard\"></i>\n </button>\n <button\n (click)=\"prettyCopyToClipboard()\"\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.PrettyCopyToClipboard' | translate }}\"\n >\n <i class=\"fa fa-magic\"></i>\n </button>\n <button\n (click)=\"toggleRawView()\"\n class=\"tree-view-action\"\n [ngClass]=\"rawView ? 'pressed' : ''\"\n *ngIf=\"resolved.format !== ContentTypesFormat.Text\"\n title=\"{{\n (rawView\n ? 'TreeViewMessages.ToJsonView'\n : 'TreeViewMessages.ToFormattedView'\n ) | translate\n }}\"\n >\n <i class=\"fa fa-file-text-o\"></i>\n </button>\n </ng-template>\n\n <ng-template #textFormat>\n <ng-container *ngTemplateOutlet=\"defaultActions\"> </ng-container>\n <pre class=\"text-view tree-view-body\">{{ data }}</pre>\n </ng-template>\n <div *ngIf=\"hasCollapse\">\n <button (click)=\"expandToggle()\" class=\"expand-toggler\">\n <i\n class=\"fa\"\n [ngClass]=\"\n collapsed ? 'fa-chevron-circle-down' : 'fa-chevron-circle-up'\n \"\n ></i>\n </button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport {\n TranslateLoader,\n TranslateModule,\n TranslateStore,\n} from '@ngx-translate/core';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport { Observable, of } from 'rxjs';\nimport { DebounceDirective } from './forms/directives/debounce.directive';\nimport { FieldInputModule } from './forms/widgets/field/field-input/field-input.module';\nimport { GeneralErrorsComponent } from './forms/widgets/general-errors/general-errors.component';\nimport { AppSettings } from './models/AppSettings';\nimport { IndiginaConfiguration } from './models/IndiginaConfiguration';\nimport { LocaleSettingsService } from './services/locale-settings.service';\nimport { MenuItemGroupComponent } from './widgets/side-menu/menu-item-group/menu-item-group.component';\nimport { SideMenuComponent } from './widgets/side-menu/side-menu.component';\nimport { TreeViewNodeComponent } from './widgets/tree-view/tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './widgets/tree-view/tree-view.component';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<object> {\n return of({});\n },\n },\n appSettings: {\n accountUrl: '',\n apiUrl: '',\n toastrTimeOut: 2500,\n azureB2C: {\n clientId: '',\n authority: '',\n knownAuthorities: [''],\n },\n },\n};\n\n@NgModule({\n declarations: [\n SideMenuComponent,\n MenuItemGroupComponent,\n TreeViewComponent,\n TreeViewNodeComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n TranslateModule.forChild({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [IndiginaConfiguration, HttpClient],\n },\n }),\n LoadingBarHttpClientModule,\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n FieldInputModule,\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n ],\n exports: [\n SideMenuComponent,\n TreeViewComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n BrowserAnimationsModule,\n FieldInputModule,\n ],\n})\nexport class IndiginaModule {\n public static forRoot(\n configuration: IndiginaConfiguration,\n ): ModuleWithProviders<IndiginaModule> {\n return {\n ngModule: IndiginaModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: configuration ? configuration : defaultConfig,\n },\n ],\n };\n }\n}\n\nexport function LocaleServiceSettingsFactory(\n localeService: LocaleSettingsService,\n) {\n return function (): void {\n localeService.init();\n };\n}\n\nexport function TranslateLoaderFactory(\n configuration: IndiginaConfiguration,\n): TranslateLoader {\n return configuration.langs;\n}\n\nexport function AppSettingsFactory(\n configuration: IndiginaConfiguration,\n): AppSettings | null {\n return configuration.appSettings;\n}\n","import { IEntityEndpoints } from './IEntityEndpoints';\nimport { State, toODataString } from '@progress/kendo-data-query';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { IActivityEndpoints } from './IActivityEndpoints';\n\nexport const endpoints = {\n signalr: {\n eventsHub: 'EventsHub',\n },\n oidc: {\n config: 'oidc/config',\n },\n members: {\n me: 'members/me',\n },\n admins: {\n ...buildEntityEndpoints('admins'),\n roles: {\n ...buildEntityEndpoints('admins/roles'),\n },\n },\n system: {\n info: 'system/info',\n },\n firstUser: 'admins/first',\n partners: buildEntityEndpoints('partners'),\n permissions: {\n all: (type: MemberTypes) => `permissions/${type}s`,\n member: (id: string) => `permissions/${id}`,\n mine: 'permissions/me',\n },\n users: {\n ...buildEntityEndpoints('users'),\n roles: {\n ...buildEntityEndpoints('users/roles'),\n },\n },\n apiTokens: buildEntityEndpoints('apiTokens'),\n};\n\nconst guidFormat = /'((\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1})'/g;\nexport function buildEntityEndpoints(name: string): IEntityEndpoints {\n return {\n path: name,\n query: (state: State) =>\n `${name}?${toODataString(state, { utcDates: true }).replace(\n guidFormat,\n '$1',\n )}`,\n entityPath: (id: string) => `${name}/${id}`,\n };\n}\nexport function buildActivityEndpoints(name: string): IActivityEndpoints {\n return {\n query: (state: State) =>\n `activities/${name}?${toODataString(state, {\n utcDates: true,\n }).replace(guidFormat, '$1')}`,\n search: (state: State, searchTerm: string) => {\n let uri = `activities/${name}/search?${toODataString(state, {\n utcDates: true,\n })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) =>\n partnerId\n ? `activities/${name}/${id}/${partnerId}`\n : `activities/${name}/${id}`,\n };\n}\n","export enum EventNames {\n UserUpdated = 'userUpdated',\n PermissionsUpdated = 'permissionsUpdated',\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { AuthProvider } from './auth.providers/AuthProvider';\nimport { endpoints } from './endpoints';\nimport { EventNames } from './signalr/EventNames';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminUriPart = '/admin/';\n\nexport abstract class BaseAccountService<T> {\n public user = new BehaviorSubject<T>(null);\n\n constructor(\n public resolver: AuthProviderResolver,\n protected httpService: HttpService,\n protected settingsService: SettingsService,\n protected signalRService: SignalRService,\n ) {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n this.initialize(provider);\n }),\n )\n .subscribe();\n }\n\n login() {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.login();\n }),\n )\n .subscribe();\n }\n\n logout() {\n this.settingsService.clearLoginAsUser();\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.logout();\n }),\n )\n .subscribe();\n }\n\n private initialize(provider: AuthProvider) {\n this.getCurrentUser().subscribe((user) => {\n if (!user) {\n return;\n }\n\n const path = this.settingsService.getCallbackPath();\n if (path) {\n this.settingsService.clearCallbackPath();\n window.location.href = window.location.origin + path;\n\n return;\n }\n\n if (\n this.isAdmin(user) &&\n !window.location.pathname.startsWith(adminUriPart)\n ) {\n window.location.href = `${window.location.origin}${adminUriPart}`;\n\n return;\n }\n\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.startConnection(token);\n this.signalRService\n .on<T>(EventNames.UserUpdated)\n .subscribe(async () => {\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.reconnect(token);\n });\n this.httpService\n .get<T>(endpoints.members.me)\n .subscribe((user) => this.user.next(user));\n });\n });\n });\n }\n\n getCurrentUser(): Observable<T> {\n return this.resolver.getProvider().pipe(\n mergeMap((provider) => {\n if (this.user.getValue() || !provider.isUserLoggedIn()) {\n return this.user;\n }\n\n return provider.getAccessToken().pipe(\n mergeMap(() => {\n return this.httpService.get(endpoints.members.me).pipe(\n map((user: T) => {\n this.user.next(user);\n\n return user;\n }),\n );\n }),\n );\n }),\n );\n }\n\n public isUserLoggedIn(): Observable<boolean> {\n return this.resolver\n .getProvider()\n .pipe(map((provider) => provider.isUserLoggedIn()));\n }\n\n public abstract isAdmin(member: T): boolean;\n}\n","import { ISubscriptionControl } from './ISubscriptionControl';\nimport { Observable, Subscription } from 'rxjs';\n\nexport class ReEntrySubscription<T> implements ISubscriptionControl {\n private subscription: Subscription;\n\n constructor(\n private observable: Observable<T>,\n private action: (event: T) => void,\n ) {}\n\n public get connected(): boolean {\n return !this.subscription.closed;\n }\n\n public resume(): void {\n this.subscription = this.observable.subscribe(this.action);\n }\n\n public pause(): void {\n this.subscription.unsubscribe();\n }\n}\n","import {\n AbstractControl,\n AbstractControlOptions,\n AsyncValidatorFn,\n UntypedFormGroup,\n ValidatorFn,\n UntypedFormControl,\n} from '@angular/forms';\n\nexport class FormGroupWithErrors extends UntypedFormGroup {\n generalErrors: string[] = [];\n\n constructor(\n controls: Record<string, AbstractControl>,\n validatorOrOpts?:\n | ValidatorFn\n | ValidatorFn[]\n | AbstractControlOptions\n | null,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null,\n ) {\n super(controls, validatorOrOpts, asyncValidator);\n }\n\n public getControl(name: string): AbstractControl {\n if (!this.contains(name)) {\n this.addControl(name, new UntypedFormControl({}));\n }\n\n return this.get(name);\n }\n\n public applyServerErrors(\n error: { title?: string; errors: Record<string, string[]> },\n form?: FormGroupWithErrors,\n ): void {\n this.generalErrors = [];\n if (error.title) {\n this.generalErrors.push(error.title);\n }\n\n if (!form) {\n form = this;\n }\n\n for (const key in error.errors) {\n const ctrl = form.controls[key];\n if (ctrl) {\n ctrl.setErrors({ serverErrorMsg: error.errors[key].join(',') });\n } else {\n this.generalErrors.push(error.errors[key].join(','));\n }\n }\n }\n}\n","export enum HttpCodes {\n BadRequest = 400,\n Forbidden = 403,\n InternalServerError = 500,\n NotFound = 404,\n OK = 200,\n Unauthorized = 401,\n}\n","import { NamedModel } from './NamedModel';\n\nexport const HttpMethods: NamedModel[] = [\n { name: 'POST', id: 'POST' },\n { name: 'PUT', id: 'PUT' },\n { name: 'GET', id: 'GET' },\n { name: 'DELETE', id: 'DELETE' },\n];\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppSettings } from '../models/AppSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppToastrService {\n constructor(\n private toastr: ToastrService,\n private appSettings: AppSettings,\n ) {}\n\n private timeout = this.appSettings.toastrTimeOut;\n\n public showError(message: string, title: string = 'Error'): void {\n this.toastr.error(message, title, { timeOut: this.timeout });\n }\n\n public showSuccess(message: string, title: string = ''): void {\n this.toastr.success(message, title, { timeOut: this.timeout });\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst callbackPathKey = 'callbackPath';\nconst homePath = '/home';\nconst loginAsKey = 'X-User-Id';\nconst tokenKey = 'access_token';\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService {\n public putCurrentCallbackPath() {\n this.putCallbackPath(window.location.pathname + window.location.hash);\n }\n\n public putCallbackPath(pathUri: string): void {\n if (!this.getCallbackPath() && pathUri !== homePath) {\n localStorage.setItem(callbackPathKey, pathUri);\n }\n }\n\n public getCallbackPath(): string {\n return localStorage.getItem(callbackPathKey);\n }\n\n public clearCallbackPath(): void {\n localStorage.removeItem(callbackPathKey);\n }\n\n public setLoginAsUser(id: string): void {\n localStorage.setItem(loginAsKey, id);\n }\n\n public getLoginAsUser(): string {\n return localStorage.getItem(loginAsKey);\n }\n\n public clearLoginAsUser(): void {\n localStorage.removeItem(loginAsKey);\n }\n\n public clearToken(): void {\n localStorage.removeItem(tokenKey);\n }\n\n public setToken(token: string) {\n localStorage.setItem(tokenKey, token);\n }\n\n public getToken(): string {\n return localStorage.getItem(tokenKey);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppSettings } from '../models/AppSettings';\nimport { CustomHttpErrorResponse } from '../models/CustomHttpErrorResponse';\nimport { HttpCodes } from '../models/HttpCodes';\nimport { SettingsService } from './settings.service';\nimport { AppToastrService } from './toastr.service';\n\nconst absoluteUrlRegExp = /^http(s)?:\\/\\//;\nconst slash = '/';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n constructor(\n private appToastrService: AppToastrService,\n private httpClient: HttpClient,\n private appSettings: AppSettings,\n private translate: TranslateService,\n private router: Router,\n private settingsService: SettingsService,\n ) {}\n\n get<T>(path: string): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err),\n ),\n );\n }\n\n delete(path: string): Observable<object> {\n return this.httpClient.delete(this.createUrl(path)).pipe(\n tap(() => this.showSuccessMessage('ToastrMessages.RemovedSuccessfully')),\n catchError((err: CustomHttpErrorResponse) => this.handleServerError(err)),\n );\n }\n\n post<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null,\n ): Observable<T> {\n return this.httpClient.post<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n ),\n ),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n put<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null,\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n ),\n ),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n private createUrl(path: string): string {\n if (absoluteUrlRegExp.test(path)) {\n return path;\n }\n\n path = path.startsWith(slash) ? path.slice(1) : path;\n const apiUrl = this.appSettings.apiUrl.endsWith(slash)\n ? this.appSettings.apiUrl\n : this.appSettings.apiUrl + slash;\n\n return apiUrl + path;\n }\n\n private handleServerError(error: CustomHttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n this.appToastrService.showError(\n 'An error occurred: ' + error.error.message,\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Unauthorized) {\n this.settingsService.putCurrentCallbackPath();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Unauthorized'),\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Forbidden) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Forbidden'),\n );\n this.router.navigate(['forbidden']);\n\n return of(null);\n }\n\n if (error.status === HttpCodes.NotFound) {\n if (this.settingsService.getLoginAsUser()) {\n this.settingsService.clearLoginAsUser();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.CanNotLoginAsUser'),\n );\n setTimeout(() => {\n window.location.href = '/';\n }, 1000);\n }\n\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.NotFound'),\n );\n\n return of(null);\n }\n\n if (error.status >= HttpCodes.InternalServerError) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.ServerError') + error.error.title,\n );\n\n return of(null);\n }\n\n return throwError(error);\n }\n\n private showSuccessMessage(message: string) {\n this.appToastrService.showSuccess(this.translate.instant(message));\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ISubscriptionControl } from '../../extensions/ISubscriptionControl';\n\n@Component({\n selector: 'live-updates-control',\n styleUrls: ['./live-updates-control.component.css'],\n templateUrl: './live-updates-control.component.html',\n})\nexport class LiveUpdatesControlComponent implements OnInit {\n @Input() subscription: ISubscriptionControl;\n\n ngOnInit(): void {\n this.subscription.resume();\n }\n\n public toggle(): void {\n this.subscription.connected\n ? this.subscription.pause()\n : this.subscription.resume();\n }\n}\n","<button (click)=\"toggle()\" class=\"k-button\">\n <em [ngClass]=\"subscription.connected ? 'fa fa-pause' : 'fa fa-play'\"></em>\n {{\n (subscription.connected ? 'LiveFeed.Pause' : 'LiveFeed.Resume') | translate\n }}\n</button>\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Observable<boolean>;\n public abstract login();\n public abstract logout();\n public abstract isUserLoggedIn(): boolean;\n public abstract getAccessToken(): Observable<string>;\n}\n","import { MsalService } from '@azure/msal-angular';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { from, Observable, of } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\n\nexport class AzureB2CProvider extends AuthProvider {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private indiginaConfiguration: IndiginaConfiguration,\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n return of(true);\n }\n\n public login() {\n this.authService.handleRedirectObservable().subscribe();\n if (!this.isUserLoggedIn()) {\n this.authService.loginRedirect().subscribe();\n }\n }\n\n public logout() {\n this.settingsService.clearToken();\n this.authService.logoutRedirect({\n postLogoutRedirectUri: this.indiginaConfiguration.appSettings.azureB2C.logoutRedirectUri,\n });\n }\n\n public getAccessToken(): Observable<string> {\n const request = {\n scopes: ['openid', 'offline_access', 'profile'],\n };\n\n return from(\n this.authService.instance\n .acquireTokenSilent(request)\n .then((authenticationResult) => {\n const token = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n await this.authService.instance.acquireTokenRedirect(request);\n\n return this.settingsService.getToken();\n }\n }),\n );\n }\n\n public isUserLoggedIn = (): boolean =>\n !!this.authService.instance.getActiveAccount()?.localAccountId;\n}\n","import { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProvider } from '../services/auth.providers/AuthProvider';\nimport { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';\nimport { IndiginaConfiguration } from './../angular/models/IndiginaConfiguration';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthProviderResolver {\n private AuthProvider$ = new BehaviorSubject<AuthProvider>(null);\n\n constructor(\n msalService: MsalService,\n settingsService: SettingsService,\n indiginaConfiguration: IndiginaConfiguration,\n )\n {\n const provider = new AzureB2CProvider(msalService, settingsService, indiginaConfiguration);\n provider.initialize().subscribe(() => this.AuthProvider$.next(provider));\n }\n\n public getProvider = (): Observable<AuthProvider> =>\n this.AuthProvider$.pipe(filter((x) => !!x));\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { endpoints } from '../endpoints';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalRService {\n protected isConnectionEstablished = false;\n protected hubConnection: signalR.HubConnection;\n private eventEmitters: Record<string, EventEmitter<any>> = {};\n\n constructor(private appSettings: AppSettings) {}\n\n private createConnection(token: string) {\n this.hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.appSettings.apiUrl + endpoints.signalr.eventsHub, {\n accessTokenFactory: () => {\n return token;\n },\n })\n .configureLogging(\n this.appSettings.signalRLogLevel ?? signalR.LogLevel.None,\n )\n .build();\n\n this.hubConnection.onclose((err?) => {\n if (err !== undefined) {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n }\n });\n }\n\n public startConnection(token: string): void {\n if (!this.isConnectionEstablished) {\n this.createConnection(token);\n this.hubConnection\n .start()\n .then(() => {\n this.isConnectionEstablished = true;\n Object.keys(this.eventEmitters).forEach((eventName) => {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n });\n })\n .catch(() => {\n console.warn('Error while establishing connection, retrying...');\n setTimeout(() => this.startConnection(token), 5000);\n });\n }\n }\n\n public reconnect(token: string) {\n if (this.isConnectionEstablished) {\n this.hubConnection.stop().then(() => {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n });\n }\n }\n\n public on<T>(eventName: string): EventEmitter<T> {\n if (!this.eventEmitters[eventName]) {\n this.eventEmitters[eventName] = new EventEmitter<T>();\n if (this.hubConnection) {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n }\n }\n\n return this.eventEmitters[eventName] as EventEmitter<T>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { Member } from '../models/Member';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { BaseAccountService } from './base.account.service';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminKey = 'Admin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService extends BaseAccountService<Member> {\n constructor(\n public resolver: AuthProviderResolver,\n httpService: HttpService,\n settingsService: SettingsService,\n signalRService: SignalRService,\n ) {\n super(resolver, httpService, settingsService, signalRService);\n }\n\n public isAdmin = (member: Member): boolean =>\n member?.type === adminKey ?? false;\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { Language } from '../../angular/models/Language';\nimport { LocaleSettingsService } from '../../angular/services/locale-settings.service';\n\n@Component({\n selector: 'language-selector',\n templateUrl: './language-selector.component.html',\n styleUrls: ['./language-selector.component.css'],\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange = new EventEmitter<boolean>();\n currentLanguageCode = '';\n languages: Language[];\n\n constructor(\n private eref: ElementRef,\n private settings: LocaleSettingsService\n ) {\n this.currentLanguageCode = this.settings.getLocale();\n this.languages = this.settings.getLocales();\n }\n\n async changeLanguage(code: string) {\n this.currentLanguageCode = code;\n this.settings.setLocale(this.currentLanguageCode);\n this.close();\n }\n\n close(): void {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","<kendo-window\n *ngIf=\"visible\"\n class=\"language-selector\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n>\n <kendo-window-titlebar>\n <div>{{ 'ChangeLanguage' | translate }}</div>\n <button kendoWindowCloseAction (click)=\"close()\"></button>\n </kendo-window-titlebar>\n <div class=\"languages\" *ngIf=\"languages\">\n <div *ngFor=\"let language of languages\" class=\"language-change-action\">\n <button class=\"btn\" (click)=\"changeLanguage(language.code)\">\n <span\n *ngIf=\"currentLanguageCode == language.code\"\n class=\"fa fa-check\"\n aria-hidden=\"true\"\n ></span>\n {{ language.name }}\n </button>\n </div>\n </div>\n</kendo-window>\n","import {\n Component,\n Input,\n HostListener,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { Member } from '../../models/Member';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'account-menu',\n templateUrl: './account-menu.component.html',\n styleUrls: ['./account-menu.component.scss'],\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n expand = false;\n languageSelectorVisible = false;\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings\n ) {}\n\n get fullName(): string {\n return `${this.user?.firstName} ${this.user?.lastName}`;\n }\n\n get accountUrl(): string {\n return this.appSettings.accountUrl;\n }\n\n toogle(): void {\n this.expand = !this.expand;\n }\n\n logout(): void {\n this.accountService.logout();\n }\n\n openLanguageSelector(event: MouseEvent): void {\n event.stopPropagation();\n this.toogle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toogle();\n }\n }\n}\n","<div class=\"profile-img left\" id=\"accountMenu\">\n <div #accountMenuElement title=\"User Account\" (click)=\"toogle()\">\n <img alt=\"image\" class=\"img-circle top-bar-profile left\" />\n </div>\n <kendo-popup\n *ngIf=\"expand\"\n [anchor]=\"accountMenu\"\n popupClass=\"k-widget dropdown open\"\n >\n <ul class=\"dropdown-menu top-bar-dropdown animated fadeInLeft\">\n <li class=\"top-bar-header-row media\">\n <div class=\"media-left\">\n <img alt=\"image\" class=\"img-circle\" />\n </div>\n <div class=\"media-body\">\n <span class=\"left fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"left pad5left\">{{ fullName }}</span>\n </div>\n </li>\n <li class=\"pad5top\">\n <a (click)=\"openLanguageSelector($event)\" data-icon=\"globe\">{{\n 'ChangeLanguage' | translate\n }}</a>\n </li>\n <li>\n <a [href]=\"accountUrl\" data-icon=\"desktop\" translate=\"Account\"></a>\n </li>\n <li>\n <a translate=\"Logout\" data-icon=\"sign-out\" (click)=\"logout()\"></a>\n </li>\n </ul>\n </kendo-popup>\n\n <language-selector [(visible)]=\"languageSelectorVisible\"></language-selector>\n</div>\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.authService.handleRedirectObservable().subscribe(\n (result: AuthenticationResult) => {\n if (result) {\n this.settingsService.setToken(result.idToken);\n this.authService.instance.setActiveAccount(result.account);\n }\n\n this.router.navigate(['home']);\n },\n (error) => {\n if (error.errorMessage.includes(resetPasswordCanceledErrorCode)) {\n this.router.navigate(['home']);\n }\n }\n );\n }\n\n public logout() {\n this.authService.logout();\n }\n}\n","import {\n BrowserCacheLocation,\n Configuration,\n IPublicClientApplication,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\n\nconst isIE =\n window.navigator.userAgent.includes('MSIE ') ||\n window.navigator.userAgent.includes('Trident/');\n\nexport const MSALInstanceFactory = (\n config: IndiginaConfiguration,\n): IPublicClientApplication => {\n const defaultRedirectUri: string = `${window.location.origin}/azure/login/callback`;\n const msalConfig: Configuration = {\n auth: {\n clientId: config.appSettings.azureB2C.clientId,\n authority: config.appSettings.azureB2C.authority,\n knownAuthorities: config.appSettings.azureB2C.knownAuthorities,\n redirectUri: config.appSettings.azureB2C.redirectUri || defaultRedirectUri,\n postLogoutRedirectUri: config.appSettings.azureB2C.logoutRedirectUri || window.location.origin,\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE,\n },\n system: {\n loggerOptions: {\n loggerCallback: () => {},\n piiLoggingEnabled: false,\n },\n },\n };\n\n return new PublicClientApplication(msalConfig);\n};\n","import { endpoints } from './endpoints';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { Permissions } from './../models/Permissions';\nimport { HttpService } from '../angular/services/http.service';\nimport { SignalRService } from './signalr/signalr.service';\nimport { EventNames } from './signalr/EventNames';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class PermissionsService {\n private loaded = false;\n public mine = new BehaviorSubject<Permissions>({});\n\n constructor(\n private httpService: HttpService,\n private accountService: AccountService,\n private signalRService: SignalRService,\n ) {\n this.accountService.user.subscribe(async (user) => {\n if (!user) {\n this.mine.next({});\n\n return;\n }\n\n this.httpService\n .get<Permissions>(endpoints.permissions.mine)\n .subscribe((permissions) => {\n this.mine.next(permissions);\n this.loaded = true;\n this.signalRService\n .on<string>(EventNames.PermissionsUpdated)\n .subscribe(() => {\n this.getPermissionsFromServer().subscribe();\n });\n });\n });\n }\n\n public getAll(memberType: MemberTypes): Observable<Permissions> {\n return this.httpService.get<Permissions>(\n endpoints.permissions.all(memberType),\n );\n }\n\n public getMine(): Observable<Permissions> {\n if (this.loaded) {\n return this.mine;\n }\n\n return this.getPermissionsFromServer();\n }\n\n private getPermissionsFromServer(): Observable<Permissions> {\n return this.httpService.get<Permissions>(endpoints.permissions.mine).pipe(\n map((permissions) => {\n this.mine.next(permissions);\n\n return permissions;\n }),\n );\n }\n}\n","import { Directive, Input, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../models/PermissionTypes';\nimport { PermissionsService } from '../services/permissions.service';\n\nconst hiddenClass = 'hidden';\n\n@Directive({\n selector: '[requirePermission]',\n})\nexport class RequirePermissionDirective implements OnInit {\n @Input()\n permissionType: PermissionTypes | PermissionTypes[];\n @Input()\n permissionCategory?: string;\n\n constructor(\n private elementRef: ElementRef,\n private route: ActivatedRoute,\n private permissionsService: PermissionsService,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit(): void {\n this.hide();\n const category = this.permissionCategory\n ? this.permissionCategory\n : this.getRouteCategory(this.route);\n\n if (!category) {\n this.show();\n\n return;\n }\n\n this.permissionsService.mine.subscribe((permissions) => {\n const hasAccess =\n permissions[category] && this.hasType(permissions[category]);\n if (hasAccess) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n private hide() {\n this.renderer.addClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private show() {\n this.renderer.removeClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private hasType(types: PermissionTypes[]) {\n return Array.isArray(this.permissionType)\n ? types.map((x) => this.permissionType.includes(x)).some((x) => x)\n : types.includes(this.permissionType);\n }\n\n private getRouteCategory(route: ActivatedRoute): string {\n const routeData = route.snapshot.data;\n if (routeData && routeData.permission) {\n return routeData.permission.category;\n }\n\n if (this.route.parent) {\n return this.getRouteCategory(this.route.parent);\n }\n\n return null;\n }\n}\n","import { IEntityService } from './IEntityService';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { Observable } from 'rxjs';\nimport { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpService } from '../angular/services/http.service';\nimport { UrlParams } from './url-params.model';\n\nexport abstract class EntityService<T extends IdentifiedModel>\n implements IEntityService<T>\n{\n constructor(\n protected httpService: HttpService,\n protected endpoints: IEntityEndpoints,\n ) {}\n\n getPage(state: State, urlParams?: UrlParams): Observable<Page<T>> {\n return this.httpService.get<Page<T>>(\n applyUrlParams(this.endpoints.query(state), urlParams),\n );\n }\n\n get(id: string, urlParams?: UrlParams): Observable<T> {\n return this.httpService.get<T>(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n );\n }\n\n delete(id: string, urlParams?: UrlParams): Observable<object> {\n return this.httpService.delete(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n );\n }\n\n save(model: T, urlParams?: UrlParams): Observable<T> {\n if (model.id) {\n return this.httpService.put(\n applyUrlParams(this.endpoints.entityPath(model.id), urlParams),\n model,\n );\n }\n\n return this.httpService.post(\n applyUrlParams(this.endpoints.path, urlParams),\n model,\n );\n }\n}\n\nfunction applyUrlParams(url: string, urlParams?: UrlParams): string {\n Object.keys(urlParams || {}).forEach((key) => {\n url = url.replace(`{${key}}`, urlParams[key]);\n });\n\n return url;\n}\n","import { NamedModel } from './../angular/models/NamedModel';\nimport { Injectable } from '@angular/core';\nimport { EntityService } from './entity.service';\nimport { HttpService } from '../angular/services/http.service';\nimport { endpoints } from './endpoints';\n\n@Injectable()\nexport class PartnerService extends EntityService<NamedModel> {\n constructor(httpService: HttpService) {\n super(httpService, endpoints.partners);\n }\n}\n","import {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const urlSerialize = (object: object): string => {\n let serialized = '';\n Object.keys(object).forEach((key) => {\n if (typeof object[key] === 'object') {\n const serializedObject = !isEmptyObject(object[key])\n ? JSON.stringify(object[key])\n : '';\n serialized += serializedObject ? `${key}=${serializedObject}&` : '';\n } else {\n serialized +=\n object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';\n }\n });\n\n return serialized.slice(0, -1);\n};\n\nconst isEmptyObject = (object: object): boolean => {\n return object === null || Object.keys(object).length === 0;\n};\n\nconst isDate = (date) => {\n try {\n const parsedDate = new Date(date);\n\n return isNaN(date) && parsedDate.toISOString() === date;\n } catch (ex) {\n return false;\n }\n};\n\nexport const urlDeserialize = (params: URLSearchParams) => {\n const deserialized = {};\n params.forEach((param, key) => {\n if (key === 'sort' || key === 'group') {\n deserialized[key] = JSON.parse(param);\n } else if (key === 'filter') {\n deserialized[key] = transformFilter(JSON.parse(param));\n } else {\n deserialized[key] = param;\n }\n });\n\n return deserialized;\n};\n\nfunction transformFilter(\n gridFilter: CompositeFilterDescriptor,\n): CompositeFilterDescriptor {\n transformFilters(gridFilter);\n\n return gridFilter;\n}\n\nfunction transformFilters(gridFilter: CompositeFilterDescriptor) {\n if (gridFilter.filters.length) {\n gridFilter.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n let filterDescriptor = filter as FilterDescriptor;\n filterDescriptor.value = isDate(filterDescriptor.value)\n ? new Date(filterDescriptor.value)\n : filterDescriptor.value;\n\n let compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n transformFilters(compositeFilterDescriptor);\n }\n },\n );\n }\n}\n","import { Component, ViewChild, TemplateRef } from '@angular/core';\nimport { DialogService, DialogRef } from '@progress/kendo-angular-dialog';\n\n@Component({\n selector: 'confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css'],\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(private dialogService: DialogService) {}\n\n cancel(): void {\n this.dialog.close();\n this.callback = undefined;\n }\n\n confirm() {\n this.callback();\n this.cancel();\n }\n\n public open(content: string, callback: () => void) {\n this.callback = callback;\n this.dialog = this.dialogService.open({\n content,\n actions: this.dialogActions,\n });\n }\n}\n","<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'excel-export-button',\n templateUrl: './excel-export-button.component.html',\n styleUrls: ['./excel-export-button.component.css'],\n})\nexport class ExcelExportButtonComponent {}\n","<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n","import { Removable } from '../../angular/models/removable.interface';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n DataStateChangeEvent,\n RowClassArgs,\n} from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n SortDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { Page } from '../../models/Page';\nimport { IEntityService } from '../../services/IEntityService';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { Command } from './Command';\nimport { Field } from './Field';\nimport { urlDeserialize, urlSerialize } from './UrlSerializer';\n\nconst nameField = 'name';\n\n@Component({\n selector: 'entity-list',\n templateUrl: './entity-list.component.html',\n styleUrls: ['./entity-list.component.css'],\n})\nexport class EntityListComponent implements OnInit, OnChanges {\n @Input()\n public service: IEntityService<NamedModel>;\n @Input()\n public filters: (FilterDescriptor | CompositeFilterDescriptor)[];\n @Input()\n public fields?: Field[];\n @Input()\n public commands?: Command[];\n @Input()\n public rowClass?: (dataItem: NamedModel, index: number) => {};\n @Input()\n public defaultSort?: SortDescriptor[];\n @Input()\n public mapItemFn?: (item: NamedModel) => NamedModel & Removable = (item) =>\n item;\n @Input() pageButtonsCount: number = 5;\n @Output()\n public filterChange = new EventEmitter<CompositeFilterDescriptor>();\n @ViewChild('confirmDialog', { static: true })\n public dialog: ConfirmDialogComponent;\n public gridState: State = {};\n public page: BehaviorSubject<Page<NamedModel>> = new BehaviorSubject<\n Page<NamedModel>\n >(null);\n public loadings = 0;\n public searchTerm: string;\n public selected: string[] = [];\n public gridFields: Field[] = [];\n private defaultFields: Field[] = [\n { name: 'name', label: 'Name', sortable: true, position: 0 },\n ];\n\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n ) {\n this.getAllData = this.getAllData.bind(this);\n this.getRowClass = this.getRowClass.bind(this);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.filters || changes.filters.firstChange) {\n return;\n }\n\n this.getFilteredData();\n }\n\n ngOnInit() {\n this.gridFields = (this.fields || [])\n .concat(this.defaultFields)\n .sort((left, right) => (left.position || 0) - (right.position || 0));\n this.filters = this.filters ? this.filters : [];\n this.commands = this.commands ? this.commands : [];\n this.route.fragment.subscribe(async (fragment: string) => {\n await this.restoreGridState(new URLSearchParams(fragment));\n });\n\n this.route.firstChild.params.subscribe((params: Params) => {\n if (params.id) {\n this.selected[0] = params.id;\n } else {\n this.selected.pop();\n }\n });\n }\n\n public removeHandler({ dataItem }) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n dataItem.name +\n '\"?',\n () => this.remove(dataItem),\n );\n }\n\n public selectItem({ dataItem }) {\n this.router.navigate([dataItem.id], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: { id: string; name: string }) =>\n this.updateGrid(data),\n );\n }\n }\n\n public onDeactivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.unsubscribe();\n }\n }\n\n public dataStateChange(state: DataStateChangeEvent) {\n this.gridState = state;\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onSearch(value: string) {\n this.searchTerm = value;\n this.gridState.skip = 0;\n this.getFilteredData();\n }\n\n public getAllData(): Observable<Page<NamedModel & Removable>> {\n const state = Object.assign({}, this.gridState);\n delete state.skip;\n delete state.take;\n\n return this.service.getPage(state).pipe(\n map((pageResult) => {\n pageResult.data = pageResult.data.map(this.mapItemFn);\n\n return pageResult;\n }),\n );\n }\n\n public getRowClass(context: RowClassArgs): Object {\n return this.rowClass && context\n ? this.rowClass(context.dataItem, context.index)\n : {};\n }\n\n protected getFilteredData() {\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n protected updateGrid(data: NamedModel) {\n const currentPage = { ...this.page.value };\n const exists = currentPage.data.filter((x) => x.id === data.id);\n if (exists.length) {\n currentPage.data[currentPage.data.indexOf(exists[0])] = data;\n this.page.next(currentPage);\n\n return;\n }\n\n currentPage.total++;\n currentPage.data.splice(0, 0, data);\n if (currentPage.data.length > this.gridState.take) {\n currentPage.data.splice(this.page.value.data.length - 1, 1);\n }\n\n this.page.next(currentPage);\n this.selected[0] = data.id;\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n protected getData() {\n this.loadings++;\n return this.service\n .getPage(this.gridState)\n .pipe(\n map((pageResult) => {\n pageResult.data = pageResult.data.map(this.mapItemFn);\n\n return pageResult;\n }),\n )\n .subscribe((page) => {\n this.page.next(page);\n this.loadings--;\n });\n }\n\n private remove(entity: IdentifiedModel) {\n this.loadings++;\n this.service\n .delete(entity.id)\n .pipe(\n map(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === entity.id\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n }\n this.loadings--;\n }),\n )\n .subscribe(() => {\n this.getData();\n });\n }\n\n private getFilter(): CompositeFilterDescriptor {\n const filter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: this.searchTerm\n ? [\n { field: nameField, operator: 'contains', value: this.searchTerm },\n ...this.filters,\n ]\n : this.filters,\n };\n\n return filter;\n }\n\n private onFilterChange() {\n const filter: any = this.gridState.filter?.filters.find(\n (x: FilterDescriptor) => x.field === nameField,\n );\n this.searchTerm = filter?.value;\n this.filterChange.emit(this.gridState.filter);\n }\n\n private async restoreGridState(params: URLSearchParams) {\n const defaultGridState: State = {\n sort: this.defaultSort || [{ field: nameField, dir: 'asc' }],\n skip: 0,\n take: 10,\n filter: this.getFilter(),\n };\n\n const state = urlDeserialize(params);\n this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;\n this.gridState.skip = +this.gridState.skip;\n this.gridState.take = +this.gridState.take;\n this.onFilterChange();\n this.getData();\n }\n}\n","<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n","import { Component, EventEmitter } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { User } from '../../models/User';\nimport { PartnerService } from '../../services/partner.service';\nimport { EntityListComponent } from './entity-list.component';\n\n@Component({\n selector: 'lib-user-list-admin',\n templateUrl: './entity-list.component.html',\n providers: [PartnerService],\n})\nexport class UserListAdminComponent extends EntityListComponent {\n constructor(\n translate: TranslateService,\n route: ActivatedRoute,\n router: Router,\n private partnerService: PartnerService,\n ) {\n super(translate, route, router);\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: User) =>\n this.partnerService\n .get(data.partnerId)\n .subscribe((partner: NamedModel) => {\n data.partnerName = partner.name;\n this.updateGrid(data);\n }),\n );\n }\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SettingsService } from '../angular/services/settings.service';\n\nconst AuthorizationHeader = 'Authorization';\n\n@Injectable()\nexport class AuthHeadersInterceptor implements HttpInterceptor {\n constructor(private settingsService: SettingsService) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler,\n ): Observable<HttpEvent<any>> {\n if (!request.headers.keys().find((x) => x === AuthorizationHeader)) {\n const token = this.settingsService.getToken();\n if (token) {\n const modified = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n return next.handle(modified);\n } else {\n return next.handle(request);\n }\n }\n\n return next.handle(request);\n }\n}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\n}\n","import { Component, OnInit } from '@angular/core';\nimport * as momentModule from 'moment-timezone';\nconst moment = momentModule['default'] || momentModule;\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n constructor() {}\n\n ngOnInit(): void {\n const timeZone = moment.tz.guess();\n this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');\n }\n}\n","<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n","import { ActivityFilter } from '../../models/ActivityFilter';\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { CustomFilterElement } from '../../models/CustomFilterElement';\nimport { FieldTypes } from '../../models/FieldTypes';\nimport { ActivityFilterService } from '../../services/activity.filter.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst allKey = 'All';\nconst defaultValueField = 'id';\n\n@Component({\n selector: 'activity-filter',\n templateUrl: './activity-filter.component.html',\n styleUrls: ['./activity-filter.component.less'],\n})\nexport class ActivityFilterComponent implements OnInit, OnChanges {\n @Input() showArchiveSwitcher: boolean = true;\n @Input() showSearhText: boolean = true;\n @Input() customFilterElements: CustomFilterElement[];\n @Input() filterService: ActivityFilterService;\n\n public filter: ActivityFilter;\n public FieldTypes = FieldTypes;\n\n constructor(private translate: TranslateService) {}\n\n ngOnInit(): void {\n this.customFilterElements?.forEach(\n (element) =>\n (element.valueField = element.valueField\n ? element.valueField\n : defaultValueField)\n );\n this.filterService.filter$.subscribe((filter) => {\n this.filter = filter;\n this.changeFilter();\n });\n }\n\n ngOnChanges(): void {\n this.changeFilter();\n }\n\n public defaultNamedModel: NamedModel = {\n name: this.translate.instant(allKey),\n id: null,\n };\n\n public setTodayFilter() {\n this.filterService.setToday();\n }\n\n public clearFilter() {\n this.customFilterElements?.forEach((element) => {\n element.filter.value = null;\n if (element.filter.values) {\n element.filter.values = [];\n }\n });\n this.filterService.reset();\n this.emitChangeEvents();\n }\n\n public applyFilter() {\n this.setCustomFilters();\n this.filterService.applyFilter(this.filter);\n }\n\n public fieldChange(\n value: string | number | boolean | string[],\n element: CustomFilterElement\n ) {\n if (element.change) {\n element.change(value);\n }\n }\n\n private fillFilter() {\n if (!this.filter) {\n return;\n }\n\n this.customFilterElements?.forEach((element) => {\n element.filter = { ...element.filter, value: null, values: null };\n });\n\n this.filter.customFilters?.forEach((filter) => {\n const element = this.customFilterElements?.find(\n (x) =>\n x.filter.field === filter.field &&\n x.filter.filterTarget === filter.filterTarget\n );\n if (element) {\n element.filter = Object.assign({}, filter);\n }\n });\n }\n\n private setCustomFilters() {\n this.customFilterElements?.forEach((element) => {\n const index = this.filter.customFilters?.findIndex(\n (x) => x.field === element.filter.field\n );\n if (index !== -1) {\n this.filter.customFilters.splice(index, 1);\n }\n });\n\n this.customFilterElements?.forEach((element) =>\n this.filter.customFilters.push(element.filter)\n );\n }\n\n private fixMultiselectFilters() {\n const multiSelectFilters = this.customFilterElements?.map((element) => {\n if (element.fieldType === FieldTypes.Multiselect) {\n return element.filter;\n }\n });\n if (multiSelectFilters) {\n multiSelectFilters.forEach((filter) => {\n if (filter?.value) {\n filter.values = [filter.value as string];\n filter.value = null;\n }\n });\n }\n }\n\n private changeFilter() {\n this.fillFilter();\n this.fixMultiselectFilters();\n this.emitChangeEvents();\n }\n\n private emitChangeEvents() {\n this.customFilterElements?.forEach((element) => {\n if (element.filter.value || element.filter.values) {\n this.fieldChange(\n element.filter.value ?? element.filter.values,\n element\n );\n }\n });\n }\n}\n","<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.css'],\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Output()\n public save = new EventEmitter<boolean>();\n}\n","<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create', 'Set']\"\n ></button>\n </div>\n</div>\n","import { OnInit, Component, Input, OnDestroy, OnChanges } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { UntypedFormControl } from '@angular/forms';\nimport { IFormAdapter } from './IFormAdapter';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { finalize, take } from 'rxjs/operators';\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Component({\n selector: 'entity-edit-form',\n templateUrl: './entity-edit-form.component.html',\n styleUrls: ['./entity-edit-form.component.css'],\n})\nexport class EntityEditFormComponent implements OnInit, OnDestroy, OnChanges {\n public formGroup: BehaviorSubject<FormGroupWithErrors> =\n new BehaviorSubject<FormGroupWithErrors>(null);\n @Input()\n title: string;\n @Input()\n entityId?: string;\n @Input()\n adapter: IFormAdapter<IdentifiedModel>;\n routeService: Subscription;\n\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n }\n\n ngOnChanges(): void {\n if (this.entityId) {\n this.loadEntity(this.entityId);\n }\n }\n\n ngOnDestroy(): void {\n this.routeService?.unsubscribe();\n }\n\n ngOnInit() {\n if (!this.entityId) {\n this.routeService = this.route.params.subscribe(\n (params: IdentifiedModel) => {\n this.loadEntity(params.id);\n },\n );\n }\n }\n\n loadEntity(id?: string): void {\n this.formGroup.next(null);\n const formGroup = new FormGroupWithErrors({});\n if (!id) {\n this.adapter.setForm(formGroup);\n this.formGroup.next(formGroup);\n\n return;\n }\n\n this.adapter\n .getService()\n .get(id, this.adapter.getUrlParams())\n .subscribe((model) => {\n formGroup.addControl('id', new UntypedFormControl(model.id));\n for (const key of Object.keys(model)) {\n formGroup.addControl(key, new UntypedFormControl(model[key]));\n }\n\n this.adapter.setForm(formGroup);\n this.formGroup.next(formGroup);\n });\n }\n\n save(): void {\n this.saveInProgress = true;\n this.adapter\n .getService()\n .save(this.adapter.getValue(), this.adapter.getUrlParams())\n .pipe(\n take(1),\n finalize(() => (this.saveInProgress = false)),\n )\n .subscribe({\n next: (result: IdentifiedModel) => {\n this.adapter.onSaved(result);\n this.formGroup.value.applyServerErrors(\n { errors: {} },\n this.formGroup.value,\n );\n this.formGroup.next(this.formGroup.value);\n },\n error: (error: HttpErrorResponse) => {\n this.formGroup.value.applyServerErrors(\n error.error,\n this.formGroup.value,\n );\n this.formGroup.next(this.formGroup.value);\n },\n });\n }\n}\n","<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n","import { Component, Input, ElementRef, OnChanges } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\n\n@Component({\n selector: 'field-multiselect',\n templateUrl: './field-multiselect.component.html',\n styleUrls: ['./field-multiselect.component.css'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldMultiSelectComponent\n extends FieldComponent<string[]>\n implements OnChanges\n{\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n @Input()\n textField?: string;\n @Input()\n valueField?: string;\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, []);\n this.textField = this.textField ?? 'name';\n this.valueField = this.valueField ?? 'id';\n }\n\n ngOnChanges(): void {\n this.getData().subscribe((data) => {\n this.data = data.data;\n this.control.setValue(\n this.control.value.filter(\n (x: string) => this.data.filter((d) => d.id === x).length\n )\n );\n });\n }\n\n private getData() {\n return this.service.getPage(this.filter ? { filter: this.filter } : {});\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { SortDescriptor } from '@progress/kendo-data-query';\n\nconst All = 'All';\n\n@Component({\n selector: 'field-dropdownlist',\n templateUrl: './field-dropdownlist.component.html',\n styleUrls: ['./field-dropdownlist.component.css'],\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Input()\n sort?: SortDescriptor[];\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n private initialSelectedId: string;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(private translate: TranslateService) {}\n\n async ngOnInit(): Promise<void> {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n this.getData();\n this.translate.onLangChange.subscribe((_event: LangChangeEvent) => {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n });\n }\n\n private getData() {\n this.service.getPage({ sort: this.sort }).subscribe((data) => {\n this.data = data.data;\n if (this.initialSelectedId) {\n const selectedItem = this.data.find(\n (x) => x.id === this.initialSelectedId\n );\n\n if (selectedItem) {\n this.kendoDropDown.writeValue(selectedItem);\n }\n }\n });\n }\n\n onValueChange(event: NamedModel) {\n this.valueChange.emit(event);\n }\n\n public initSelectedId(id: string): void {\n this.initialSelectedId = id;\n }\n}\n","<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n})\nexport class FooterBarComponent {}\n","<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n","import { Component, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'modal-window',\n templateUrl: './modal-window.component.html',\n styleUrls: ['./modal-window.component.css'],\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n\n constructor(protected route: ActivatedRoute, private router: Router) {}\n\n public opened: boolean = true;\n\n public close() {\n this.opened = false;\n this.router.navigate([this.callbackPath], {\n relativeTo: this.route,\n fragment: this.route.snapshot?.fragment,\n });\n }\n}\n","<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n})\nexport class MulticheckFilterComponent implements AfterViewInit {\n @Input() public currentFilter: CompositeFilterDescriptor;\n @Input() public data: NamedModel[];\n @Input() public filterService: FilterService;\n @Input() public field: string;\n @Input() public valueField: string;\n @Output() public valueChange = new EventEmitter<number[]>();\n\n public currentData: NamedModel[];\n public showFilter = true;\n private value: string[] = [];\n private filters: FilterDescriptor[] = [];\n private get ValueKey(): string {\n return this.valueField ? this.valueField : defaultValueKey;\n }\n\n public ngAfterViewInit() {\n this.currentData = this.data;\n if (this.currentData && this.currentData.length) {\n this.traverseFilters(this.currentFilter);\n this.value = this.filters.map((f: FilterDescriptor) => f.value);\n this.showFilter = typeof this.currentData[0].name === 'string';\n }\n }\n\n traverseFilters(filters: CompositeFilterDescriptor | FilterDescriptor) {\n let compositeFilterDescriptor = filters as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {\n const innerFilter = compositeFilterDescriptor.filters[\n i\n ] as FilterDescriptor;\n if (innerFilter.value && innerFilter.field === this.field) {\n this.filters.push(innerFilter);\n }\n\n this.traverseFilters(innerFilter);\n }\n }\n }\n\n public isItemSelected(item: NamedModel) {\n return this.value.some((x) => x === item[this.ValueKey]);\n }\n\n public onSelectionChange(item: NamedModel) {\n const selectedValue = item[this.ValueKey];\n if (this.value.some((x) => x === selectedValue)) {\n this.value = this.value.filter((x) => x !== selectedValue);\n } else {\n this.value.push(selectedValue);\n }\n\n this.filterService.filter({\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n logic: 'or',\n });\n }\n\n public onInput(e: any) {\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem) =>\n this.value.some((val) => val === dataItem.id)\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n","import { Component, Input } from '@angular/core';\nimport { Member } from '../../models/Member';\n\n@Component({\n selector: 'top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.css'],\n})\nexport class TopMenuComponent {\n @Input()\n currentUser: Member;\n\n public toggleButtonClick() {\n document.body.classList.toggle('mini-navbar');\n }\n}\n","<div id=\"supply-top-navbar\" class=\"supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button type=\"button\" class=\"navbar-minimalize minimalize-style-2 btn btn-primary\" (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n <div id=\"topBarIcons\" class=\"clearfix\" *ngIf=\"currentUser != null\">\n <a [routerLink]=\"['/security/admins', currentUser.id]\" class=\"message-icons left container-login\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">{{currentUser.userName}}</span>\n </a>\n <account-menu [user]=\"currentUser\"></account-menu>\n </div>\n </nav>\n</div>\n","import {\n Component,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { map, Observable, tap } from 'rxjs';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IGetPageService } from '../../../services/get-page.service.interface';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: './field-dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FieldDropdownComponent extends FieldComponent<string> {\n @Input()\n service: IGetPageService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data$: Observable<NamedModel[]>;\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setData();\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setData();\n }\n\n setData(): void {\n this.data$ = this.service\n .getPage(this.filter ? { filter: this.filter } : {})\n .pipe(\n tap((x) => {\n const entity: NamedModel =\n x.data.find((d) => d.id === this.control.value) || x.data[0];\n if (entity) {\n this.control.setValue(entity.id);\n }\n }),\n map((x) => x.data),\n );\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { FieldDropdownComponent } from './field-dropdown.component';\n\n@NgModule({\n declarations: [FieldDropdownComponent],\n imports: [\n TranslateModule,\n DropDownsModule,\n ReactiveFormsModule,\n CommonModule,\n ],\n exports: [FieldDropdownComponent],\n})\nexport class FieldDropdownModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ActivityFilterServiceConfig {\n dateFilterParameter: string;\n}\n\nexport const dateFilterParameter: InjectionToken<string> =\n new InjectionToken<string>('dateFilterParameter', {\n factory: (): string => 'start',\n providedIn: 'root',\n });\n","import { UserListAdminComponent } from './widgets/entity-list/user-list-admin.component';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n Provider,\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { MsalModule, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ExcelModule, GridModule } from '@progress/kendo-angular-grid';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\nimport { IndiginaModule } from './angular/indigina.module';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { LiveUpdatesControlComponent } from './angular/widgets/live-updates-control/live-updates-control.component';\nimport { AccountMenuComponent } from './components/account-menu/account-menu.component';\nimport { AzureLoginCallbackComponent } from './components/azure-login-callback/azure-login-callback.component';\nimport { LanguageSelectorComponent } from './components/language-selector/language-selector.component';\nimport { MSALInstanceFactory } from './config/msal-instance.factory';\nimport { RequirePermissionDirective } from './directives/requirePermission.directive';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\nimport { AccountService } from './services/account.service';\nimport { PermissionsService } from './services/permissions.service';\nimport { SignalRService } from './services/signalr/signalr.service';\nimport { ActivityFilterComponent } from './widgets/activity-filter/activity-filter.component';\nimport { ConfirmDialogComponent } from './widgets/confirm-dialog/confirm-dialog.component';\nimport { CurrentTimezoneComponent } from './widgets/current-timezone/current-timezone.component';\nimport { EntityEditButtonsBarComponent } from './widgets/entity-edit/buttons-bar/buttons-bar.component';\nimport { EntityEditFormComponent } from './widgets/entity-edit/entity-edit-form.component';\nimport { FieldMultiSelectComponent } from './widgets/entity-edit/field-multiselect/field-multiselect.component';\nimport { EntityListComponent } from './widgets/entity-list/entity-list.component';\nimport { FieldDropdownlistComponent } from './widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nimport { ExcelExportButtonComponent } from './widgets/excel-export-button/excel-export-button.component';\nimport { FooterBarComponent } from './widgets/footer-bar/footer-bar.component';\nimport { ModalWindowComponent } from './widgets/modal-window/modal-window.component';\nimport { MulticheckFilterComponent } from './widgets/multicheck-filter/multicheck-filter.component';\nimport { TopMenuComponent } from './widgets/top-bar/top-bar.component';\nimport { FieldDropdownModule } from './widgets/entity-edit/field-dropdown/field-dropdown.module';\nimport { ServicesConfiguration } from './services/services.config';\nimport { dateFilterParameter } from './services/activity.filter.service.config';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n AzureLoginCallbackComponent,\n UserListAdminComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n IndiginaModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n DialogsModule,\n CommonModule,\n FormsModule,\n WindowModule,\n DialogsModule,\n ReactiveFormsModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n MsalModule,\n FieldDropdownModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n MsalService,\n ],\n exports: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n IndiginaModule,\n PopupModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n WindowModule,\n DialogsModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n MsalModule,\n AzureLoginCallbackComponent,\n UserListAdminComponent,\n FieldDropdownModule,\n ],\n})\nexport class KendoModule {\n public static forRoot(\n config: IndiginaConfiguration,\n servicesConfig?: ServicesConfiguration,\n ): ModuleWithProviders<KendoModule> {\n let module: ModuleWithProviders<KendoModule> = {\n ngModule: KendoModule,\n providers: <(Provider | EnvironmentProviders)[]>[\n {\n provide: IndiginaConfiguration,\n useValue: config,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [IndiginaConfiguration],\n },\n ],\n };\n const filterParameter: string =\n servicesConfig?.activityFilterServiceConfig?.dateFilterParameter;\n if (filterParameter) {\n module.providers.push({\n provide: dateFilterParameter,\n useValue: filterParameter,\n });\n }\n\n return module;\n }\n}\n","export enum FilterTargets {\n Url,\n Grid,\n}\n","export enum MemberTypes {\n Admin = 'Admin',\n User = 'User'\n}\n","export enum Operators {\n eq = 'eq',\n neq = 'neq',\n isnull = 'isnull',\n isnotnull = 'isnotnull',\n lt = 'lt',\n lte = 'lte',\n gt = 'gt',\n gte = 'gte',\n startswith = 'startswith',\n endswith = 'endswith',\n contains = 'contains',\n doesnotcontain = 'doesnotcontain',\n isempty = 'isempty',\n isnotempty = 'isnotempty',\n}\n","export enum PermissionTypes {\n Create = 'Create',\n Delete = 'Delete',\n Edit = 'Edit',\n View = 'View',\n Set = 'Set',\n}\n","import { State, CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../../models/ActivityFilter';\nimport { FilterTargets } from '../../models/FilterTargets';\nimport { Operators } from '../../models/Operators';\nexport class FilterConverter {\n public static toGridState(\n filter: ActivityFilter,\n DateFilterFieldName: string,\n ): State {\n const gridState: State = {\n filter: {\n logic: 'and',\n filters: [],\n },\n };\n const mainFilter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: [],\n };\n gridState.skip = +filter.skip;\n gridState.take = +filter.take;\n if (filter.group) {\n gridState.group = filter.group;\n }\n\n if (filter.sort) {\n gridState.sort = filter.sort;\n } else {\n gridState.sort = [{ field: DateFilterFieldName, dir: 'desc' }];\n }\n\n if (filter.dateFrom) {\n mainFilter.filters.push({\n operator: Operators.gte,\n field: DateFilterFieldName,\n value: filter.dateFrom,\n });\n }\n\n if (filter.dateTo) {\n mainFilter.filters.push({\n operator: Operators.lte,\n field: DateFilterFieldName,\n value: filter.dateTo,\n });\n }\n\n filter.customFilters?.forEach((x) => {\n if (x.filterTarget === FilterTargets.Grid) {\n if (x.values && x.values.length) {\n const multiselectFilter: CompositeFilterDescriptor = {\n logic: 'or',\n filters: [],\n };\n x.values.forEach((value) => {\n multiselectFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value,\n });\n });\n\n gridState.filter.filters.push(multiselectFilter);\n } else {\n if (x.value !== null && typeof x.value !== 'undefined') {\n mainFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value: x.value,\n });\n }\n }\n }\n });\n\n if (mainFilter.filters.length) {\n if (gridState.filter.filters.length) {\n gridState.filter.filters.push(mainFilter);\n } else {\n gridState.filter.filters = mainFilter.filters;\n }\n }\n\n return gridState;\n }\n}\n","import { FilterConverter } from '../widgets/activity-filter/FilterConverter';\nimport {\n urlDeserialize,\n urlSerialize,\n} from '../widgets/entity-list/UrlSerializer';\nimport { BehaviorSubject } from 'rxjs';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../models/ActivityFilter';\nimport { FilterTargets } from '../models/FilterTargets';\nimport { Operators } from '../models/Operators';\nimport { CustomFilter } from '../models/CustomFilter';\nimport { dateFilterParameter } from './activity.filter.service.config';\n\nconst filterKey = 'filter';\nconst filtersKey = 'filters';\nconst dateToKey = 'dateTo';\nconst dateFromKey = 'dateFrom';\nconst customFiltersKey = 'customFilters';\nconst nullKey = 'null';\n\n@Injectable()\nexport class ActivityFilterService {\n public currentFilter: ActivityFilter;\n public currentGridState: State;\n\n private readonly defaultFilter: ActivityFilter = {\n dateTo: null,\n dateFrom: null,\n switchToArchive: false,\n searchText: '',\n skip: 0,\n take: 10,\n };\n\n protected filterBehavior = new BehaviorSubject<ActivityFilter>(\n this.defaultFilter,\n );\n protected gridStateBehavior = new BehaviorSubject<State>(\n FilterConverter.toGridState(\n this.defaultFilter,\n this.dateFilterParameterName,\n ),\n );\n\n public filter$ = this.filterBehavior.asObservable();\n public gridState$ = this.gridStateBehavior.asObservable();\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n @Inject(dateFilterParameter)\n protected dateFilterParameterName: string,\n ) {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.route.fragment.subscribe(async (fragment: string) => {\n const parsed = urlDeserialize(new URLSearchParams(fragment));\n if (Object.keys(parsed).some((key) => key === filterKey)) {\n this.currentGridState = parsed as State;\n this.fillCurrentFilter(parsed);\n } else {\n this.clearFilter();\n this.setTodayDates();\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n );\n }\n\n this.filterBehavior.next(this.currentFilter);\n });\n\n this.filter$.subscribe((filter) => {\n this.gridStateBehavior.next(\n FilterConverter.toGridState(filter, this.dateFilterParameterName),\n );\n });\n }\n\n public reset() {\n this.clearFilter();\n this.applyFilter(this.currentFilter);\n this.gridStateBehavior.next(this.currentGridState);\n }\n\n public setFilter(filter: ActivityFilter) {\n this.currentFilter.skip = 0;\n this.currentFilter = Object.assign(filter);\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n );\n }\n\n public applyFilter(filter: ActivityFilter) {\n this.setFilter(filter);\n this.stateNavigation(this.prepareFilterToSerialize());\n }\n\n public setToday() {\n this.setTodayDates();\n this.applyFilter(this.currentFilter);\n }\n\n public clearFilter() {\n if (this.currentFilter) {\n const customFilters = Object.assign([], this.currentFilter.customFilters);\n customFilters.forEach((x) => {\n x.value = null;\n if (x.values) {\n x.values = [];\n }\n });\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.currentFilter.customFilters = customFilters;\n } else {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n }\n }\n\n public setGridState(state: State) {\n this.currentGridState = state;\n const { switchToArchive, searchText } = this.currentFilter;\n this.clearFilter();\n this.currentFilter = Object.assign(this.currentFilter, {\n switchToArchive,\n searchText,\n });\n this.fillCurrentFilter(this.currentGridState);\n this.stateNavigation(this.currentGridState);\n }\n\n public setTodayDates() {\n const now = new Date();\n this.currentFilter.dateTo = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate() + 1,\n 0,\n 0,\n 0,\n );\n this.currentFilter.dateFrom = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n 0,\n 0,\n 0,\n );\n }\n\n private async stateNavigation(object: Object) {\n const navigate = await this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(object),\n });\n if (!navigate) {\n this.filterBehavior.next(this.currentFilter);\n }\n }\n\n private prepareFilterToSerialize(): object {\n const result = {};\n Object.keys(this.currentFilter).forEach((key) => {\n if (\n key !== dateToKey &&\n key !== dateFromKey &&\n key !== customFiltersKey\n ) {\n result[key] = this.currentFilter[key];\n }\n });\n\n this.currentFilter.customFilters?.forEach((filter) => {\n if (filter.filterTarget == FilterTargets.Url) {\n result[filter.field] = filter.value;\n }\n });\n\n result[filterKey] = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n ).filter;\n\n return result;\n }\n\n private fillCurrentFilter(object: State) {\n this.currentFilter.customFilters = [];\n this.fillFromDescriptor(object.filter);\n Object.keys(object).forEach((key) => {\n if (key !== filterKey && key !== nullKey && key !== filtersKey) {\n if (Object.keys(this.currentFilter).some((x) => x == key)) {\n this.currentFilter[key] = object[key];\n } else {\n this.fillUrlFilter(key, object[key]);\n }\n }\n });\n }\n\n private fillUrlFilter(key: string, val: string) {\n const index = this.currentFilter.customFilters.findIndex(\n (filter) => filter.field == key,\n );\n if (index !== -1) {\n this.currentFilter.customFilters[index].value = val;\n } else {\n this.currentFilter.customFilters.push({\n field: key,\n value: val,\n operator: Operators.eq,\n filterTarget: FilterTargets.Url,\n });\n }\n }\n\n private fillFromDescriptor(gridFilter: CompositeFilterDescriptor) {\n gridFilter?.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n const filterDescriptor = filter as FilterDescriptor;\n if (\n filterDescriptor.field === this.dateFilterParameterName &&\n filterDescriptor.operator === Operators.lte\n ) {\n this.currentFilter.dateTo = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field === this.dateFilterParameterName &&\n filterDescriptor.operator === Operators.gte\n ) {\n this.currentFilter.dateFrom = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field &&\n filterDescriptor.field !== this.dateFilterParameterName\n ) {\n this.setFieldFilter({\n field: filterDescriptor.field as string,\n filterTarget: FilterTargets.Grid,\n operator: Operators[filterDescriptor.operator as string],\n value: filterDescriptor.value,\n });\n }\n\n const compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n this.fillFromDescriptor(compositeFilterDescriptor);\n }\n },\n );\n }\n\n private setFieldFilter(filter: CustomFilter) {\n const index = this.currentFilter.customFilters.findIndex(\n (x) => x.field === filter.field && x.operator === filter.operator,\n );\n if (index !== -1) {\n const values = this.currentFilter.customFilters[index].values;\n const value = this.currentFilter.customFilters[index].value;\n this.currentFilter.customFilters[index].values = values ? values : [];\n if (value) {\n this.currentFilter.customFilters[index].values.push(value as string);\n this.currentFilter.customFilters[index].value = null;\n }\n\n this.currentFilter.customFilters[index].values.push(\n filter.value as string,\n );\n } else {\n this.currentFilter.customFilters.push(filter);\n }\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { IEntityService } from '../../services/IEntityService';\nimport { UrlParams } from '../../services/url-params.model';\nimport { IFormAdapter } from './IFormAdapter';\n\nexport abstract class EntityEditComponent<T extends IdentifiedModel>\n implements IFormAdapter<T>\n{\n form: FormGroupWithErrors;\n saved = new EventEmitter<T>();\n get adapter() {\n return this;\n }\n\n constructor(public service: IEntityService<T>) {}\n\n getValue(): T {\n return this.form.getRawValue();\n }\n\n getService(): IEntityService<T> {\n return this.service;\n }\n\n getUrlParams(): UrlParams {\n return {};\n }\n\n setForm(form: FormGroupWithErrors): void {\n this.form = form;\n }\n\n onSaved(value: T): void {\n this.saved.emit(value);\n }\n}\n","import * as momentModule from 'moment-timezone';\n/*\n * Public API Surface of kendo\n */\nexport * from '@angular/platform-browser/animations';\nexport * from '@azure/msal-angular';\nexport { LogLevel } from '@microsoft/signalr';\nexport * from '@ngx-loading-bar/http-client';\nexport * from '@ngx-translate/core';\nexport * from 'ngx-clipboard';\nexport * from 'ngx-toastr';\nexport { IndiginaModule } from '././lib/angular/indigina.module';\nexport { FieldInputModule } from './lib/angular/forms/widgets/field/field-input/field-input.module';\nexport { BaseAccountService } from '././lib/services/base.account.service';\nexport { ISubscriptionControl } from './lib/angular/extensions/ISubscriptionControl';\nexport { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';\nexport { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';\nexport { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';\nexport { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';\nexport { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';\nexport { FieldComponent } from './lib/angular/forms/widgets/field/field.component';\nexport { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';\nexport { AppSettings } from './lib/angular/models/AppSettings';\nexport type { CustomHttpErrorResponse } from './lib/angular/models/CustomHttpErrorResponse';\nexport { HttpCodes } from './lib/angular/models/HttpCodes';\nexport { HttpMethods } from './lib/angular/models/HttpMethods';\nexport { IdentifiedModel } from './lib/angular/models/IdentifiedModel';\nexport { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';\nexport { Language } from './lib/angular/models/Language';\nexport { NamedModel } from './lib/angular/models/NamedModel';\nexport { Removable } from './lib/angular/models/removable.interface';\nexport { HttpService } from './lib/angular/services/http.service';\nexport { LocaleSettingsService } from './lib/angular/services/locale-settings.service';\nexport { SettingsService } from './lib/angular/services/settings.service';\nexport { AppToastrService } from './lib/angular/services/toastr.service';\nexport { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';\nexport { MenuItem } from './lib/angular/widgets/side-menu/MenuItem';\nexport { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';\nexport { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';\nexport { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';\nexport { AzureLoginCallbackComponent } from './lib/components/azure-login-callback/azure-login-callback.component';\nexport { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';\nexport { MSALInstanceFactory } from './lib/config/msal-instance.factory';\nexport { RequirePermissionDirective } from './lib/directives/requirePermission.directive';\nexport { KendoModule } from './lib/kendo.module';\nexport { ActivityFilter } from './lib/models/ActivityFilter';\nexport { AzureB2CSettings } from './lib/models/AzureB2CSettings';\nexport { CustomFilter } from './lib/models/CustomFilter';\nexport { CustomFilterElement } from './lib/models/CustomFilterElement';\nexport { FieldTypes } from './lib/models/FieldTypes';\nexport { FilterTargets } from './lib/models/FilterTargets';\nexport { Member } from './lib/models/Member';\nexport { MemberBase } from './lib/models/MemberBase';\nexport { MemberTypes } from './lib/models/MemberTypes';\nexport { Operators } from './lib/models/Operators';\nexport { Page } from './lib/models/Page';\nexport { Permissions } from './lib/models/Permissions';\nexport { PermissionTypes } from './lib/models/PermissionTypes';\nexport { SystemInfo } from './lib/models/SystemInfo';\nexport { User } from './lib/models/User';\nexport { AccountService } from './lib/services/account.service';\nexport { ActivityFilterService } from './lib/services/activity.filter.service';\nexport { AuthProviderResolver } from './lib/services/auth-provider.resolver';\nexport { AuthProvider } from './lib/services/auth.providers/AuthProvider';\nexport {\n buildActivityEndpoints,\n buildEntityEndpoints,\n endpoints,\n} from './lib/services/endpoints';\nexport { UrlParams } from './lib/services/url-params.model';\nexport { EntityService } from './lib/services/entity.service';\nexport { IActivityEndpoints } from './lib/services/IActivityEndpoints';\nexport { IEntityEndpoints } from './lib/services/IEntityEndpoints';\nexport { IEntityService } from './lib/services/IEntityService';\nexport { IGetPageService } from './lib/services/get-page.service.interface';\nexport { PermissionsService } from './lib/services/permissions.service';\nexport { EventNames } from './lib/services/signalr/EventNames';\nexport { SignalRService } from './lib/services/signalr/signalr.service';\nexport { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';\nexport { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';\nexport { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';\nexport { EntityEditButtonsBarComponent } from './lib/widgets/entity-edit/buttons-bar/buttons-bar.component';\nexport { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';\nexport { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';\nexport { FieldDropdownComponent } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.component';\nexport { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';\nexport { UserListAdminComponent } from './lib/widgets/entity-list/user-list-admin.component';\nexport { Command } from './lib/widgets/entity-list/Command';\nexport { EntityListComponent } from './lib/widgets/entity-list/entity-list.component';\nexport { Field } from './lib/widgets/entity-list/Field';\nexport { FieldDropdownlistComponent } from './lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nexport {\n urlDeserialize,\n urlSerialize,\n} from './lib/widgets/entity-list/UrlSerializer';\nexport { ExcelExportButtonComponent } from './lib/widgets/excel-export-button/excel-export-button.component';\nexport { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';\nexport { ModalWindowComponent } from './lib/widgets/modal-window/modal-window.component';\nexport { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';\nexport { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';\nexport { PrettifierFactory } from './lib/angular/widgets/tree-view/Prettifiers/PrettifierFactory';\nexport { IPrettifier } from './lib/angular/widgets/tree-view/Prettifiers/IPrettifier';\nexport { ContentTypesFormat } from './lib/angular/widgets/tree-view/models/ContentTypesFormat';\nexport const momentTimezone: () => momentModule.Moment = momentModule;\nexport { FieldDropdownModule } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","collapsedEvent","i3.MenuItemGroupComponent","i3.TreeViewNodeComponent","i4","i2.AppSettings","i1.AppToastrService","i3.AppSettings","i5","i6.SettingsService","i2.SettingsService","i3.IndiginaConfiguration","i1.AppSettings","i1.AuthProviderResolver","i2.HttpService","i3.SettingsService","i4.SignalRService","i1.LocaleSettingsService","i1.AccountService","i6.LanguageSelectorComponent","i1.HttpService","i2.AccountService","i3.SignalRService","i2.PermissionsService","i4.DebounceDirective","i7","i8.ConfirmDialogComponent","i9.ExcelExportButtonComponent","i10.RequirePermissionDirective","i3.PartnerService","i5.DebounceDirective","i6","i8","i9.ConfirmDialogComponent","i10.ExcelExportButtonComponent","i11.RequirePermissionDirective","i1.SettingsService","i6.CurrentTimezoneComponent","i3.RequirePermissionDirective","i3.GeneralErrorsComponent","i5.EntityEditButtonsBarComponent","i3.AccountMenuComponent","tap","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indigina-kendo.mjs","sources":["../../../projects/kendo/src/lib/angular/forms/directives/debounce.directive.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/number-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/field/field-input/field-input.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/general-errors/general-errors.component.html","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.ts","../../../projects/kendo/src/lib/angular/services/locale-settings.service.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.html","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.ts","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.component.html","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.html","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/ContentTypesFormat.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/AbstractContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNodeTypes.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/models/TreeViewNode.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/EnumTypeGetter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/JsonResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/TextResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/ContentResolver/ContentResolver.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/TextPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/XMLPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/JsonPrettifier.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/Prettifiers/PrettifierFactory.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.ts","../../../projects/kendo/src/lib/angular/widgets/tree-view/tree-view.component.html","../../../projects/kendo/src/lib/angular/indigina.module.ts","../../../projects/kendo/src/lib/services/endpoints.ts","../../../projects/kendo/src/lib/services/signalr/EventNames.ts","../../../projects/kendo/src/lib/services/base.account.service.ts","../../../projects/kendo/src/lib/angular/extensions/ReEntrySubscription.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/services/toastr.service.ts","../../../projects/kendo/src/lib/angular/services/settings.service.ts","../../../projects/kendo/src/lib/angular/services/http.service.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.ts","../../../projects/kendo/src/lib/angular/widgets/live-updates-control/live-updates-control.component.html","../../../projects/kendo/src/lib/services/auth.providers/AuthProvider.ts","../../../projects/kendo/src/lib/services/auth.providers/azureb2c.provider.ts","../../../projects/kendo/src/lib/services/auth-provider.resolver.ts","../../../projects/kendo/src/lib/services/signalr/signalr.service.ts","../../../projects/kendo/src/lib/services/account.service.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.ts","../../../projects/kendo/src/lib/components/language-selector/language-selector.component.html","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.component.html","../../../projects/kendo/src/lib/components/azure-login-callback/azure-login-callback.component.ts","../../../projects/kendo/src/lib/config/msal-instance.factory.ts","../../../projects/kendo/src/lib/services/permissions.service.ts","../../../projects/kendo/src/lib/directives/requirePermission.directive.ts","../../../projects/kendo/src/lib/services/entity.service.ts","../../../projects/kendo/src/lib/services/partner.service.ts","../../../projects/kendo/src/lib/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.ts","../../../projects/kendo/src/lib/widgets/confirm-dialog/confirm-dialog.component.html","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.ts","../../../projects/kendo/src/lib/widgets/excel-export-button/excel-export-button.component.html","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.component.html","../../../projects/kendo/src/lib/widgets/entity-list/user-list-admin.component.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/models/FieldTypes.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.ts","../../../projects/kendo/src/lib/widgets/current-timezone/current-timezone.component.html","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit-form.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.html","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.ts","../../../projects/kendo/src/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.html","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.ts","../../../projects/kendo/src/lib/widgets/footer-bar/footer-bar.component.html","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.ts","../../../projects/kendo/src/lib/widgets/modal-window/modal-window.component.html","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.ts","../../../projects/kendo/src/lib/widgets/multicheck-filter/multicheck-filter.component.html","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.ts","../../../projects/kendo/src/lib/widgets/top-bar/top-bar.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/field-dropdown/field-dropdown.module.ts","../../../projects/kendo/src/lib/services/activity.filter.service.config.ts","../../../projects/kendo/src/lib/kendo.module.ts","../../../projects/kendo/src/lib/models/FilterTargets.ts","../../../projects/kendo/src/lib/models/MemberTypes.ts","../../../projects/kendo/src/lib/models/Operators.ts","../../../projects/kendo/src/lib/models/PermissionTypes.ts","../../../projects/kendo/src/lib/widgets/activity-filter/FilterConverter.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/public-api.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["import {\n Directive,\n HostListener,\n Output,\n EventEmitter,\n OnInit,\n OnDestroy,\n Input,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Directive({\n selector: '[appDebounce]',\n})\nexport class DebounceDirective implements OnInit, OnDestroy {\n @Input() debounceTime = 500;\n @Output() debounceKeyup = new EventEmitter();\n private keyUp = new Subject();\n private subscription: Subscription;\n\n constructor() { }\n\n ngOnInit() {\n this.subscription = this.keyUp.pipe(\n debounceTime(this.debounceTime),\n ).subscribe(e => this.debounceKeyup.emit(e));\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n @HostListener('keyup', ['$event'])\n\n keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\n}\n","import { OnInit, Input, ElementRef, Directive, OnChanges } from '@angular/core';\nimport {\n FormGroupDirective,\n UntypedFormControl,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nlet id: number = 0;\nconst disabledKey = 'disabled';\n\n@Directive()\nexport abstract class FieldComponent<T> implements OnInit, OnChanges {\n @Input() labelKey: string;\n @Input() fieldName: string;\n @Input() disabled: boolean = false;\n id: string;\n\n constructor(\n public parent: FormGroupDirective,\n public eref: ElementRef,\n private defaultValue: T,\n ) {}\n\n ngOnInit(): void {\n this.id = '_' + this.fieldName + ++id;\n this.setUp();\n }\n\n ngOnChanges(): void {\n this.setUp();\n }\n\n protected setUp(): void {\n const validators: ValidatorFn[] = [];\n for (const attr of this.eref.nativeElement.attributes as [\n { name: string; value: string },\n ]) {\n const validator = this.setAttribute(attr.name, attr.value);\n if (validator) {\n validators.push(validator);\n }\n }\n\n const control = this.parent.form.get(this.fieldName);\n if (control) {\n if (control.validator) {\n validators.push(control.validator);\n }\n\n control.setValidators(validators);\n control.updateValueAndValidity();\n } else {\n this.parent.form.addControl(\n this.fieldName,\n new UntypedFormControl(this.defaultValue, validators),\n );\n }\n\n this.updateState();\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === disabledKey) {\n this.disabled = true;\n\n return;\n }\n\n if (name === 'required') {\n return Validators.required;\n }\n }\n\n updateState(): void {\n const control = this.parent.form.get(this.fieldName);\n if (!control) {\n return;\n }\n\n if (this.disabled) {\n control.disable();\n } else {\n control.enable();\n }\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n Validators,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldComponent } from '../field.component';\n\n@Component({\n selector: 'field-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class FieldInputComponent extends FieldComponent<string> {\n @Input()\n public labelKey: string;\n @Input()\n public fieldName: string;\n\n public type: string = 'text';\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n protected setAttribute(name: string, value: string): ValidatorFn {\n if (name === 'type') {\n this.type = value;\n }\n\n if (name === 'max-length') {\n return Validators.maxLength(parseInt(value, 10));\n }\n\n return super.setAttribute(name, value);\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ id }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\">\n <input\n [formControlName]=\"fieldName\"\n id=\"{{ id }}\"\n [type]=\"type\"\n class=\"k-input\"\n autocomplete=\"new-{{ fieldName }}\"\n placeholder=\"{{ labelKey | translate }}\"\n />\n <ng-content></ng-content>\n <div\n class=\"bg-danger\"\n *ngIf=\"\n parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched\n \"\n >\n <span *ngIf=\"parent.form.get(fieldName).errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['email']\">{{\n \"ValidEmail\" | translate\n }}</span>\n <span *ngIf=\"parent.form.get(fieldName).errors['serverErrorMsg']\">{{\n parent.form.get(fieldName).errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, Input } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { FieldInputComponent } from './field-input.component';\n\nconst defaultValue = null;\nconst minusSign = '-';\nconst emptyString = '';\n\n@Component({\n selector: 'number-input',\n templateUrl: './field-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class NumberInputComponent extends FieldInputComponent {\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref);\n this.type = 'text';\n }\n\n @Input() isPositive: boolean = false;\n\n private cachedValue: number | string;\n\n ngAfterContentInit() {\n const control = this.parent.form.get(this.fieldName);\n control.setValue(this.presetDefaultValue(control.value));\n control.setValidators(this.isNaNValidator());\n control.valueChanges.subscribe((value) => {\n if (\n ((typeof value === 'undefined' || value?.toString() === emptyString) &&\n this.cachedValue !== defaultValue) ||\n (this.presetDefaultValue(value) === defaultValue &&\n control.value !== defaultValue)\n ) {\n this.cachedValue = defaultValue;\n control.setValue(this.cachedValue);\n\n return;\n }\n\n if (value && value.toString().includes(minusSign)) {\n let newValue = this.isPositive\n ? value.replaceAll(minusSign, emptyString)\n : value.slice(0, 1) + value.replaceAll(minusSign, emptyString);\n this.cachedValue = !isNaN(newValue + 1) ? newValue : this.cachedValue;\n if (this.cachedValue !== value) {\n control.setValue(this.cachedValue);\n }\n\n return;\n }\n\n if (isNaN(value)) {\n this.cachedValue !== defaultValue\n ? control.setValue(this.cachedValue)\n : control.setValue(defaultValue);\n\n return;\n }\n\n this.cachedValue = +value;\n if (\n this.cachedValue !== value &&\n value !== null &&\n !value.toString().endsWith('.')\n ) {\n control.setValue(this.cachedValue);\n }\n });\n }\n\n private presetDefaultValue(value: number | string): number | string {\n return value?.toString().replace(/\\s/g, emptyString) === emptyString\n ? defaultValue\n : value;\n }\n\n private isNaNValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const notValid = isNaN(control.value);\n\n return notValid ? { forbiddenName: { value: control.value } } : null;\n };\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputComponent } from './field-input.component';\nimport { NumberInputComponent } from './number-input.component';\n\n@NgModule({\n declarations: [FieldInputComponent, NumberInputComponent],\n exports: [FieldInputComponent, NumberInputComponent],\n imports: [ReactiveFormsModule, FormsModule, TranslateModule, CommonModule],\n})\nexport class FieldInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-general-errors',\n templateUrl: './general-errors.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GeneralErrorsComponent implements OnChanges {\n @Input() form: UntypedFormGroup;\n @Input() errors: string[] = [];\n\n ngOnChanges(): void {\n this.form.setErrors({ _general_errors_: this.errors });\n }\n}\n","<div *ngIf=\"form\" [formGroup]=\"form\">\n <div class=\"bg-danger\" *ngIf=\"form.invalid && errors.length\">\n <ul class=\"custom-error\">\n <li *ngFor=\"let error of errors\">{{ error }}</li>\n </ul>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { LogLevel } from '@microsoft/signalr';\nimport { AzureB2CSettings } from '../../models/AzureB2CSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AppSettings {\n apiUrl: string;\n accountUrl: string;\n toastrTimeOut: number;\n signalRLogLevel?: LogLevel;\n azureB2C: AzureB2CSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateLoader } from '@ngx-translate/core';\nimport { AppSettings } from './AppSettings';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class IndiginaConfiguration {\n langs?: TranslateLoader;\n appSettings?: AppSettings;\n}\n","import { Injectable } from '@angular/core';\nimport { Language } from '../models/Language';\nimport { TranslateService } from '@ngx-translate/core';\n\nconst languageKey = 'language';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocaleSettingsService {\n private languages: Language[] = [\n { name: 'English', code: 'en-US' },\n { name: 'Русский', code: 'ru-RU' },\n ];\n private localeId: string;\n\n constructor(private translate: TranslateService) {}\n\n init(): void {\n this.translate.addLangs(this.languages.map((x) => x.code));\n this.localeId = this.getLocale();\n this.setLocale(this.localeId || this.languages[0].code);\n }\n\n getLocales(): Language[] {\n return this.languages;\n }\n\n getLocale(): string {\n if (localStorage) {\n return localStorage.getItem(languageKey) || this.localeId;\n } else {\n return this.localeId;\n }\n }\n\n setLocale(locale: string) {\n this.translate.use(locale);\n this.localeId = locale;\n if (localStorage) {\n localStorage.setItem(languageKey, locale);\n }\n }\n}\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\n IsActiveMatchOptions,\n} from '@angular/router';\n\nconst urlDelimiter = '/';\nconst collapsedEvent = 'collapsed';\n\n@Component({\n selector: '[menu-item-group]',\n templateUrl: './menu-item-group.component.html',\n styleUrls: ['./menu-item-group.component.css'],\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (\n url: string | UrlTree,\n matchOptions: boolean | IsActiveMatchOptions,\n ): boolean {\n return this.routerState.snapshot.root.children?.length\n ? url.toString() ===\n urlDelimiter +\n this.routerState.snapshot.root.children[0].routeConfig.path.split(\n '/:',\n )[0]\n : false;\n };\n }\n\n ngOnInit(): void {\n this.setActualPath(this.router.routerState.snapshot);\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.setActualPath(this.router.routerState.snapshot);\n }\n });\n }\n\n ngOnChanges(): void {\n this.setItemExpand();\n }\n\n collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n\n if (!activeItem.items || activeItem.items.length === 0) {\n event[collapsedEvent] = true;\n } else {\n event[collapsedEvent] = false;\n }\n }\n\n private setItemExpand() {\n this.item.expanded = this.item.items?.some((x) => {\n return x.link !== undefined && x.link === this.actualPath;\n });\n }\n\n private setActualPath(snapshot: RouterStateSnapshot): void {\n if (snapshot.root.children?.length) {\n this.actualPath =\n urlDelimiter +\n snapshot.root.children[0].routeConfig.path.split('/:')[0];\n this.setItemExpand();\n }\n }\n}\n","<ng-container *ngIf=\"item.items && item.items.length\">\n <a (click)=\"collapseChild(item, $event)\">\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n <ul\n [ngClass]=\"\n item.expanded == true\n ? 'nav nav-second-level collapse in'\n : 'nav nav-second-level collapse'\n \"\n >\n <ng-template ngFor let-item [ngForOf]=\"item.items\">\n <li menu-item-group [item]=\"item\"></li>\n </ng-template>\n </ul>\n</ng-container>\n<ng-container *ngIf=\"!item.items || !item.items.length\">\n <a\n *ngIf=\"item.link\"\n routerLink=\"{{ item.link }}\"\n routerLinkActive=\"active-route\"\n class=\"sub-menu-link\"\n (click)=\"collapseChild(item, $event)\"\n >\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n <a\n *ngIf=\"item.url\"\n class=\"sub-menu-link\"\n href=\"{{ item.url }}\"\n target=\"_blank\"\n (click)=\"collapseChild(item, $event)\"\n >\n <ng-container *ngIf=\"!item.iconClass; else labelWithIcon\">\n {{ item.text | translate }}\n </ng-container>\n </a>\n</ng-container>\n<ng-template #labelWithIcon>\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n</ng-template>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItemGroupComponent } from './menu-item-group/menu-item-group.component';\nimport { MenuItem } from './MenuItem';\n\nconst collapsedEvent = 'collapsed';\n@Component({\n selector: 'side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.css'],\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n onLogoClick() {\n this.logoClick.emit();\n }\n\n collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent,\n ) {\n this.items?.forEach((item) => {\n if (item.text !== activeItem.text && item.expanded) {\n item.expanded = false;\n }\n });\n if (event[collapsedEvent]) {\n itemComponent.collapsed = true;\n } else {\n itemComponent.collapsed = false;\n }\n }\n}\n","<nav\n id=\"menu-left\"\n class=\"navbar-default navbar-main navbar-static-side open\"\n role=\"navigation\"\n>\n <div class=\"sidebar-collapse\">\n <ul id=\"side-menu\" class=\"nav\">\n <li class=\"nav-header\">\n <div class=\"profile-element\">\n <a [routerLink]=\"['/']\" class=\"img-supply\">\n <img alt=\"Supply Stream logo\" />\n </a>\n </div>\n <div class=\"logo-element\" (click)=\"onLogoClick()\">\n <i class=\"fa fa-exchange\"></i>\n </div>\n </li>\n </ul>\n\n <div class=\"sidebar-collapse\">\n <ul class=\"nav\">\n <ng-template ngFor let-item [ngForOf]=\"items\">\n <li\n #itemComponent\n menu-item-group\n [item]=\"item\"\n [ngClass]=\"{\n menu: true,\n active: item.expanded ? item.expanded : false,\n collapsed: itemComponent.collapsed\n }\"\n (click)=\"collapse(itemComponent, item, $event)\"\n ></li>\n </ng-template>\n </ul>\n </div>\n </div>\n</nav>\n","import {\n Component,\n Input,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { TreeViewNode } from '../models/TreeViewNode';\n\n@Component({\n selector: 'tree-view-node',\n templateUrl: './tree-view-node.component.html',\n styleUrls: ['./tree-view-node.component.css'],\n})\nexport class TreeViewNodeComponent implements OnInit {\n @ViewChildren('node') treeViewProps: QueryList<TreeViewNodeComponent>;\n\n @Input() node: TreeViewNode;\n @Input() hasExpand: boolean;\n\n public expanded: boolean = true;\n\n ngOnInit(): void {\n this.expanded = !this.hasExpand;\n }\n\n public toggleExpand() {\n this.expanded = !this.expanded;\n }\n\n public expandAll(): void {\n if (this.hasExpand) {\n this.expanded = true;\n }\n\n this.treeViewProps.forEach((x) => x.expandAll());\n }\n\n public collapseAll(): void {\n if (this.hasExpand) {\n this.expanded = false;\n }\n\n this.treeViewProps.forEach((x) => x.collapseAll());\n }\n}\n","<span class=\"tree-view-node\">\n <span class=\"bracket\">{{ node.brackets?.inside }}</span>\n <ng-container\n *ngIf=\"node.isPrimitive; then primitiveNode; else baseNode\"\n ></ng-container>\n <span class=\"bracket\">{{ node.brackets?.outside }}</span>\n</span>\n\n<ng-template #primitiveNode>\n <span class=\"tree-view-prop\">\n {{ node.startTag }}\n <span [ngClass]=\"node.nodeType\">\n {{ node.value }}\n </span>\n {{ node.endTag }}\n </span>\n</ng-template>\n\n<ng-template #baseNode>\n <span>\n <em\n [ngClass]=\"\n expanded\n ? 'fa fa-caret-down node-toggler'\n : 'fa fa-caret-right node-toggler'\n \"\n *ngIf=\"hasExpand\"\n (click)=\"toggleExpand()\"\n ></em>\n <span class=\"ellipsis\" *ngIf=\"!expanded && !node.startTag\">...</span>\n <ul [ngClass]=\"!expanded ? 'hidden' : ''\">\n <li class=\"tree-view-prop\" *ngFor=\"let child of node.children\">\n <span class=\"prop-name\">{{ child.startTag }}</span>\n <span *ngIf=\"child.isPrimitive\" [ngClass]=\"child.nodeType\">{{\n child.value\n }}</span>\n <ng-container *ngIf=\"child.isComplex\">\n <tree-view-node\n [node]=\"child\"\n [hasExpand]=\"true\"\n #node\n ></tree-view-node>\n </ng-container>\n <span class=\"prop-name\">{{ child.endTag }}</span>\n </li>\n </ul>\n </span>\n</ng-template>\n","export enum ContentTypesFormat {\n Json = 'json',\n Xml = 'xml',\n Text = 'text',\n}\n","import { IContentResolver } from './IContentResolver';\nimport { ResolverResult } from '../models/ResolverResult';\n\nexport abstract class AbstractContentResolver implements IContentResolver {\n private nextResolver: IContentResolver;\n\n constructor(resolver: IContentResolver) {\n this.nextResolver = resolver;\n }\n\n resolve(data: string): ResolverResult {\n if (this.nextResolver) {\n return this.nextResolver.resolve(data);\n }\n\n return null;\n }\n}\n","export enum TreeViewNodeTypes {\n Object = 'object',\n Array = 'array',\n String = 'string',\n Number = 'number',\n Boolean = 'boolean',\n}\n","import { Brackets } from './Brackets';\nimport { TreeViewNodeTypes } from './TreeViewNodeTypes';\n\nexport class TreeViewNode {\n brackets?: Brackets;\n startTag?: string;\n endTag?: string;\n value?: string | number | boolean | TreeViewNode[] | TreeViewNode;\n nodeType: TreeViewNodeTypes;\n\n get isPrimitive(): boolean {\n return (\n this.nodeType === TreeViewNodeTypes.Number ||\n this.nodeType === TreeViewNodeTypes.String ||\n this.nodeType === TreeViewNodeTypes.Boolean\n );\n }\n\n get isArray(): boolean {\n return this.nodeType === TreeViewNodeTypes.Array;\n }\n\n get isObject(): boolean {\n return this.nodeType === TreeViewNodeTypes.Object;\n }\n\n get isComplex(): boolean {\n return this.isArray || this.isObject;\n }\n\n get children(): TreeViewNode[] {\n return Array.isArray(this.value)\n ? this.value\n : [this.value as TreeViewNode];\n }\n\n constructor(init: Partial<TreeViewNode>) {\n Object.assign(this, init);\n }\n}\n","import { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\n\nexport function getNodeTypeFromKey(key: string): TreeViewNodeTypes {\n return (\n Object.values(TreeViewNodeTypes).find((x) => x === key) ||\n TreeViewNodeTypes.Object\n );\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { getNodeTypeFromKey } from './EnumTypeGetter';\n\nconst objectBrackets = { inside: '{', outside: '}' };\nconst arrayBrackets = { inside: '[', outside: ']' };\n\nexport class JsonConverter {\n public static convert(\n source: object[] | object,\n ): TreeViewNode[] | TreeViewNode {\n if (Array.isArray(source)) {\n return this.convertArray(source);\n }\n\n return this.convertObject(source);\n }\n\n private static convertObject(source: object): TreeViewNode {\n const props: TreeViewNode[] = [];\n for (const name of Object.keys(source)) {\n const value = source[name];\n let propType =\n value !== null\n ? getNodeTypeFromKey(typeof value)\n : TreeViewNodeTypes.String;\n if (Array.isArray(value)) {\n const result = this.convertArray(value);\n const nodeType = Array.isArray(result)\n ? TreeViewNodeTypes.Array\n : TreeViewNodeTypes.Object;\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value: result,\n nodeType,\n brackets: arrayBrackets,\n }),\n );\n\n continue;\n }\n\n if (propType === TreeViewNodeTypes.Object) {\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value: this.convertObject(value),\n nodeType: propType,\n }),\n );\n\n continue;\n }\n\n props.push(\n new TreeViewNode({\n startTag: `${name}: `,\n value,\n nodeType: propType,\n }),\n );\n }\n\n return new TreeViewNode({\n value: props,\n nodeType: TreeViewNodeTypes.Object,\n brackets: objectBrackets,\n });\n }\n\n private static convertArray(source: any[]): TreeViewNode {\n const nodes: TreeViewNode[] = [];\n\n source.forEach((item, index) => {\n if (typeof item !== TreeViewNodeTypes.Object) {\n nodes.push(this.getPrimitive(item, index));\n } else {\n const brackets = Array.isArray(item) ? arrayBrackets : objectBrackets;\n const inside = brackets.inside;\n const outside = brackets.outside;\n nodes.push(\n new TreeViewNode({\n ...this.convertObject(item),\n nodeType: Array.isArray(item)\n ? TreeViewNodeTypes.Array\n : getNodeTypeFromKey(typeof item),\n brackets: {\n inside: `${index}: ${inside}`,\n outside,\n },\n }),\n );\n }\n });\n\n return new TreeViewNode({\n value: [\n new TreeViewNode({\n value: nodes,\n nodeType: TreeViewNodeTypes.Array,\n }),\n ],\n brackets: arrayBrackets,\n nodeType: TreeViewNodeTypes.Array,\n });\n }\n\n private static getPrimitive(\n source: string | number,\n index: string | number,\n ): TreeViewNode {\n const nodeType = getNodeTypeFromKey(typeof source);\n\n return new TreeViewNode({\n startTag: `${index}: `,\n value: source,\n nodeType,\n });\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { JsonConverter } from '../Converters/JsonConverter';\n\nexport class JsonResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n try {\n const json = JSON.parse(data);\n\n return {\n data: JsonConverter.convert(json),\n format: ContentTypesFormat.Json,\n };\n } catch (e) {\n return super.resolve(data);\n }\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\n\nexport class TextConverter {\n public static convert(source: string): TreeViewNode[] | TreeViewNode {\n return new TreeViewNode({\n value: source,\n nodeType: TreeViewNodeTypes.String,\n });\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { TextConverter } from '../Converters/TextConverter';\n\nexport class TextResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n return {\n data: TextConverter.convert(data),\n format: ContentTypesFormat.Text,\n };\n }\n}\n","import { TreeViewNode } from '../../models/TreeViewNode';\nimport { TreeViewNodeTypes } from '../../models/TreeViewNodeTypes';\nimport { getNodeTypeFromKey } from './EnumTypeGetter';\n\nexport class XmlConverter {\n public static convert(source: Document): TreeViewNode[] | TreeViewNode {\n if (source.childElementCount > 1) {\n return this.convertObject(source.childNodes);\n }\n\n return new TreeViewNode({\n value: [this.convertProp(source.children[0])],\n nodeType: TreeViewNodeTypes.Array,\n });\n }\n\n private static convertProp(source: any): TreeViewNode {\n const name: string = source.tagName;\n let value: TreeViewNode[] | string;\n let nodeType: TreeViewNodeTypes;\n if (source.childElementCount > 0) {\n value = this.convertObject(source.children);\n nodeType = TreeViewNodeTypes.Array;\n } else {\n value = source.textContent;\n nodeType = getNodeTypeFromKey(typeof value);\n }\n\n return new TreeViewNode({\n startTag: `<${name}>`,\n endTag: `</${name}>`,\n value,\n nodeType,\n });\n }\n\n private static convertObject(childs: any): TreeViewNode[] {\n const nodes = Array<TreeViewNode>();\n for (const item of childs) {\n nodes.push(this.convertProp(item));\n }\n\n return nodes;\n }\n}\n","import { ContentTypesFormat } from '../../models/ContentTypesFormat';\nimport { ResolverResult } from '../../models/ResolverResult';\nimport { AbstractContentResolver } from '../AbstractContentResolver';\nimport { XmlConverter } from '../Converters/XmlConverter';\n\nexport class XmlResolver extends AbstractContentResolver {\n public resolve(data: string): ResolverResult {\n if (!this.isValidXMLOrHtmlDocument(data)) {\n return super.resolve(data);\n }\n\n try {\n const oParser = new DOMParser();\n const oDOM = oParser.parseFromString(data, 'text/xml');\n\n if (\n oDOM.childElementCount > 0 &&\n oDOM.getElementsByTagName('parsererror').length === 0\n ) {\n return {\n data: XmlConverter.convert(oDOM),\n format: ContentTypesFormat.Xml,\n };\n }\n } catch (e) {}\n\n return super.resolve(data);\n }\n\n private isValidXMLOrHtmlDocument(data: string): boolean {\n return data.trim().startsWith('<');\n }\n}\n","import { ResolverResult } from '../models/ResolverResult';\nimport { AbstractContentResolver } from './AbstractContentResolver';\nimport { JsonResolver } from './Resolvers/JsonResolver';\nimport { TextResolver } from './Resolvers/TextResolver';\nimport { XmlResolver } from './Resolvers/XmlResolver';\n\nexport class ContentResolver {\n private chain: AbstractContentResolver;\n\n constructor() {\n this.chain = new JsonResolver(new XmlResolver(new TextResolver(null)));\n }\n\n public resolve(data: string): ResolverResult {\n return this.chain.resolve(data);\n }\n}\n","import { IPrettifier } from './IPrettifier';\n\nexport class TextPrettifier implements IPrettifier {\n prettify(data: string): string {\n return data;\n }\n}\n","import { IPrettifier } from './IPrettifier';\nimport XmlBeautify from 'xml-beautify';\n\nexport class XmlPrettifier implements IPrettifier {\n prettify(data: string): string {\n data = data.replace(/\\s*\\</g, '<');\n\n return new XmlBeautify().beautify(data, {\n collapseContent: true,\n });\n }\n}\n","import { IPrettifier } from './IPrettifier';\n\nexport class JsonPrettifier implements IPrettifier {\n prettify(data: string): string {\n return JSON.stringify(JSON.parse(data), null, 2);\n }\n}\n","import { TextPrettifier } from './TextPrettifier';\nimport { XmlPrettifier } from './XMLPrettifier';\nimport { JsonPrettifier } from './JsonPrettifier';\nimport { ContentTypesFormat } from '../models/ContentTypesFormat';\nimport { IPrettifier } from './IPrettifier';\n\nexport class PrettifierFactory {\n public static Create(format: ContentTypesFormat): IPrettifier {\n switch (format) {\n case ContentTypesFormat.Json:\n return new JsonPrettifier();\n case ContentTypesFormat.Xml:\n return new XmlPrettifier();\n default:\n return new TextPrettifier();\n }\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { ContentResolver } from './ContentResolver/ContentResolver';\nimport { ContentTypesFormat } from './models/ContentTypesFormat';\nimport { ResolverResult } from './models/ResolverResult';\nimport { TreeViewNode } from './models/TreeViewNode';\nimport { PrettifierFactory } from './Prettifiers/PrettifierFactory';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n})\nexport class TreeViewComponent implements OnChanges {\n @ViewChildren('node') treeViewNodes: QueryList<TreeViewNodeComponent>;\n\n @Input() data: string;\n @Input() maxTextLength: number = 1200;\n @Input() maxRootItems: number = 10;\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public ContentTypesFormat = ContentTypesFormat;\n\n public get IsArray(): boolean {\n return this.data ? Array.isArray(this.resolved.data) : false;\n }\n\n public get hasCollapse(): boolean {\n if (!this.data) {\n return false;\n }\n\n return this.resolved.format === ContentTypesFormat.Text\n ? this.hasTextCollapse()\n : this.hasNodeCollapse();\n }\n\n public get format(): ContentTypesFormat {\n return !this.rawView ? this.resolved.format : ContentTypesFormat.Text;\n }\n\n constructor(private clipboardService: ClipboardService) {}\n\n ngOnChanges(): void {\n const contentResolver = new ContentResolver();\n this.allShow = false;\n this.rawView = false;\n this.resolved = contentResolver.resolve(this.data);\n this.collapsed = this.hasCollapse;\n }\n\n public expandToggle(): void {\n this.collapsed = !this.collapsed;\n }\n\n public toggleExpandAll() {\n if (this.allShow) {\n this.treeViewNodes.forEach((x) => x.collapseAll());\n } else {\n this.treeViewNodes.forEach((x) => x.expandAll());\n }\n\n this.collapsed = this.hasCollapse ? this.allShow : false;\n this.allShow = !this.allShow;\n }\n\n public toggleRawView() {\n this.rawView = !this.rawView;\n }\n\n public copyToClipboard() {\n this.clipboardService.copy(this.data);\n }\n\n public prettyCopyToClipboard() {\n this.clipboardService.copy(\n PrettifierFactory.Create(this.format).prettify(this.data),\n );\n }\n\n private hasTextCollapse(): boolean {\n return this.data.length > this.maxTextLength;\n }\n\n private hasNodeCollapse(): boolean {\n if (!Array.isArray(this.resolved.data)) {\n return (\n (this.resolved.data.value as TreeViewNode[]).length > this.maxRootItems\n );\n }\n\n return false;\n }\n}\n","<div\n class=\"tree-view\"\n [ngClass]=\"collapsed ? 'collapsed' : 'expanded'\"\n [class]=\"format\"\n *ngIf=\"data\"\n>\n <ng-container *ngIf=\"format != ContentTypesFormat.Text; else textFormat\">\n <div>\n <ng-container *ngTemplateOutlet=\"defaultActions\"></ng-container>\n </div>\n <div [ngClass]=\"allShow ? 'show-all tree-view-body' : 'tree-view-body'\">\n <ng-container *ngIf=\"IsArray; then arrayNode; else singleNode\">\n </ng-container>\n <ng-template #singleNode>\n <tree-view-node [node]=\"resolved.data\" #node> </tree-view-node>\n </ng-template>\n\n <ng-template #arrayNode>\n <tree-view-node\n *ngFor=\"let node of resolved.data\"\n [node]=\"node\"\n [hasExpand]=\"true\"\n class=\"array-node\"\n #node\n >\n </tree-view-node>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n (click)=\"toggleExpandAll()\"\n *ngIf=\"resolved.format !== ContentTypesFormat.Text\"\n [disabled]=\"rawView\"\n class=\"tree-view-action\"\n title=\"{{\n (collapsed ? 'TreeViewMessages.Expand' : 'TreeViewMessages.Collapse')\n | translate\n }}\"\n >\n <i [ngClass]=\"allShow ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </button>\n <button\n (click)=\"copyToClipboard()\"\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.CopyToClipboard' | translate }}\"\n >\n <i class=\"fa fa-clipboard\"></i>\n </button>\n <button\n (click)=\"prettyCopyToClipboard()\"\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.PrettyCopyToClipboard' | translate }}\"\n >\n <i class=\"fa fa-magic\"></i>\n </button>\n <button\n (click)=\"toggleRawView()\"\n class=\"tree-view-action\"\n [ngClass]=\"rawView ? 'pressed' : ''\"\n *ngIf=\"resolved.format !== ContentTypesFormat.Text\"\n title=\"{{\n (rawView\n ? 'TreeViewMessages.ToJsonView'\n : 'TreeViewMessages.ToFormattedView'\n ) | translate\n }}\"\n >\n <i class=\"fa fa-file-text-o\"></i>\n </button>\n </ng-template>\n\n <ng-template #textFormat>\n <ng-container *ngTemplateOutlet=\"defaultActions\"> </ng-container>\n <pre class=\"text-view tree-view-body\">{{ data }}</pre>\n </ng-template>\n <div *ngIf=\"hasCollapse\">\n <button (click)=\"expandToggle()\" class=\"expand-toggler\">\n <i\n class=\"fa\"\n [ngClass]=\"\n collapsed ? 'fa-chevron-circle-down' : 'fa-chevron-circle-up'\n \"\n ></i>\n </button>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport {\n TranslateLoader,\n TranslateModule,\n TranslateStore,\n} from '@ngx-translate/core';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport { Observable, of } from 'rxjs';\nimport { DebounceDirective } from './forms/directives/debounce.directive';\nimport { FieldInputModule } from './forms/widgets/field/field-input/field-input.module';\nimport { GeneralErrorsComponent } from './forms/widgets/general-errors/general-errors.component';\nimport { AppSettings } from './models/AppSettings';\nimport { IndiginaConfiguration } from './models/IndiginaConfiguration';\nimport { LocaleSettingsService } from './services/locale-settings.service';\nimport { MenuItemGroupComponent } from './widgets/side-menu/menu-item-group/menu-item-group.component';\nimport { SideMenuComponent } from './widgets/side-menu/side-menu.component';\nimport { TreeViewNodeComponent } from './widgets/tree-view/tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './widgets/tree-view/tree-view.component';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<object> {\n return of({});\n },\n },\n appSettings: {\n accountUrl: '',\n apiUrl: '',\n toastrTimeOut: 2500,\n azureB2C: {\n clientId: '',\n authority: '',\n knownAuthorities: [''],\n },\n },\n};\n\n@NgModule({\n declarations: [\n SideMenuComponent,\n MenuItemGroupComponent,\n TreeViewComponent,\n TreeViewNodeComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n TranslateModule.forChild({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [IndiginaConfiguration, HttpClient],\n },\n }),\n LoadingBarHttpClientModule,\n CommonModule,\n RouterModule,\n ReactiveFormsModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n FieldInputModule,\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n ],\n exports: [\n SideMenuComponent,\n TreeViewComponent,\n DebounceDirective,\n GeneralErrorsComponent,\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n BrowserAnimationsModule,\n FieldInputModule,\n ],\n})\nexport class IndiginaModule {\n public static forRoot(\n configuration: IndiginaConfiguration,\n ): ModuleWithProviders<IndiginaModule> {\n return {\n ngModule: IndiginaModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: LocaleServiceSettingsFactory,\n multi: true,\n deps: [LocaleSettingsService],\n },\n {\n provide: IndiginaConfiguration,\n useValue: configuration ? configuration : defaultConfig,\n },\n ],\n };\n }\n}\n\nexport function LocaleServiceSettingsFactory(\n localeService: LocaleSettingsService,\n) {\n return function (): void {\n localeService.init();\n };\n}\n\nexport function TranslateLoaderFactory(\n configuration: IndiginaConfiguration,\n): TranslateLoader {\n return configuration.langs;\n}\n\nexport function AppSettingsFactory(\n configuration: IndiginaConfiguration,\n): AppSettings | null {\n return configuration.appSettings;\n}\n","import { IEntityEndpoints } from './IEntityEndpoints';\nimport { State, toODataString } from '@progress/kendo-data-query';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { IActivityEndpoints } from './IActivityEndpoints';\n\nexport const endpoints = {\n signalr: {\n eventsHub: 'EventsHub',\n },\n oidc: {\n config: 'oidc/config',\n },\n members: {\n me: 'members/me',\n },\n admins: {\n ...buildEntityEndpoints('admins'),\n roles: {\n ...buildEntityEndpoints('admins/roles'),\n },\n },\n system: {\n info: 'system/info',\n },\n firstUser: 'admins/first',\n partners: buildEntityEndpoints('partners'),\n permissions: {\n all: (type: MemberTypes) => `permissions/${type}s`,\n member: (id: string) => `permissions/${id}`,\n mine: 'permissions/me',\n },\n users: {\n ...buildEntityEndpoints('users'),\n roles: {\n ...buildEntityEndpoints('users/roles'),\n },\n },\n apiTokens: buildEntityEndpoints('apiTokens'),\n};\n\nconst guidFormat = /'((\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1})'/g;\nexport function buildEntityEndpoints(name: string): IEntityEndpoints {\n return {\n path: name,\n query: (state: State) =>\n `${name}?${toODataString(state, { utcDates: true }).replace(\n guidFormat,\n '$1',\n )}`,\n entityPath: (id: string) => `${name}/${id}`,\n };\n}\nexport function buildActivityEndpoints(name: string): IActivityEndpoints {\n return {\n query: (state: State) =>\n `activities/${name}?${toODataString(state, {\n utcDates: true,\n }).replace(guidFormat, '$1')}`,\n search: (state: State, searchTerm: string) => {\n let uri = `activities/${name}/search?${toODataString(state, {\n utcDates: true,\n })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) =>\n partnerId\n ? `activities/${name}/${id}/${partnerId}`\n : `activities/${name}/${id}`,\n };\n}\n","export enum EventNames {\n UserUpdated = 'userUpdated',\n PermissionsUpdated = 'permissionsUpdated',\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { AuthProvider } from './auth.providers/AuthProvider';\nimport { endpoints } from './endpoints';\nimport { EventNames } from './signalr/EventNames';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminUriPart = '/admin/';\n\nexport abstract class BaseAccountService<T> {\n public user = new BehaviorSubject<T>(null);\n\n constructor(\n public resolver: AuthProviderResolver,\n protected httpService: HttpService,\n protected settingsService: SettingsService,\n protected signalRService: SignalRService,\n ) {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n this.initialize(provider);\n }),\n )\n .subscribe();\n }\n\n login() {\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.login();\n }),\n )\n .subscribe();\n }\n\n logout() {\n this.settingsService.clearLoginAsUser();\n this.resolver\n .getProvider()\n .pipe(\n map((provider) => {\n provider.logout();\n }),\n )\n .subscribe();\n }\n\n private initialize(provider: AuthProvider) {\n this.getCurrentUser().subscribe((user) => {\n if (!user) {\n return;\n }\n\n const path = this.settingsService.getCallbackPath();\n if (path) {\n this.settingsService.clearCallbackPath();\n window.location.href = window.location.origin + path;\n\n return;\n }\n\n if (\n this.isAdmin(user) &&\n !window.location.pathname.startsWith(adminUriPart)\n ) {\n window.location.href = `${window.location.origin}${adminUriPart}`;\n\n return;\n }\n\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.startConnection(token);\n this.signalRService\n .on<T>(EventNames.UserUpdated)\n .subscribe(async () => {\n provider.getAccessToken().subscribe((token) => {\n this.signalRService.reconnect(token);\n });\n this.httpService\n .get<T>(endpoints.members.me)\n .subscribe((user) => this.user.next(user));\n });\n });\n });\n }\n\n getCurrentUser(): Observable<T> {\n return this.resolver.getProvider().pipe(\n mergeMap((provider) => {\n if (this.user.getValue() || !provider.isUserLoggedIn()) {\n return this.user;\n }\n\n return provider.getAccessToken().pipe(\n mergeMap(() => {\n return this.httpService.get(endpoints.members.me).pipe(\n map((user: T) => {\n this.user.next(user);\n\n return user;\n }),\n );\n }),\n );\n }),\n );\n }\n\n public isUserLoggedIn(): Observable<boolean> {\n return this.resolver\n .getProvider()\n .pipe(map((provider) => provider.isUserLoggedIn()));\n }\n\n public abstract isAdmin(member: T): boolean;\n}\n","import { ISubscriptionControl } from './ISubscriptionControl';\nimport { Observable, Subscription } from 'rxjs';\n\nexport class ReEntrySubscription<T> implements ISubscriptionControl {\n private subscription: Subscription;\n\n constructor(\n private observable: Observable<T>,\n private action: (event: T) => void,\n ) {}\n\n public get connected(): boolean {\n return !this.subscription.closed;\n }\n\n public resume(): void {\n this.subscription = this.observable.subscribe(this.action);\n }\n\n public pause(): void {\n this.subscription.unsubscribe();\n }\n}\n","import {\n AbstractControl,\n AbstractControlOptions,\n AsyncValidatorFn,\n UntypedFormGroup,\n ValidatorFn,\n UntypedFormControl,\n} from '@angular/forms';\n\nexport class FormGroupWithErrors extends UntypedFormGroup {\n generalErrors: string[] = [];\n\n constructor(\n controls: Record<string, AbstractControl>,\n validatorOrOpts?:\n | ValidatorFn\n | ValidatorFn[]\n | AbstractControlOptions\n | null,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null,\n ) {\n super(controls, validatorOrOpts, asyncValidator);\n }\n\n public getControl(name: string): AbstractControl {\n if (!this.contains(name)) {\n this.addControl(name, new UntypedFormControl({}));\n }\n\n return this.get(name);\n }\n\n public applyServerErrors(\n error: { title?: string; errors: Record<string, string[]> },\n form?: FormGroupWithErrors,\n ): void {\n this.generalErrors = [];\n if (error.title) {\n this.generalErrors.push(error.title);\n }\n\n if (!form) {\n form = this;\n }\n\n for (const key in error.errors) {\n const ctrl = form.controls[key];\n if (ctrl) {\n ctrl.setErrors({ serverErrorMsg: error.errors[key].join(',') });\n } else {\n this.generalErrors.push(error.errors[key].join(','));\n }\n }\n }\n}\n","export enum HttpCodes {\n BadRequest = 400,\n Forbidden = 403,\n InternalServerError = 500,\n NotFound = 404,\n OK = 200,\n Unauthorized = 401,\n}\n","import { NamedModel } from './NamedModel';\n\nexport const HttpMethods: NamedModel[] = [\n { name: 'POST', id: 'POST' },\n { name: 'PUT', id: 'PUT' },\n { name: 'GET', id: 'GET' },\n { name: 'DELETE', id: 'DELETE' },\n];\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AppSettings } from '../models/AppSettings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppToastrService {\n constructor(\n private toastr: ToastrService,\n private appSettings: AppSettings,\n ) {}\n\n private timeout = this.appSettings.toastrTimeOut;\n\n public showError(message: string, title: string = 'Error'): void {\n this.toastr.error(message, title, { timeOut: this.timeout });\n }\n\n public showSuccess(message: string, title: string = ''): void {\n this.toastr.success(message, title, { timeOut: this.timeout });\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst callbackPathKey = 'callbackPath';\nconst homePath = '/home';\nconst loginAsKey = 'X-User-Id';\nconst tokenKey = 'access_token';\n\n@Injectable({ providedIn: 'root' })\nexport class SettingsService {\n public putCurrentCallbackPath() {\n this.putCallbackPath(window.location.pathname + window.location.hash);\n }\n\n public putCallbackPath(pathUri: string): void {\n if (!this.getCallbackPath() && pathUri !== homePath) {\n localStorage.setItem(callbackPathKey, pathUri);\n }\n }\n\n public getCallbackPath(): string {\n return localStorage.getItem(callbackPathKey);\n }\n\n public clearCallbackPath(): void {\n localStorage.removeItem(callbackPathKey);\n }\n\n public setLoginAsUser(id: string): void {\n localStorage.setItem(loginAsKey, id);\n }\n\n public getLoginAsUser(): string {\n return localStorage.getItem(loginAsKey);\n }\n\n public clearLoginAsUser(): void {\n localStorage.removeItem(loginAsKey);\n }\n\n public clearToken(): void {\n localStorage.removeItem(tokenKey);\n }\n\n public setToken(token: string) {\n localStorage.setItem(tokenKey, token);\n }\n\n public getToken(): string {\n return localStorage.getItem(tokenKey);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, of, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppSettings } from '../models/AppSettings';\nimport { CustomHttpErrorResponse } from '../models/CustomHttpErrorResponse';\nimport { HttpCodes } from '../models/HttpCodes';\nimport { SettingsService } from './settings.service';\nimport { AppToastrService } from './toastr.service';\n\nconst absoluteUrlRegExp = /^http(s)?:\\/\\//;\nconst slash = '/';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n constructor(\n private appToastrService: AppToastrService,\n private httpClient: HttpClient,\n private appSettings: AppSettings,\n private translate: TranslateService,\n private router: Router,\n private settingsService: SettingsService,\n ) {}\n\n get<T>(path: string): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err),\n ),\n );\n }\n\n delete(path: string): Observable<object> {\n return this.httpClient.delete(this.createUrl(path)).pipe(\n tap(() => this.showSuccessMessage('ToastrMessages.RemovedSuccessfully')),\n catchError((err: CustomHttpErrorResponse) => this.handleServerError(err)),\n );\n }\n\n post<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null,\n ): Observable<T> {\n return this.httpClient.post<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n ),\n ),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n put<T>(\n path: string,\n data: T,\n successTranslateMessage: string = null,\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() =>\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n ),\n ),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n private createUrl(path: string): string {\n if (absoluteUrlRegExp.test(path)) {\n return path;\n }\n\n path = path.startsWith(slash) ? path.slice(1) : path;\n const apiUrl = this.appSettings.apiUrl.endsWith(slash)\n ? this.appSettings.apiUrl\n : this.appSettings.apiUrl + slash;\n\n return apiUrl + path;\n }\n\n private handleServerError(error: CustomHttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n this.appToastrService.showError(\n 'An error occurred: ' + error.error.message,\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Unauthorized) {\n this.settingsService.putCurrentCallbackPath();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Unauthorized'),\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.Forbidden) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.Forbidden'),\n );\n this.router.navigate(['forbidden']);\n\n return of(null);\n }\n\n if (error.status === HttpCodes.NotFound) {\n if (this.settingsService.getLoginAsUser()) {\n this.settingsService.clearLoginAsUser();\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.CanNotLoginAsUser'),\n );\n setTimeout(() => {\n window.location.href = '/';\n }, 1000);\n }\n\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.NotFound'),\n );\n\n return of(null);\n }\n\n if (error.status >= HttpCodes.InternalServerError) {\n this.appToastrService.showError(\n this.translate.instant('ToastrMessages.ServerError') + error.error.title,\n );\n\n return of(null);\n }\n\n return throwError(error);\n }\n\n private showSuccessMessage(message: string) {\n this.appToastrService.showSuccess(this.translate.instant(message));\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ISubscriptionControl } from '../../extensions/ISubscriptionControl';\n\n@Component({\n selector: 'live-updates-control',\n styleUrls: ['./live-updates-control.component.css'],\n templateUrl: './live-updates-control.component.html',\n})\nexport class LiveUpdatesControlComponent implements OnInit {\n @Input() subscription: ISubscriptionControl;\n\n ngOnInit(): void {\n this.subscription.resume();\n }\n\n public toggle(): void {\n this.subscription.connected\n ? this.subscription.pause()\n : this.subscription.resume();\n }\n}\n","<button (click)=\"toggle()\" class=\"k-button\">\n <em [ngClass]=\"subscription.connected ? 'fa fa-pause' : 'fa fa-play'\"></em>\n {{\n (subscription.connected ? 'LiveFeed.Pause' : 'LiveFeed.Resume') | translate\n }}\n</button>\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Observable<boolean>;\n public abstract login();\n public abstract logout();\n public abstract isUserLoggedIn(): boolean;\n public abstract getAccessToken(): Observable<string>;\n}\n","import { MsalService } from '@azure/msal-angular';\nimport { InteractionRequiredAuthError } from '@azure/msal-browser';\nimport { from, Observable, of } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\n\nexport class AzureB2CProvider extends AuthProvider {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private indiginaConfiguration: IndiginaConfiguration,\n ) {\n super();\n }\n\n public initialize(): Observable<boolean> {\n return of(true);\n }\n\n public login() {\n this.authService.handleRedirectObservable().subscribe();\n if (!this.isUserLoggedIn()) {\n this.authService.loginRedirect().subscribe();\n }\n }\n\n public logout() {\n this.settingsService.clearToken();\n this.authService.logoutRedirect({\n postLogoutRedirectUri: this.indiginaConfiguration.appSettings.azureB2C.logoutRedirectUri,\n });\n }\n\n public getAccessToken(): Observable<string> {\n const request = {\n scopes: ['openid', 'offline_access', 'profile'],\n };\n\n return from(\n this.authService.instance\n .acquireTokenSilent(request)\n .then((authenticationResult) => {\n const token = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n })\n .catch(async (error) => {\n if (error instanceof InteractionRequiredAuthError) {\n await this.authService.instance.acquireTokenRedirect(request);\n\n return this.settingsService.getToken();\n }\n }),\n );\n }\n\n public isUserLoggedIn = (): boolean =>\n !!this.authService.instance.getActiveAccount()?.localAccountId;\n}\n","import { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { AuthProvider } from '../services/auth.providers/AuthProvider';\nimport { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';\nimport { IndiginaConfiguration } from './../angular/models/IndiginaConfiguration';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthProviderResolver {\n private AuthProvider$ = new BehaviorSubject<AuthProvider>(null);\n\n constructor(\n msalService: MsalService,\n settingsService: SettingsService,\n indiginaConfiguration: IndiginaConfiguration,\n )\n {\n const provider = new AzureB2CProvider(msalService, settingsService, indiginaConfiguration);\n provider.initialize().subscribe(() => this.AuthProvider$.next(provider));\n }\n\n public getProvider = (): Observable<AuthProvider> =>\n this.AuthProvider$.pipe(filter((x) => !!x));\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport * as signalR from '@microsoft/signalr';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { endpoints } from '../endpoints';\n\n@Injectable({ providedIn: 'root' })\nexport class SignalRService {\n protected isConnectionEstablished = false;\n protected hubConnection: signalR.HubConnection;\n private eventEmitters: Record<string, EventEmitter<any>> = {};\n\n constructor(private appSettings: AppSettings) {}\n\n private createConnection(token: string) {\n this.hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.appSettings.apiUrl + endpoints.signalr.eventsHub, {\n accessTokenFactory: () => {\n return token;\n },\n })\n .configureLogging(\n this.appSettings.signalRLogLevel ?? signalR.LogLevel.None,\n )\n .build();\n\n this.hubConnection.onclose((err?) => {\n if (err !== undefined) {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n }\n });\n }\n\n public startConnection(token: string): void {\n if (!this.isConnectionEstablished) {\n this.createConnection(token);\n this.hubConnection\n .start()\n .then(() => {\n this.isConnectionEstablished = true;\n Object.keys(this.eventEmitters).forEach((eventName) => {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n });\n })\n .catch(() => {\n console.warn('Error while establishing connection, retrying...');\n setTimeout(() => this.startConnection(token), 5000);\n });\n }\n }\n\n public reconnect(token: string) {\n if (this.isConnectionEstablished) {\n this.hubConnection.stop().then(() => {\n this.isConnectionEstablished = false;\n this.startConnection(token);\n });\n }\n }\n\n public on<T>(eventName: string): EventEmitter<T> {\n if (!this.eventEmitters[eventName]) {\n this.eventEmitters[eventName] = new EventEmitter<T>();\n if (this.hubConnection) {\n this.hubConnection.on(eventName, (model) => {\n this.eventEmitters[eventName].emit(model);\n });\n }\n }\n\n return this.eventEmitters[eventName] as EventEmitter<T>;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpService } from '../angular/services/http.service';\nimport { SettingsService } from '../angular/services/settings.service';\nimport { Member } from '../models/Member';\nimport { AuthProviderResolver } from './auth-provider.resolver';\nimport { BaseAccountService } from './base.account.service';\nimport { SignalRService } from './signalr/signalr.service';\n\nconst adminKey = 'Admin';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountService extends BaseAccountService<Member> {\n constructor(\n public resolver: AuthProviderResolver,\n httpService: HttpService,\n settingsService: SettingsService,\n signalRService: SignalRService,\n ) {\n super(resolver, httpService, settingsService, signalRService);\n }\n\n public isAdmin = (member: Member): boolean =>\n member?.type === adminKey ?? false;\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { Language } from '../../angular/models/Language';\nimport { LocaleSettingsService } from '../../angular/services/locale-settings.service';\n\n@Component({\n selector: 'language-selector',\n templateUrl: './language-selector.component.html',\n styleUrls: ['./language-selector.component.css'],\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange = new EventEmitter<boolean>();\n currentLanguageCode = '';\n languages: Language[];\n\n constructor(\n private eref: ElementRef,\n private settings: LocaleSettingsService\n ) {\n this.currentLanguageCode = this.settings.getLocale();\n this.languages = this.settings.getLocales();\n }\n\n async changeLanguage(code: string) {\n this.currentLanguageCode = code;\n this.settings.setLocale(this.currentLanguageCode);\n this.close();\n }\n\n close(): void {\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","<kendo-window\n *ngIf=\"visible\"\n class=\"language-selector\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n>\n <kendo-window-titlebar>\n <div>{{ 'ChangeLanguage' | translate }}</div>\n <button kendoWindowCloseAction (click)=\"close()\"></button>\n </kendo-window-titlebar>\n <div class=\"languages\" *ngIf=\"languages\">\n <div *ngFor=\"let language of languages\" class=\"language-change-action\">\n <button class=\"btn\" (click)=\"changeLanguage(language.code)\">\n <span\n *ngIf=\"currentLanguageCode == language.code\"\n class=\"fa fa-check\"\n aria-hidden=\"true\"\n ></span>\n {{ language.name }}\n </button>\n </div>\n </div>\n</kendo-window>\n","import {\n Component,\n Input,\n HostListener,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AppSettings } from '../../angular/models/AppSettings';\nimport { Member } from '../../models/Member';\nimport { AccountService } from '../../services/account.service';\nimport { AccountMenuItem } from './AccountMenuItem';\n\n@Component({\n selector: 'account-menu',\n templateUrl: './account-menu.component.html',\n styleUrls: ['./account-menu.component.scss'],\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n @Input() menuItems: AccountMenuItem[];\n expand = false;\n languageSelectorVisible = false;\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings\n ) {}\n\n get fullName(): string {\n return `${this.user?.firstName} ${this.user?.lastName}`;\n }\n\n get accountUrl(): string {\n return this.appSettings.accountUrl;\n }\n\n toogle(): void {\n this.expand = !this.expand;\n }\n\n logout(): void {\n this.accountService.logout();\n }\n\n openLanguageSelector(event: MouseEvent): void {\n event.stopPropagation();\n this.toogle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any) {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toogle();\n }\n }\n}\n","<div class=\"profile-img left\" id=\"accountMenu\">\n <div #accountMenuElement title=\"User Account\" (click)=\"toogle()\">\n <img alt=\"image\" class=\"img-circle top-bar-profile left\" />\n </div>\n <kendo-popup\n *ngIf=\"expand\"\n [anchor]=\"accountMenu\"\n popupClass=\"k-widget dropdown open\"\n >\n <ul class=\"dropdown-menu top-bar-dropdown animated fadeInLeft\">\n <li class=\"top-bar-header-row media\">\n <div class=\"media-left\">\n <img alt=\"image\" class=\"img-circle\" />\n </div>\n <div class=\"media-body\">\n <span class=\"left fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"left pad5left\">{{ fullName }}</span>\n </div>\n </li>\n <li class=\"pad5top\">\n <a (click)=\"openLanguageSelector($event)\" data-icon=\"globe\">{{\n 'ChangeLanguage' | translate\n }}</a>\n </li>\n <li>\n <a [href]=\"accountUrl\" data-icon=\"desktop\" translate=\"Account\"></a>\n </li>\n <li *ngFor=\"let menuItem of menuItems\">\n <a\n [href]=\"menuItem.link\"\n [attr.data-icon]=\"menuItem.iconClass\"\n >{{ menuItem.text | translate }}</a>\n </li>\n <li>\n <a translate=\"Logout\" data-icon=\"sign-out\" (click)=\"logout()\"></a>\n </li>\n </ul>\n </kendo-popup>\n\n <language-selector [(visible)]=\"languageSelectorVisible\"></language-selector>\n</div>\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n constructor(\n private authService: MsalService,\n private settingsService: SettingsService,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.authService.handleRedirectObservable().subscribe(\n (result: AuthenticationResult) => {\n if (result) {\n this.settingsService.setToken(result.idToken);\n this.authService.instance.setActiveAccount(result.account);\n }\n\n this.router.navigate(['home']);\n },\n (error) => {\n if (error.errorMessage.includes(resetPasswordCanceledErrorCode)) {\n this.router.navigate(['home']);\n }\n }\n );\n }\n\n public logout() {\n this.authService.logout();\n }\n}\n","import {\n BrowserCacheLocation,\n Configuration,\n IPublicClientApplication,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\n\nconst isIE =\n window.navigator.userAgent.includes('MSIE ') ||\n window.navigator.userAgent.includes('Trident/');\n\nexport const MSALInstanceFactory = (\n config: IndiginaConfiguration,\n): IPublicClientApplication => {\n const defaultRedirectUri: string = `${window.location.origin}/azure/login/callback`;\n const msalConfig: Configuration = {\n auth: {\n clientId: config.appSettings.azureB2C.clientId,\n authority: config.appSettings.azureB2C.authority,\n knownAuthorities: config.appSettings.azureB2C.knownAuthorities,\n redirectUri: config.appSettings.azureB2C.redirectUri || defaultRedirectUri,\n postLogoutRedirectUri: config.appSettings.azureB2C.logoutRedirectUri || window.location.origin,\n navigateToLoginRequestUrl: false,\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE,\n },\n system: {\n loggerOptions: {\n loggerCallback: () => {},\n piiLoggingEnabled: false,\n },\n },\n };\n\n return new PublicClientApplication(msalConfig);\n};\n","import { endpoints } from './endpoints';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { MemberTypes } from '../models/MemberTypes';\nimport { Permissions } from './../models/Permissions';\nimport { HttpService } from '../angular/services/http.service';\nimport { SignalRService } from './signalr/signalr.service';\nimport { EventNames } from './signalr/EventNames';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class PermissionsService {\n private loaded = false;\n public mine = new BehaviorSubject<Permissions>({});\n\n constructor(\n private httpService: HttpService,\n private accountService: AccountService,\n private signalRService: SignalRService,\n ) {\n this.accountService.user.subscribe(async (user) => {\n if (!user) {\n this.mine.next({});\n\n return;\n }\n\n this.httpService\n .get<Permissions>(endpoints.permissions.mine)\n .subscribe((permissions) => {\n this.mine.next(permissions);\n this.loaded = true;\n this.signalRService\n .on<string>(EventNames.PermissionsUpdated)\n .subscribe(() => {\n this.getPermissionsFromServer().subscribe();\n });\n });\n });\n }\n\n public getAll(memberType: MemberTypes): Observable<Permissions> {\n return this.httpService.get<Permissions>(\n endpoints.permissions.all(memberType),\n );\n }\n\n public getMine(): Observable<Permissions> {\n if (this.loaded) {\n return this.mine;\n }\n\n return this.getPermissionsFromServer();\n }\n\n private getPermissionsFromServer(): Observable<Permissions> {\n return this.httpService.get<Permissions>(endpoints.permissions.mine).pipe(\n map((permissions) => {\n this.mine.next(permissions);\n\n return permissions;\n }),\n );\n }\n}\n","import { Directive, Input, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../models/PermissionTypes';\nimport { PermissionsService } from '../services/permissions.service';\n\nconst hiddenClass = 'hidden';\n\n@Directive({\n selector: '[requirePermission]',\n})\nexport class RequirePermissionDirective implements OnInit {\n @Input()\n permissionType: PermissionTypes | PermissionTypes[];\n @Input()\n permissionCategory?: string;\n\n constructor(\n private elementRef: ElementRef,\n private route: ActivatedRoute,\n private permissionsService: PermissionsService,\n private renderer: Renderer2,\n ) {}\n\n ngOnInit(): void {\n this.hide();\n const category = this.permissionCategory\n ? this.permissionCategory\n : this.getRouteCategory(this.route);\n\n if (!category) {\n this.show();\n\n return;\n }\n\n this.permissionsService.mine.subscribe((permissions) => {\n const hasAccess =\n permissions[category] && this.hasType(permissions[category]);\n if (hasAccess) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n private hide() {\n this.renderer.addClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private show() {\n this.renderer.removeClass(this.elementRef.nativeElement, hiddenClass);\n }\n\n private hasType(types: PermissionTypes[]) {\n return Array.isArray(this.permissionType)\n ? types.map((x) => this.permissionType.includes(x)).some((x) => x)\n : types.includes(this.permissionType);\n }\n\n private getRouteCategory(route: ActivatedRoute): string {\n const routeData = route.snapshot.data;\n if (routeData && routeData.permission) {\n return routeData.permission.category;\n }\n\n if (this.route.parent) {\n return this.getRouteCategory(this.route.parent);\n }\n\n return null;\n }\n}\n","import { IEntityService } from './IEntityService';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { Observable } from 'rxjs';\nimport { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpService } from '../angular/services/http.service';\nimport { UrlParams } from './url-params.model';\n\nexport abstract class EntityService<T extends IdentifiedModel>\n implements IEntityService<T>\n{\n constructor(\n protected httpService: HttpService,\n protected endpoints: IEntityEndpoints,\n ) {}\n\n getPage(state: State, urlParams?: UrlParams): Observable<Page<T>> {\n return this.httpService.get<Page<T>>(\n applyUrlParams(this.endpoints.query(state), urlParams),\n );\n }\n\n get(id: string, urlParams?: UrlParams): Observable<T> {\n return this.httpService.get<T>(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n );\n }\n\n delete(id: string, urlParams?: UrlParams): Observable<object> {\n return this.httpService.delete(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n );\n }\n\n save(model: T, urlParams?: UrlParams): Observable<T> {\n if (model.id) {\n return this.httpService.put(\n applyUrlParams(this.endpoints.entityPath(model.id), urlParams),\n model,\n );\n }\n\n return this.httpService.post(\n applyUrlParams(this.endpoints.path, urlParams),\n model,\n );\n }\n}\n\nfunction applyUrlParams(url: string, urlParams?: UrlParams): string {\n Object.keys(urlParams || {}).forEach((key) => {\n url = url.replace(`{${key}}`, urlParams[key]);\n });\n\n return url;\n}\n","import { NamedModel } from './../angular/models/NamedModel';\nimport { Injectable } from '@angular/core';\nimport { EntityService } from './entity.service';\nimport { HttpService } from '../angular/services/http.service';\nimport { endpoints } from './endpoints';\n\n@Injectable()\nexport class PartnerService extends EntityService<NamedModel> {\n constructor(httpService: HttpService) {\n super(httpService, endpoints.partners);\n }\n}\n","import {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const urlSerialize = (object: object): string => {\n let serialized = '';\n Object.keys(object).forEach((key) => {\n if (typeof object[key] === 'object') {\n const serializedObject = !isEmptyObject(object[key])\n ? JSON.stringify(object[key])\n : '';\n serialized += serializedObject ? `${key}=${serializedObject}&` : '';\n } else {\n serialized +=\n object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';\n }\n });\n\n return serialized.slice(0, -1);\n};\n\nconst isEmptyObject = (object: object): boolean => {\n return object === null || Object.keys(object).length === 0;\n};\n\nconst isDate = (date) => {\n try {\n const parsedDate = new Date(date);\n\n return isNaN(date) && parsedDate.toISOString() === date;\n } catch (ex) {\n return false;\n }\n};\n\nexport const urlDeserialize = (params: URLSearchParams) => {\n const deserialized = {};\n params.forEach((param, key) => {\n if (key === 'sort' || key === 'group') {\n deserialized[key] = JSON.parse(param);\n } else if (key === 'filter') {\n deserialized[key] = transformFilter(JSON.parse(param));\n } else {\n deserialized[key] = param;\n }\n });\n\n return deserialized;\n};\n\nfunction transformFilter(\n gridFilter: CompositeFilterDescriptor,\n): CompositeFilterDescriptor {\n transformFilters(gridFilter);\n\n return gridFilter;\n}\n\nfunction transformFilters(gridFilter: CompositeFilterDescriptor) {\n if (gridFilter.filters.length) {\n gridFilter.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n let filterDescriptor = filter as FilterDescriptor;\n filterDescriptor.value = isDate(filterDescriptor.value)\n ? new Date(filterDescriptor.value)\n : filterDescriptor.value;\n\n let compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n transformFilters(compositeFilterDescriptor);\n }\n },\n );\n }\n}\n","import { Component, ViewChild, TemplateRef } from '@angular/core';\nimport { DialogService, DialogRef } from '@progress/kendo-angular-dialog';\n\n@Component({\n selector: 'confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css'],\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(private dialogService: DialogService) {}\n\n cancel(): void {\n this.dialog.close();\n this.callback = undefined;\n }\n\n confirm() {\n this.callback();\n this.cancel();\n }\n\n public open(content: string, callback: () => void) {\n this.callback = callback;\n this.dialog = this.dialogService.open({\n content,\n actions: this.dialogActions,\n });\n }\n}\n","<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'excel-export-button',\n templateUrl: './excel-export-button.component.html',\n styleUrls: ['./excel-export-button.component.css'],\n})\nexport class ExcelExportButtonComponent {}\n","<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n","import { Removable } from '../../angular/models/removable.interface';\nimport {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n DataStateChangeEvent,\n RowClassArgs,\n} from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n SortDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { Page } from '../../models/Page';\nimport { IEntityService } from '../../services/IEntityService';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { Command } from './Command';\nimport { Field } from './Field';\nimport { urlDeserialize, urlSerialize } from './UrlSerializer';\n\nconst nameField = 'name';\n\n@Component({\n selector: 'entity-list',\n templateUrl: './entity-list.component.html',\n styleUrls: ['./entity-list.component.css'],\n})\nexport class EntityListComponent implements OnInit, OnChanges {\n @Input()\n public service: IEntityService<NamedModel>;\n @Input()\n public filters: (FilterDescriptor | CompositeFilterDescriptor)[];\n @Input()\n public fields?: Field[];\n @Input()\n public commands?: Command[];\n @Input()\n public rowClass?: (dataItem: NamedModel, index: number) => {};\n @Input()\n public defaultSort?: SortDescriptor[];\n @Input()\n public mapItemFn?: (item: NamedModel) => NamedModel & Removable = (item) =>\n item;\n @Input() pageButtonsCount: number = 5;\n @Output()\n public filterChange = new EventEmitter<CompositeFilterDescriptor>();\n @ViewChild('confirmDialog', { static: true })\n public dialog: ConfirmDialogComponent;\n public gridState: State = {};\n public page: BehaviorSubject<Page<NamedModel>> = new BehaviorSubject<\n Page<NamedModel>\n >(null);\n public loadings = 0;\n public searchTerm: string;\n public selected: string[] = [];\n public gridFields: Field[] = [];\n private defaultFields: Field[] = [\n { name: 'name', label: 'Name', sortable: true, position: 0 },\n ];\n\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n ) {\n this.getAllData = this.getAllData.bind(this);\n this.getRowClass = this.getRowClass.bind(this);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.filters || changes.filters.firstChange) {\n return;\n }\n\n this.getFilteredData();\n }\n\n ngOnInit() {\n this.gridFields = (this.fields || [])\n .concat(this.defaultFields)\n .sort((left, right) => (left.position || 0) - (right.position || 0));\n this.filters = this.filters ? this.filters : [];\n this.commands = this.commands ? this.commands : [];\n this.route.fragment.subscribe(async (fragment: string) => {\n await this.restoreGridState(new URLSearchParams(fragment));\n });\n\n this.route.firstChild.params.subscribe((params: Params) => {\n if (params.id) {\n this.selected[0] = params.id;\n } else {\n this.selected.pop();\n }\n });\n }\n\n public removeHandler({ dataItem }) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n dataItem.name +\n '\"?',\n () => this.remove(dataItem),\n );\n }\n\n public selectItem({ dataItem }) {\n this.router.navigate([dataItem.id], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: { id: string; name: string }) =>\n this.updateGrid(data),\n );\n }\n }\n\n public onDeactivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.unsubscribe();\n }\n }\n\n public dataStateChange(state: DataStateChangeEvent) {\n this.gridState = state;\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n public onSearch(value: string) {\n this.searchTerm = value;\n this.gridState.skip = 0;\n this.getFilteredData();\n }\n\n public getAllData(): Observable<Page<NamedModel & Removable>> {\n const state = Object.assign({}, this.gridState);\n delete state.skip;\n delete state.take;\n\n return this.service.getPage(state).pipe(\n map((pageResult) => {\n pageResult.data = pageResult.data.map(this.mapItemFn);\n\n return pageResult;\n }),\n );\n }\n\n public getRowClass(context: RowClassArgs): Object {\n return this.rowClass && context\n ? this.rowClass(context.dataItem, context.index)\n : {};\n }\n\n protected getFilteredData() {\n this.gridState.filter = this.getFilter();\n this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(this.gridState),\n });\n }\n\n protected updateGrid(data: NamedModel) {\n const currentPage = { ...this.page.value };\n const exists = currentPage.data.filter((x) => x.id === data.id);\n if (exists.length) {\n currentPage.data[currentPage.data.indexOf(exists[0])] = data;\n this.page.next(currentPage);\n\n return;\n }\n\n currentPage.total++;\n currentPage.data.splice(0, 0, data);\n if (currentPage.data.length > this.gridState.take) {\n currentPage.data.splice(this.page.value.data.length - 1, 1);\n }\n\n this.page.next(currentPage);\n this.selected[0] = data.id;\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n protected getData() {\n this.loadings++;\n return this.service\n .getPage(this.gridState)\n .pipe(\n map((pageResult) => {\n pageResult.data = pageResult.data.map(this.mapItemFn);\n\n return pageResult;\n }),\n )\n .subscribe((page) => {\n this.page.next(page);\n this.loadings--;\n });\n }\n\n private remove(entity: IdentifiedModel) {\n this.loadings++;\n this.service\n .delete(entity.id)\n .pipe(\n map(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === entity.id\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n }\n this.loadings--;\n }),\n )\n .subscribe(() => {\n this.getData();\n });\n }\n\n private getFilter(): CompositeFilterDescriptor {\n const filter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: this.searchTerm\n ? [\n { field: nameField, operator: 'contains', value: this.searchTerm },\n ...this.filters,\n ]\n : this.filters,\n };\n\n return filter;\n }\n\n private onFilterChange() {\n const filter: any = this.gridState.filter?.filters.find(\n (x: FilterDescriptor) => x.field === nameField,\n );\n this.searchTerm = filter?.value;\n this.filterChange.emit(this.gridState.filter);\n }\n\n private async restoreGridState(params: URLSearchParams) {\n const defaultGridState: State = {\n sort: this.defaultSort || [{ field: nameField, dir: 'asc' }],\n skip: 0,\n take: 10,\n filter: this.getFilter(),\n };\n\n const state = urlDeserialize(params);\n this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;\n this.gridState.skip = +this.gridState.skip;\n this.gridState.take = +this.gridState.take;\n this.onFilterChange();\n this.getData();\n }\n}\n","<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page | async\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngIf=\"!dataItem.suppressDeletion\"\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <em\n *ngIf=\"command.iconClass\"\n class=\"{{ command.iconClass }}\"\n ></em>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"pageButtonsCount\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n","import { Component, EventEmitter } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\nimport { User } from '../../models/User';\nimport { PartnerService } from '../../services/partner.service';\nimport { EntityListComponent } from './entity-list.component';\n\n@Component({\n selector: 'lib-user-list-admin',\n templateUrl: './entity-list.component.html',\n providers: [PartnerService],\n})\nexport class UserListAdminComponent extends EntityListComponent {\n constructor(\n translate: TranslateService,\n route: ActivatedRoute,\n router: Router,\n private partnerService: PartnerService,\n ) {\n super(translate, route, router);\n }\n\n public onActivate(child: { saved: EventEmitter<NamedModel> }) {\n if (child.saved) {\n child.saved.subscribe((data: User) =>\n this.partnerService\n .get(data.partnerId)\n .subscribe((partner: NamedModel) => {\n data.partnerName = partner.name;\n this.updateGrid(data);\n }),\n );\n }\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SettingsService } from '../angular/services/settings.service';\n\nconst AuthorizationHeader = 'Authorization';\n\n@Injectable()\nexport class AuthHeadersInterceptor implements HttpInterceptor {\n constructor(private settingsService: SettingsService) {}\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler,\n ): Observable<HttpEvent<any>> {\n if (!request.headers.keys().find((x) => x === AuthorizationHeader)) {\n const token = this.settingsService.getToken();\n if (token) {\n const modified = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n return next.handle(modified);\n } else {\n return next.handle(request);\n }\n }\n\n return next.handle(request);\n }\n}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\n}\n","import { Component, OnInit } from '@angular/core';\nimport * as momentModule from 'moment-timezone';\nconst moment = momentModule['default'] || momentModule;\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n constructor() {}\n\n ngOnInit(): void {\n const timeZone = moment.tz.guess();\n this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');\n }\n}\n","<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n","import { ActivityFilter } from '../../models/ActivityFilter';\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { CustomFilterElement } from '../../models/CustomFilterElement';\nimport { FieldTypes } from '../../models/FieldTypes';\nimport { ActivityFilterService } from '../../services/activity.filter.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst allKey = 'All';\nconst defaultValueField = 'id';\n\n@Component({\n selector: 'activity-filter',\n templateUrl: './activity-filter.component.html',\n styleUrls: ['./activity-filter.component.less'],\n})\nexport class ActivityFilterComponent implements OnInit, OnChanges {\n @Input() showArchiveSwitcher: boolean = true;\n @Input() showSearhText: boolean = true;\n @Input() customFilterElements: CustomFilterElement[];\n @Input() filterService: ActivityFilterService;\n\n public filter: ActivityFilter;\n public FieldTypes = FieldTypes;\n\n constructor(private translate: TranslateService) {}\n\n ngOnInit(): void {\n this.customFilterElements?.forEach(\n (element) =>\n (element.valueField = element.valueField\n ? element.valueField\n : defaultValueField)\n );\n this.filterService.filter$.subscribe((filter) => {\n this.filter = filter;\n this.changeFilter();\n });\n }\n\n ngOnChanges(): void {\n this.changeFilter();\n }\n\n public defaultNamedModel: NamedModel = {\n name: this.translate.instant(allKey),\n id: null,\n };\n\n public setTodayFilter() {\n this.filterService.setToday();\n }\n\n public clearFilter() {\n this.customFilterElements?.forEach((element) => {\n element.filter.value = null;\n if (element.filter.values) {\n element.filter.values = [];\n }\n });\n this.filterService.reset();\n this.emitChangeEvents();\n }\n\n public applyFilter() {\n this.setCustomFilters();\n this.filterService.applyFilter(this.filter);\n }\n\n public fieldChange(\n value: string | number | boolean | string[],\n element: CustomFilterElement\n ) {\n if (element.change) {\n element.change(value);\n }\n }\n\n private fillFilter() {\n if (!this.filter) {\n return;\n }\n\n this.customFilterElements?.forEach((element) => {\n element.filter = { ...element.filter, value: null, values: null };\n });\n\n this.filter.customFilters?.forEach((filter) => {\n const element = this.customFilterElements?.find(\n (x) =>\n x.filter.field === filter.field &&\n x.filter.filterTarget === filter.filterTarget\n );\n if (element) {\n element.filter = Object.assign({}, filter);\n }\n });\n }\n\n private setCustomFilters() {\n this.customFilterElements?.forEach((element) => {\n const index = this.filter.customFilters?.findIndex(\n (x) => x.field === element.filter.field\n );\n if (index !== -1) {\n this.filter.customFilters.splice(index, 1);\n }\n });\n\n this.customFilterElements?.forEach((element) =>\n this.filter.customFilters.push(element.filter)\n );\n }\n\n private fixMultiselectFilters() {\n const multiSelectFilters = this.customFilterElements?.map((element) => {\n if (element.fieldType === FieldTypes.Multiselect) {\n return element.filter;\n }\n });\n if (multiSelectFilters) {\n multiSelectFilters.forEach((filter) => {\n if (filter?.value) {\n filter.values = [filter.value as string];\n filter.value = null;\n }\n });\n }\n }\n\n private changeFilter() {\n this.fillFilter();\n this.fixMultiselectFilters();\n this.emitChangeEvents();\n }\n\n private emitChangeEvents() {\n this.customFilterElements?.forEach((element) => {\n if (element.filter.value || element.filter.values) {\n this.fieldChange(\n element.filter.value ?? element.filter.values,\n element\n );\n }\n });\n }\n}\n","<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.css'],\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Output()\n public save = new EventEmitter<boolean>();\n}\n","<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create', 'Set']\"\n ></button>\n </div>\n</div>\n","import { OnInit, Component, Input, OnDestroy, OnChanges } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { UntypedFormControl } from '@angular/forms';\nimport { IFormAdapter } from './IFormAdapter';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { finalize, take } from 'rxjs/operators';\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n@Component({\n selector: 'entity-edit-form',\n templateUrl: './entity-edit-form.component.html',\n styleUrls: ['./entity-edit-form.component.css'],\n})\nexport class EntityEditFormComponent implements OnInit, OnDestroy, OnChanges {\n public formGroup: BehaviorSubject<FormGroupWithErrors> =\n new BehaviorSubject<FormGroupWithErrors>(null);\n @Input()\n title: string;\n @Input()\n entityId?: string;\n @Input()\n adapter: IFormAdapter<IdentifiedModel>;\n routeService: Subscription;\n\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n }\n\n ngOnChanges(): void {\n if (this.entityId) {\n this.loadEntity(this.entityId);\n }\n }\n\n ngOnDestroy(): void {\n this.routeService?.unsubscribe();\n }\n\n ngOnInit() {\n if (!this.entityId) {\n this.routeService = this.route.params.subscribe(\n (params: IdentifiedModel) => {\n this.loadEntity(params.id);\n },\n );\n }\n }\n\n loadEntity(id?: string): void {\n this.formGroup.next(null);\n const formGroup = new FormGroupWithErrors({});\n if (!id) {\n this.adapter.setForm(formGroup);\n this.formGroup.next(formGroup);\n\n return;\n }\n\n this.adapter\n .getService()\n .get(id, this.adapter.getUrlParams())\n .subscribe((model) => {\n formGroup.addControl('id', new UntypedFormControl(model.id));\n for (const key of Object.keys(model)) {\n formGroup.addControl(key, new UntypedFormControl(model[key]));\n }\n\n this.adapter.setForm(formGroup);\n this.formGroup.next(formGroup);\n });\n }\n\n save(): void {\n this.saveInProgress = true;\n this.adapter\n .getService()\n .save(this.adapter.getValue(), this.adapter.getUrlParams())\n .pipe(\n take(1),\n finalize(() => (this.saveInProgress = false)),\n )\n .subscribe({\n next: (result: IdentifiedModel) => {\n this.adapter.onSaved(result);\n this.formGroup.value.applyServerErrors(\n { errors: {} },\n this.formGroup.value,\n );\n this.formGroup.next(this.formGroup.value);\n },\n error: (error: HttpErrorResponse) => {\n this.formGroup.value.applyServerErrors(\n error.error,\n this.formGroup.value,\n );\n this.formGroup.next(this.formGroup.value);\n },\n });\n }\n}\n","<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n *ngIf=\"formGroup | async as form\"\n class=\"form-horizontal\"\n [formGroup]=\"form\"\n novalidate\n autocomplete=\"off\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n [form]=\"form\"\n [errors]=\"form.generalErrors\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"form.valid && form.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n","import { Component, Input, ElementRef, OnChanges, Output, EventEmitter } from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { IdentifiedModel } from '../../../angular/models/IdentifiedModel';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { PreventableEvent } from '@progress/kendo-angular-dropdowns';\nimport { Observable } from 'rxjs';\nimport { Page } from 'projects/kendo/src/lib/models/Page';\n\n@Component({\n selector: 'field-multiselect',\n templateUrl: './field-multiselect.component.html',\n styleUrls: ['./field-multiselect.component.css'],\n viewProviders: [\n {\n provide: ControlContainer,\n useExisting: FormGroupDirective,\n },\n ],\n})\nexport class FieldMultiSelectComponent<T>\n extends FieldComponent<string[]>\n implements OnChanges {\n @Input() service: IEntityService<NamedModel>;\n @Input() rebind: string;\n @Input() filter?: CompositeFilterDescriptor;\n @Input() textField?: string;\n @Input() valueField?: string;\n @Input() singleMode: boolean = false;\n @Input() autoClose: boolean = false;\n @Output() changed: EventEmitter<T> = new EventEmitter<T>();\n\n data: IdentifiedModel[] = [];\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(\n public parent: FormGroupDirective,\n public eref: ElementRef,\n ) {\n super(parent, eref, []);\n this.textField = this.textField ?? 'name';\n this.valueField = this.valueField ?? 'id';\n }\n\n ngOnChanges(): void {\n this.getData().subscribe((data) => {\n this.data = data.data;\n this.control.setValue(\n this.control.value.filter(\n (x: string) => this.data.filter((d) => d.id === x).length\n )\n );\n });\n }\n\n onPopupOpen(event: PreventableEvent): void {\n if (!this.singleMode) {\n return;\n }\n\n this.control.value.length > 0 && event.preventDefault();\n }\n\n private getData(): Observable<Page<NamedModel>> {\n return this.service.getPage(this.filter ? { filter: this.filter } : {});\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n >\n </kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n OnInit,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { SortDescriptor } from '@progress/kendo-data-query';\n\nconst All = 'All';\n\n@Component({\n selector: 'field-dropdownlist',\n templateUrl: './field-dropdownlist.component.html',\n styleUrls: ['./field-dropdownlist.component.css'],\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Input()\n sort?: SortDescriptor[];\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n private initialSelectedId: string;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(private translate: TranslateService) {}\n\n async ngOnInit(): Promise<void> {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n this.getData();\n this.translate.onLangChange.subscribe((_event: LangChangeEvent) => {\n this.defaultItem = { id: null, name: this.translate.instant(All) };\n });\n }\n\n private getData() {\n this.service.getPage({ sort: this.sort }).subscribe((data) => {\n this.data = data.data;\n if (this.initialSelectedId) {\n const selectedItem = this.data.find(\n (x) => x.id === this.initialSelectedId\n );\n\n if (selectedItem) {\n this.kendoDropDown.writeValue(selectedItem);\n }\n }\n });\n }\n\n onValueChange(event: NamedModel) {\n this.valueChange.emit(event);\n }\n\n public initSelectedId(id: string): void {\n this.initialSelectedId = id;\n }\n}\n","<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n})\nexport class FooterBarComponent {}\n","<nav class=\"footer navbar navbar-default navbar-fixed-bottom\">\n <div class=\"container\">\n <a class=\"navbar-brand pull-right\" href=\"http://www.indigina.com/\">\n <ng-content></ng-content>\n </a>\n </div>\n</nav>\n","import { Component, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'modal-window',\n templateUrl: './modal-window.component.html',\n styleUrls: ['./modal-window.component.css'],\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n\n constructor(protected route: ActivatedRoute, private router: Router) {}\n\n public opened: boolean = true;\n\n public close() {\n this.opened = false;\n this.router.navigate([this.callbackPath], {\n relativeTo: this.route,\n fragment: this.route.snapshot?.fragment,\n });\n }\n}\n","<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core';\nimport {\n CompositeFilterDescriptor,\n distinct,\n filterBy,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { FilterService } from '@progress/kendo-angular-grid';\nimport { NamedModel } from '../../angular/models/NamedModel';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n})\nexport class MulticheckFilterComponent implements AfterViewInit {\n @Input() public currentFilter: CompositeFilterDescriptor;\n @Input() public data: NamedModel[];\n @Input() public filterService: FilterService;\n @Input() public field: string;\n @Input() public valueField: string;\n @Output() public valueChange = new EventEmitter<number[]>();\n\n public currentData: NamedModel[];\n public showFilter = true;\n private value: string[] = [];\n private filters: FilterDescriptor[] = [];\n private get ValueKey(): string {\n return this.valueField ? this.valueField : defaultValueKey;\n }\n\n public ngAfterViewInit() {\n this.currentData = this.data;\n if (this.currentData && this.currentData.length) {\n this.traverseFilters(this.currentFilter);\n this.value = this.filters.map((f: FilterDescriptor) => f.value);\n this.showFilter = typeof this.currentData[0].name === 'string';\n }\n }\n\n traverseFilters(filters: CompositeFilterDescriptor | FilterDescriptor) {\n let compositeFilterDescriptor = filters as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {\n const innerFilter = compositeFilterDescriptor.filters[\n i\n ] as FilterDescriptor;\n if (innerFilter.value && innerFilter.field === this.field) {\n this.filters.push(innerFilter);\n }\n\n this.traverseFilters(innerFilter);\n }\n }\n }\n\n public isItemSelected(item: NamedModel) {\n return this.value.some((x) => x === item[this.ValueKey]);\n }\n\n public onSelectionChange(item: NamedModel) {\n const selectedValue = item[this.ValueKey];\n if (this.value.some((x) => x === selectedValue)) {\n this.value = this.value.filter((x) => x !== selectedValue);\n } else {\n this.value.push(selectedValue);\n }\n\n this.filterService.filter({\n filters: this.value.map((value) => ({\n field: this.field,\n operator: 'eq',\n value,\n })),\n logic: 'or',\n });\n }\n\n public onInput(e: any) {\n this.currentData = distinct(\n [\n ...this.currentData.filter((dataItem) =>\n this.value.some((val) => val === dataItem.id)\n ),\n ...filterBy(this.data, {\n operator: 'contains',\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n","import { Component, Input } from '@angular/core';\nimport { Member } from '../../models/Member';\nimport { AccountMenuItem } from '../../../public-api';\n\n@Component({\n selector: 'top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.css'],\n})\nexport class TopMenuComponent {\n @Input()\n currentUser: Member;\n @Input()\n menuItems: AccountMenuItem[];\n\n public toggleButtonClick() {\n document.body.classList.toggle('mini-navbar');\n }\n}\n","<div id=\"supply-top-navbar\" class=\"supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button type=\"button\" class=\"navbar-minimalize minimalize-style-2 btn btn-primary\" (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n <div id=\"topBarIcons\" class=\"clearfix\" *ngIf=\"currentUser != null\">\n <a [routerLink]=\"['/security/admins', currentUser.id]\" class=\"message-icons left container-login\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">{{currentUser.userName}}</span>\n </a>\n <account-menu [user]=\"currentUser\" [menuItems]=\"menuItems\"></account-menu>\n </div>\n </nav>\n</div>\n","import {\n Component,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { map, Observable, tap } from 'rxjs';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IGetPageService } from '../../../services/get-page.service.interface';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: './field-dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FieldDropdownComponent extends FieldComponent<string> {\n @Input()\n service: IGetPageService<NamedModel>;\n @Input()\n rebind: string;\n @Input()\n filter?: CompositeFilterDescriptor;\n data$: Observable<NamedModel[]>;\n get control(): AbstractControl {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, '');\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setData();\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setData();\n }\n\n setData(): void {\n this.data$ = this.service\n .getPage(this.filter ? { filter: this.filter } : {})\n .pipe(\n tap((x) => {\n const entity: NamedModel =\n x.data.find((d) => d.id === this.control.value) || x.data[0];\n if (entity) {\n this.control.setValue(entity.id);\n }\n }),\n map((x) => x.data),\n );\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { FieldDropdownComponent } from './field-dropdown.component';\n\n@NgModule({\n declarations: [FieldDropdownComponent],\n imports: [\n TranslateModule,\n DropDownsModule,\n ReactiveFormsModule,\n CommonModule,\n ],\n exports: [FieldDropdownComponent],\n})\nexport class FieldDropdownModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ActivityFilterServiceConfig {\n dateFilterParameter: string;\n}\n\nexport const dateFilterParameter: InjectionToken<string> =\n new InjectionToken<string>('dateFilterParameter', {\n factory: (): string => 'start',\n providedIn: 'root',\n });\n","import { UserListAdminComponent } from './widgets/entity-list/user-list-admin.component';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n Provider,\n} from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { MsalModule, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ExcelModule, GridModule } from '@progress/kendo-angular-grid';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\nimport { IndiginaModule } from './angular/indigina.module';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { LiveUpdatesControlComponent } from './angular/widgets/live-updates-control/live-updates-control.component';\nimport { AccountMenuComponent } from './components/account-menu/account-menu.component';\nimport { AzureLoginCallbackComponent } from './components/azure-login-callback/azure-login-callback.component';\nimport { LanguageSelectorComponent } from './components/language-selector/language-selector.component';\nimport { MSALInstanceFactory } from './config/msal-instance.factory';\nimport { RequirePermissionDirective } from './directives/requirePermission.directive';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\nimport { AccountService } from './services/account.service';\nimport { PermissionsService } from './services/permissions.service';\nimport { SignalRService } from './services/signalr/signalr.service';\nimport { ActivityFilterComponent } from './widgets/activity-filter/activity-filter.component';\nimport { ConfirmDialogComponent } from './widgets/confirm-dialog/confirm-dialog.component';\nimport { CurrentTimezoneComponent } from './widgets/current-timezone/current-timezone.component';\nimport { EntityEditButtonsBarComponent } from './widgets/entity-edit/buttons-bar/buttons-bar.component';\nimport { EntityEditFormComponent } from './widgets/entity-edit/entity-edit-form.component';\nimport { FieldMultiSelectComponent } from './widgets/entity-edit/field-multiselect/field-multiselect.component';\nimport { EntityListComponent } from './widgets/entity-list/entity-list.component';\nimport { FieldDropdownlistComponent } from './widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nimport { ExcelExportButtonComponent } from './widgets/excel-export-button/excel-export-button.component';\nimport { FooterBarComponent } from './widgets/footer-bar/footer-bar.component';\nimport { ModalWindowComponent } from './widgets/modal-window/modal-window.component';\nimport { MulticheckFilterComponent } from './widgets/multicheck-filter/multicheck-filter.component';\nimport { TopMenuComponent } from './widgets/top-bar/top-bar.component';\nimport { FieldDropdownModule } from './widgets/entity-edit/field-dropdown/field-dropdown.module';\nimport { ServicesConfiguration } from './services/services.config';\nimport { dateFilterParameter } from './services/activity.filter.service.config';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n AzureLoginCallbackComponent,\n UserListAdminComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n IndiginaModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n DialogsModule,\n CommonModule,\n FormsModule,\n WindowModule,\n DialogsModule,\n ReactiveFormsModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n MsalModule,\n FieldDropdownModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n MsalService,\n ],\n exports: [\n TopMenuComponent,\n FooterBarComponent,\n AccountMenuComponent,\n LanguageSelectorComponent,\n IndiginaModule,\n PopupModule,\n DropDownsModule,\n TooltipModule,\n DateInputsModule,\n WindowModule,\n DialogsModule,\n PopupModule,\n GridModule,\n ExcelModule,\n InputsModule,\n ButtonsModule,\n EntityEditButtonsBarComponent,\n EntityEditFormComponent,\n EntityListComponent,\n FieldMultiSelectComponent,\n FieldDropdownlistComponent,\n ConfirmDialogComponent,\n ExcelExportButtonComponent,\n MulticheckFilterComponent,\n RequirePermissionDirective,\n ActivityFilterComponent,\n CurrentTimezoneComponent,\n ModalWindowComponent,\n LiveUpdatesControlComponent,\n MsalModule,\n AzureLoginCallbackComponent,\n UserListAdminComponent,\n FieldDropdownModule,\n ],\n})\nexport class KendoModule {\n public static forRoot(\n config: IndiginaConfiguration,\n servicesConfig?: ServicesConfiguration,\n ): ModuleWithProviders<KendoModule> {\n let module: ModuleWithProviders<KendoModule> = {\n ngModule: KendoModule,\n providers: <(Provider | EnvironmentProviders)[]>[\n {\n provide: IndiginaConfiguration,\n useValue: config,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [IndiginaConfiguration],\n },\n ],\n };\n const filterParameter: string =\n servicesConfig?.activityFilterServiceConfig?.dateFilterParameter;\n if (filterParameter) {\n module.providers.push({\n provide: dateFilterParameter,\n useValue: filterParameter,\n });\n }\n\n return module;\n }\n}\n","export enum FilterTargets {\n Url,\n Grid,\n}\n","export enum MemberTypes {\n Admin = 'Admin',\n User = 'User'\n}\n","export enum Operators {\n eq = 'eq',\n neq = 'neq',\n isnull = 'isnull',\n isnotnull = 'isnotnull',\n lt = 'lt',\n lte = 'lte',\n gt = 'gt',\n gte = 'gte',\n startswith = 'startswith',\n endswith = 'endswith',\n contains = 'contains',\n doesnotcontain = 'doesnotcontain',\n isempty = 'isempty',\n isnotempty = 'isnotempty',\n}\n","export enum PermissionTypes {\n Create = 'Create',\n Delete = 'Delete',\n Edit = 'Edit',\n View = 'View',\n Set = 'Set',\n}\n","import { State, CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../../models/ActivityFilter';\nimport { FilterTargets } from '../../models/FilterTargets';\nimport { Operators } from '../../models/Operators';\nexport class FilterConverter {\n public static toGridState(\n filter: ActivityFilter,\n DateFilterFieldName: string,\n ): State {\n const gridState: State = {\n filter: {\n logic: 'and',\n filters: [],\n },\n };\n const mainFilter: CompositeFilterDescriptor = {\n logic: 'and',\n filters: [],\n };\n gridState.skip = +filter.skip;\n gridState.take = +filter.take;\n if (filter.group) {\n gridState.group = filter.group;\n }\n\n if (filter.sort) {\n gridState.sort = filter.sort;\n } else {\n gridState.sort = [{ field: DateFilterFieldName, dir: 'desc' }];\n }\n\n if (filter.dateFrom) {\n mainFilter.filters.push({\n operator: Operators.gte,\n field: DateFilterFieldName,\n value: filter.dateFrom,\n });\n }\n\n if (filter.dateTo) {\n mainFilter.filters.push({\n operator: Operators.lte,\n field: DateFilterFieldName,\n value: filter.dateTo,\n });\n }\n\n filter.customFilters?.forEach((x) => {\n if (x.filterTarget === FilterTargets.Grid) {\n if (x.values && x.values.length) {\n const multiselectFilter: CompositeFilterDescriptor = {\n logic: 'or',\n filters: [],\n };\n x.values.forEach((value) => {\n multiselectFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value,\n });\n });\n\n gridState.filter.filters.push(multiselectFilter);\n } else {\n if (x.value !== null && typeof x.value !== 'undefined') {\n mainFilter.filters.push({\n operator: x.operator,\n field: x.field,\n value: x.value,\n });\n }\n }\n }\n });\n\n if (mainFilter.filters.length) {\n if (gridState.filter.filters.length) {\n gridState.filter.filters.push(mainFilter);\n } else {\n gridState.filter.filters = mainFilter.filters;\n }\n }\n\n return gridState;\n }\n}\n","import { FilterConverter } from '../widgets/activity-filter/FilterConverter';\nimport {\n urlDeserialize,\n urlSerialize,\n} from '../widgets/entity-list/UrlSerializer';\nimport { BehaviorSubject } from 'rxjs';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { ActivityFilter } from '../models/ActivityFilter';\nimport { FilterTargets } from '../models/FilterTargets';\nimport { Operators } from '../models/Operators';\nimport { CustomFilter } from '../models/CustomFilter';\nimport { dateFilterParameter } from './activity.filter.service.config';\n\nconst filterKey = 'filter';\nconst filtersKey = 'filters';\nconst dateToKey = 'dateTo';\nconst dateFromKey = 'dateFrom';\nconst customFiltersKey = 'customFilters';\nconst nullKey = 'null';\n\n@Injectable()\nexport class ActivityFilterService {\n public currentFilter: ActivityFilter;\n public currentGridState: State;\n\n private readonly defaultFilter: ActivityFilter = {\n dateTo: null,\n dateFrom: null,\n switchToArchive: false,\n searchText: '',\n skip: 0,\n take: 10,\n };\n\n protected filterBehavior = new BehaviorSubject<ActivityFilter>(\n this.defaultFilter,\n );\n protected gridStateBehavior = new BehaviorSubject<State>(\n FilterConverter.toGridState(\n this.defaultFilter,\n this.dateFilterParameterName,\n ),\n );\n\n public filter$ = this.filterBehavior.asObservable();\n public gridState$ = this.gridStateBehavior.asObservable();\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n @Inject(dateFilterParameter)\n protected dateFilterParameterName: string,\n ) {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.route.fragment.subscribe(async (fragment: string) => {\n const parsed = urlDeserialize(new URLSearchParams(fragment));\n if (Object.keys(parsed).some((key) => key === filterKey)) {\n this.currentGridState = parsed as State;\n this.fillCurrentFilter(parsed);\n } else {\n this.clearFilter();\n this.setTodayDates();\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n );\n }\n\n this.filterBehavior.next(this.currentFilter);\n });\n\n this.filter$.subscribe((filter) => {\n this.gridStateBehavior.next(\n FilterConverter.toGridState(filter, this.dateFilterParameterName),\n );\n });\n }\n\n public reset() {\n this.clearFilter();\n this.applyFilter(this.currentFilter);\n this.gridStateBehavior.next(this.currentGridState);\n }\n\n public setFilter(filter: ActivityFilter) {\n this.currentFilter.skip = 0;\n this.currentFilter = Object.assign(filter);\n this.currentGridState = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n );\n }\n\n public applyFilter(filter: ActivityFilter) {\n this.setFilter(filter);\n this.stateNavigation(this.prepareFilterToSerialize());\n }\n\n public setToday() {\n this.setTodayDates();\n this.applyFilter(this.currentFilter);\n }\n\n public clearFilter() {\n if (this.currentFilter) {\n const customFilters = Object.assign([], this.currentFilter.customFilters);\n customFilters.forEach((x) => {\n x.value = null;\n if (x.values) {\n x.values = [];\n }\n });\n this.currentFilter = Object.assign({}, this.defaultFilter);\n this.currentFilter.customFilters = customFilters;\n } else {\n this.currentFilter = Object.assign({}, this.defaultFilter);\n }\n }\n\n public setGridState(state: State) {\n this.currentGridState = state;\n const { switchToArchive, searchText } = this.currentFilter;\n this.clearFilter();\n this.currentFilter = Object.assign(this.currentFilter, {\n switchToArchive,\n searchText,\n });\n this.fillCurrentFilter(this.currentGridState);\n this.stateNavigation(this.currentGridState);\n }\n\n public setTodayDates() {\n const now = new Date();\n this.currentFilter.dateTo = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate() + 1,\n 0,\n 0,\n 0,\n );\n this.currentFilter.dateFrom = new Date(\n now.getFullYear(),\n now.getMonth(),\n now.getDate(),\n 0,\n 0,\n 0,\n );\n }\n\n private async stateNavigation(object: Object) {\n const navigate = await this.router.navigate([], {\n relativeTo: this.route,\n fragment: urlSerialize(object),\n });\n if (!navigate) {\n this.filterBehavior.next(this.currentFilter);\n }\n }\n\n private prepareFilterToSerialize(): object {\n const result = {};\n Object.keys(this.currentFilter).forEach((key) => {\n if (\n key !== dateToKey &&\n key !== dateFromKey &&\n key !== customFiltersKey\n ) {\n result[key] = this.currentFilter[key];\n }\n });\n\n this.currentFilter.customFilters?.forEach((filter) => {\n if (filter.filterTarget == FilterTargets.Url) {\n result[filter.field] = filter.value;\n }\n });\n\n result[filterKey] = FilterConverter.toGridState(\n this.currentFilter,\n this.dateFilterParameterName,\n ).filter;\n\n return result;\n }\n\n private fillCurrentFilter(object: State) {\n this.currentFilter.customFilters = [];\n this.fillFromDescriptor(object.filter);\n Object.keys(object).forEach((key) => {\n if (key !== filterKey && key !== nullKey && key !== filtersKey) {\n if (Object.keys(this.currentFilter).some((x) => x == key)) {\n this.currentFilter[key] = object[key];\n } else {\n this.fillUrlFilter(key, object[key]);\n }\n }\n });\n }\n\n private fillUrlFilter(key: string, val: string) {\n const index = this.currentFilter.customFilters.findIndex(\n (filter) => filter.field == key,\n );\n if (index !== -1) {\n this.currentFilter.customFilters[index].value = val;\n } else {\n this.currentFilter.customFilters.push({\n field: key,\n value: val,\n operator: Operators.eq,\n filterTarget: FilterTargets.Url,\n });\n }\n }\n\n private fillFromDescriptor(gridFilter: CompositeFilterDescriptor) {\n gridFilter?.filters.forEach(\n (filter: CompositeFilterDescriptor | FilterDescriptor) => {\n const filterDescriptor = filter as FilterDescriptor;\n if (\n filterDescriptor.field === this.dateFilterParameterName &&\n filterDescriptor.operator === Operators.lte\n ) {\n this.currentFilter.dateTo = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field === this.dateFilterParameterName &&\n filterDescriptor.operator === Operators.gte\n ) {\n this.currentFilter.dateFrom = filterDescriptor.value;\n }\n\n if (\n filterDescriptor.field &&\n filterDescriptor.field !== this.dateFilterParameterName\n ) {\n this.setFieldFilter({\n field: filterDescriptor.field as string,\n filterTarget: FilterTargets.Grid,\n operator: Operators[filterDescriptor.operator as string],\n value: filterDescriptor.value,\n });\n }\n\n const compositeFilterDescriptor = filter as CompositeFilterDescriptor;\n if (compositeFilterDescriptor.filters) {\n this.fillFromDescriptor(compositeFilterDescriptor);\n }\n },\n );\n }\n\n private setFieldFilter(filter: CustomFilter) {\n const index = this.currentFilter.customFilters.findIndex(\n (x) => x.field === filter.field && x.operator === filter.operator,\n );\n if (index !== -1) {\n const values = this.currentFilter.customFilters[index].values;\n const value = this.currentFilter.customFilters[index].value;\n this.currentFilter.customFilters[index].values = values ? values : [];\n if (value) {\n this.currentFilter.customFilters[index].values.push(value as string);\n this.currentFilter.customFilters[index].value = null;\n }\n\n this.currentFilter.customFilters[index].values.push(\n filter.value as string,\n );\n } else {\n this.currentFilter.customFilters.push(filter);\n }\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';\nimport { IdentifiedModel } from '../../angular/models/IdentifiedModel';\nimport { IEntityService } from '../../services/IEntityService';\nimport { UrlParams } from '../../services/url-params.model';\nimport { IFormAdapter } from './IFormAdapter';\n\nexport abstract class EntityEditComponent<T extends IdentifiedModel>\n implements IFormAdapter<T>\n{\n form: FormGroupWithErrors;\n saved = new EventEmitter<T>();\n get adapter() {\n return this;\n }\n\n constructor(public service: IEntityService<T>) {}\n\n getValue(): T {\n return this.form.getRawValue();\n }\n\n getService(): IEntityService<T> {\n return this.service;\n }\n\n getUrlParams(): UrlParams {\n return {};\n }\n\n setForm(form: FormGroupWithErrors): void {\n this.form = form;\n }\n\n onSaved(value: T): void {\n this.saved.emit(value);\n }\n}\n","import * as momentModule from 'moment-timezone';\n/*\n * Public API Surface of kendo\n */\nexport * from '@angular/platform-browser/animations';\nexport * from '@azure/msal-angular';\nexport { LogLevel } from '@microsoft/signalr';\nexport * from '@ngx-loading-bar/http-client';\nexport * from '@ngx-translate/core';\nexport * from 'ngx-clipboard';\nexport * from 'ngx-toastr';\nexport { IndiginaModule } from '././lib/angular/indigina.module';\nexport { FieldInputModule } from './lib/angular/forms/widgets/field/field-input/field-input.module';\nexport { BaseAccountService } from '././lib/services/base.account.service';\nexport { ISubscriptionControl } from './lib/angular/extensions/ISubscriptionControl';\nexport { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';\nexport { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';\nexport { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';\nexport { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';\nexport { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';\nexport { FieldComponent } from './lib/angular/forms/widgets/field/field.component';\nexport { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';\nexport { AppSettings } from './lib/angular/models/AppSettings';\nexport type { CustomHttpErrorResponse } from './lib/angular/models/CustomHttpErrorResponse';\nexport { HttpCodes } from './lib/angular/models/HttpCodes';\nexport { HttpMethods } from './lib/angular/models/HttpMethods';\nexport { IdentifiedModel } from './lib/angular/models/IdentifiedModel';\nexport { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';\nexport { Language } from './lib/angular/models/Language';\nexport { NamedModel } from './lib/angular/models/NamedModel';\nexport { Removable } from './lib/angular/models/removable.interface';\nexport { HttpService } from './lib/angular/services/http.service';\nexport { LocaleSettingsService } from './lib/angular/services/locale-settings.service';\nexport { SettingsService } from './lib/angular/services/settings.service';\nexport { AppToastrService } from './lib/angular/services/toastr.service';\nexport { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';\nexport { MenuItem } from './lib/angular/widgets/side-menu/MenuItem';\nexport { AccountMenuItem } from './lib/components/account-menu/AccountMenuItem';\nexport { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';\nexport { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';\nexport { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';\nexport { AzureLoginCallbackComponent } from './lib/components/azure-login-callback/azure-login-callback.component';\nexport { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';\nexport { MSALInstanceFactory } from './lib/config/msal-instance.factory';\nexport { RequirePermissionDirective } from './lib/directives/requirePermission.directive';\nexport { KendoModule } from './lib/kendo.module';\nexport { ActivityFilter } from './lib/models/ActivityFilter';\nexport { AzureB2CSettings } from './lib/models/AzureB2CSettings';\nexport { CustomFilter } from './lib/models/CustomFilter';\nexport { CustomFilterElement } from './lib/models/CustomFilterElement';\nexport { FieldTypes } from './lib/models/FieldTypes';\nexport { FilterTargets } from './lib/models/FilterTargets';\nexport { Member } from './lib/models/Member';\nexport { MemberBase } from './lib/models/MemberBase';\nexport { MemberTypes } from './lib/models/MemberTypes';\nexport { Operators } from './lib/models/Operators';\nexport { Page } from './lib/models/Page';\nexport { Permissions } from './lib/models/Permissions';\nexport { PermissionTypes } from './lib/models/PermissionTypes';\nexport { SystemInfo } from './lib/models/SystemInfo';\nexport { User } from './lib/models/User';\nexport { AccountService } from './lib/services/account.service';\nexport { ActivityFilterService } from './lib/services/activity.filter.service';\nexport { AuthProviderResolver } from './lib/services/auth-provider.resolver';\nexport { AuthProvider } from './lib/services/auth.providers/AuthProvider';\nexport {\n buildActivityEndpoints,\n buildEntityEndpoints,\n endpoints,\n} from './lib/services/endpoints';\nexport { UrlParams } from './lib/services/url-params.model';\nexport { EntityService } from './lib/services/entity.service';\nexport { IActivityEndpoints } from './lib/services/IActivityEndpoints';\nexport { IEntityEndpoints } from './lib/services/IEntityEndpoints';\nexport { IEntityService } from './lib/services/IEntityService';\nexport { IGetPageService } from './lib/services/get-page.service.interface';\nexport { PermissionsService } from './lib/services/permissions.service';\nexport { EventNames } from './lib/services/signalr/EventNames';\nexport { SignalRService } from './lib/services/signalr/signalr.service';\nexport { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';\nexport { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';\nexport { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';\nexport { EntityEditButtonsBarComponent } from './lib/widgets/entity-edit/buttons-bar/buttons-bar.component';\nexport { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';\nexport { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';\nexport { FieldDropdownComponent } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.component';\nexport { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';\nexport { UserListAdminComponent } from './lib/widgets/entity-list/user-list-admin.component';\nexport { Command } from './lib/widgets/entity-list/Command';\nexport { EntityListComponent } from './lib/widgets/entity-list/entity-list.component';\nexport { Field } from './lib/widgets/entity-list/Field';\nexport { FieldDropdownlistComponent } from './lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component';\nexport {\n urlDeserialize,\n urlSerialize,\n} from './lib/widgets/entity-list/UrlSerializer';\nexport { ExcelExportButtonComponent } from './lib/widgets/excel-export-button/excel-export-button.component';\nexport { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';\nexport { ModalWindowComponent } from './lib/widgets/modal-window/modal-window.component';\nexport { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';\nexport { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';\nexport { PrettifierFactory } from './lib/angular/widgets/tree-view/Prettifiers/PrettifierFactory';\nexport { IPrettifier } from './lib/angular/widgets/tree-view/Prettifiers/IPrettifier';\nexport { ContentTypesFormat } from './lib/angular/widgets/tree-view/models/ContentTypesFormat';\nexport const momentTimezone: () => momentModule.Moment = momentModule;\nexport { FieldDropdownModule } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","collapsedEvent","i3.MenuItemGroupComponent","i3.TreeViewNodeComponent","i4","i2.AppSettings","i1.AppToastrService","i3.AppSettings","i5","i6.SettingsService","i2.SettingsService","i3.IndiginaConfiguration","i1.AppSettings","i1.AuthProviderResolver","i2.HttpService","i3.SettingsService","i4.SignalRService","i1.LocaleSettingsService","i1.AccountService","i6.LanguageSelectorComponent","i1.HttpService","i2.AccountService","i3.SignalRService","i2.PermissionsService","i4.DebounceDirective","i7","i8.ConfirmDialogComponent","i9.ExcelExportButtonComponent","i10.RequirePermissionDirective","i3.PartnerService","i5.DebounceDirective","i6","i8","i9.ConfirmDialogComponent","i10.ExcelExportButtonComponent","i11.RequirePermissionDirective","i1.SettingsService","i6.CurrentTimezoneComponent","i3.RequirePermissionDirective","i3.GeneralErrorsComponent","i5.EntityEditButtonsBarComponent","i3.AccountMenuComponent","tap","map"],"mappings":"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"}
|