@indigina/kendo 2.0.20 → 2.0.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"indigina-kendo.mjs","sources":["../../../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/file/file-upload/field-file-upload.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-upload/field-file-upload.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-upload/field-file-upload.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.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/directives/debounce/debounce.directive.ts","../../../projects/kendo/src/lib/angular/forms/directives/debounce/debounce.module.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.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/forms/widgets/general-errors/general-errors.module.ts","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.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/services/locale-settings.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/angular/widgets/live-updates-control/live-updates-control.module.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/widgets/tree-view/indigina-tree-view.module.ts","../../../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/language-selector/language-selector.module.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.module.ts","../../../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/requirePermission.directive.ts","../../../projects/kendo/src/lib/directives/requirePermission/requirePermission.module.ts","../../../projects/kendo/src/lib/models/FieldTypes.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/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/services/activity.filter.service.config.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/services/filter-utils.ts","../../../projects/kendo/src/lib/services/entity.service.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/current-timezone/current-timezone.module.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.module.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/confirm-dialog/confirm-dialog.module.ts","../../../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/buttons-bar/buttons-bar.module.ts","../../../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/entity-edit-form.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/dropdown.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.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-edit/field-multiselect/field-multiselect.module.ts","../../../projects/kendo/src/lib/services/partner.service.ts","../../../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/widgets/excel-export-button/excel-export-button.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.module.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.module.ts","../../../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/entity-list/field-dropdownlist/field-dropdownlist.module.ts","../../../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/footer-bar/footer-bar.module.ts","../../../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/modal-window/modal-window.module.ts","../../../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/multicheck-filter/multicheck-filter.module.ts","../../../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/top-bar/top-bar.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.module.ts","../../../projects/kendo/src/lib/components/forbidden/forbidden.component.ts","../../../projects/kendo/src/lib/components/forbidden/forbidden.component.html","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.module.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/app.core.module.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["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 standalone: false\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 @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName)?.invalid &&\n parent.form.get(fieldName)?.touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName)?.errors?.['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName)?.errors?.['email']) {\n <span>{{ \"ValidEmail\" | translate }}</span>\n }\n @if (parent.form.get(fieldName)?.errors?.['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName)?.errors?.[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\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 standalone: false\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';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\n\n@NgModule({\n declarations: [FieldInputComponent, NumberInputComponent],\n exports: [FieldInputComponent, NumberInputComponent],\n imports: [\n ButtonsModule,\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n ],\n})\nexport class FieldInputModule {}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldComponent } from '../../field/field.component';\nimport { FileRestrictions } from '@progress/kendo-angular-upload';\n\n@Component({\n selector: 'field-file-upload',\n templateUrl: './field-file-upload.component.html',\n styleUrls: ['./field-file-upload.component.scss'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldFileUploadComponent extends FieldComponent<File> {\n private defaultFileRestrictions: FileRestrictions = {\n allowedExtensions: [],\n };\n\n @Input()\n public labelKey: string;\n @Input()\n public placeholderKey: string;\n @Input()\n public fieldName: string;\n @Input()\n public multiple: boolean = true;\n @Input()\n public showFileList: boolean = true;\n @Input()\n public autoUpload: boolean = false;\n @Input()\n public disabled: boolean = false;\n @Input()\n public saveUrl: string;\n @Input()\n public removeUrl: string;\n @Input()\n public restrictions: FileRestrictions = this.defaultFileRestrictions;\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <kendo-upload\n id=\"{{ '_' + fieldName }}\"\n [formControlName]=\"fieldName\"\n [autoUpload]=\"autoUpload\"\n [saveUrl]=\"saveUrl\"\n [removeUrl]=\"removeUrl\"\n [multiple]=\"multiple\"\n [showFileList]=\"showFileList\"\n [restrictions]=\"restrictions\"\n [attr.disabled]=\"disabled\"\n >\n <kendo-upload-messages\n select=\"{{ placeholderKey | translate }}\"\n ></kendo-upload-messages>\n </kendo-upload>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputModule } from '../../field/field-input/field-input.module';\nimport { UploadsModule } from '@progress/kendo-angular-upload';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldFileUploadComponent } from './field-file-upload.component';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\n\n@NgModule({\n declarations: [FieldFileUploadComponent],\n exports: [FieldFileUploadComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n FieldInputModule,\n HttpClientModule,\n UploadsModule,\n InputsModule,\n ButtonsModule,\n ],\n})\nexport class FieldFileUploadModule {}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-textarea',\n templateUrl: './field-textarea.component.html',\n styleUrl: './field-textarea.component.scss',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldTextAreaComponent extends FieldComponent<string> {\n @Input() labelKey: string;\n @Input() placeholderKey: string;\n @Input() fieldName: string;\n @Input() readonly: boolean = false;\n @Input() height: number = 200;\n @Input() rebind: string;\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <textarea\n id=\"{{ '_' + fieldName }}\"\n class=\"k-input textarea-with-scroll\"\n [formControlName]=\"fieldName\"\n [readonly]=\"readonly\"\n [style.height.px]=\"height\"\n placeholder=\"{{ placeholderKey | translate }}\"\n ></textarea>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldTextAreaComponent } from './field-textarea.component';\n\n@NgModule({\n declarations: [FieldTextAreaComponent],\n exports: [FieldTextAreaComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n HttpClientModule,\n ],\n})\nexport class FieldTextAreaModule {}\n","import {\n FileInfo,\n FileRestrictions,\n SelectEvent,\n} from '@progress/kendo-angular-upload';\nimport { FieldComponent } from '../../field/field.component';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport {\n Component,\n EventEmitter,\n ElementRef,\n Input,\n Output,\n} from '@angular/core';\n\n@Component({\n selector: 'field-file-select',\n templateUrl: './field-file-select.component.html',\n styleUrls: ['./field-file-select.component.scss'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldFileSelectComponent extends FieldComponent<File> {\n private defaultFileRestrictions: FileRestrictions = {\n allowedExtensions: [],\n };\n\n @Input()\n public labelKey: string;\n @Input()\n public placeholderKey: string;\n @Input()\n public fieldName: string;\n @Input()\n public multiple: boolean = true;\n @Input()\n public showFileList: boolean = true;\n @Input()\n public disabled: boolean = false;\n @Input()\n public restrictions: FileRestrictions = this.defaultFileRestrictions;\n @Output() filesSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n onFilesSelected(event: SelectEvent): void {\n const selectedFiles: File[] = event.files.map(\n (file: FileInfo) => file.rawFile,\n );\n this.filesSelected.emit(selectedFiles);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <kendo-fileselect\n id=\"{{ '_' + fieldName }}\"\n [formControlName]=\"fieldName\"\n [multiple]=\"multiple\"\n [showFileList]=\"showFileList\"\n [restrictions]=\"restrictions\"\n [attr.disabled]=\"disabled\"\n (select)=\"onFilesSelected($event)\"\n >\n <kendo-fileselect-messages\n dropFilesHere=\"{{ 'FileSelect.DropFilesHere' | translate }}\"\n ></kendo-fileselect-messages>\n <kendo-upload-messages\n select=\"{{ placeholderKey | translate }}\"\n ></kendo-upload-messages>\n </kendo-fileselect>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputModule } from '../../field/field-input/field-input.module';\nimport { UploadsModule } from '@progress/kendo-angular-upload';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldFileSelectComponent } from './field-file-select.component';\n\n@NgModule({\n declarations: [FieldFileSelectComponent],\n exports: [FieldFileSelectComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n FieldInputModule,\n HttpClientModule,\n UploadsModule,\n ],\n})\nexport class FieldFileSelectModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-numerictextbox-input',\n templateUrl: './field-numerictextbox-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldNumericTextBoxInputComponent extends FieldComponent<number> {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number;\n @Input() format: string = '#';\n @Input() selectedValue: number = 0;\n @Input() placeholder: string = '';\n @Output() selectedChange: EventEmitter<number> = new EventEmitter();\n\n get control(): AbstractControl | null {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(\n public override parent: FormGroupDirective,\n public override eref: ElementRef,\n ) {\n super(parent, eref, 0);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.initializeControlValue();\n }\n\n override ngOnChanges(): void {\n super.ngOnChanges();\n }\n\n public onValueChange(event: number): void {\n this.emitSelectedEntity(event);\n }\n\n private emitSelectedEntity(entity: number): void {\n this.selectedChange.emit(entity);\n }\n\n public initializeControlValue(): void {\n if (this.control?.value !== undefined && this.control?.value !== null) {\n this.setControlValue(this.control.value);\n } else {\n this.setControlValue(this.selectedValue);\n }\n }\n\n public setControlValue(value: number | string): void {\n if (typeof value === 'string') {\n this.control?.setValue(Number(value));\n } else {\n this.control?.setValue(value);\n }\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n >\n {{ labelKey | translate }}\n </label>\n\n <div class=\"col-md-9\">\n <kendo-numerictextbox\n id=\"{{ '_' + fieldName }}\"\n [format]=\"format\"\n [step]=\"step\"\n [min]=\"min\"\n [max]=\"max\"\n [placeholder]=\"placeholder\"\n formControlName=\"{{ fieldName }}\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-numerictextbox>\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { FieldNumericTextBoxInputComponent } from './field-numerictextbox-input.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [FieldNumericTextBoxInputComponent],\n exports: [FieldNumericTextBoxInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n InputsModule,\n LabelModule,\n ],\n})\nexport class FieldNumericTextBoxInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-checkbox-input',\n templateUrl: './field-checkbox-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldCheckBoxInputComponent extends FieldComponent<boolean> {\n @Input() selectedValue: boolean = false;\n @Output() selectedChange: EventEmitter<boolean> = new EventEmitter();\n\n get control(): AbstractControl | null {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(\n public override parent: FormGroupDirective,\n public override eref: ElementRef,\n ) {\n super(parent, eref, false);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.initializeControlValue();\n }\n\n override ngOnChanges(): void {\n super.ngOnChanges();\n }\n\n public onValueChange(event: boolean): void {\n this.emitSelectedEntity(event);\n }\n\n public setControlValue(value: boolean | string): void {\n if (typeof value === 'string') {\n value === 'false'\n ? this.control?.setValue(false)\n : this.control?.setValue(true);\n } else {\n this.control?.setValue(value);\n }\n }\n\n public initializeControlValue(): void {\n if (this.control?.value !== undefined && this.control?.value !== null) {\n this.setControlValue(this.control.value);\n } else {\n this.setControlValue(this.selectedValue);\n }\n }\n\n private emitSelectedEntity(entity: boolean): void {\n this.selectedChange.emit(entity);\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n >{{ labelKey | translate }}</label\n >\n\n @if (control) {\n <div class=\"col-md-9\">\n <input\n id=\"{{ '_' + fieldName }}\"\n type=\"checkbox\"\n kendoCheckBox\n [formControlName]=\"fieldName\"\n (ngModelChange)=\"onValueChange($event)\"\n #selectedValue\n />\n <ng-content></ng-content>\n </div>\n }\n</div>\n","import { FieldCheckBoxInputComponent } from './field-checkbox-input.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [FieldCheckBoxInputComponent],\n exports: [FieldCheckBoxInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n InputsModule,\n LabelModule,\n ],\n})\nexport class FieldCheckBoxInputModule {}\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 let uri = name.trim()\n ? `activities/${name}?${toODataString(state, { utcDates: true })}`\n : `activities?${toODataString(state, { utcDates: true })}`;\n\n return `${uri.replace(guidFormat, '$1')}`;\n },\n search: (state: State, searchTerm: string) => {\n let uri = name.trim()\n ? `activities/${name}/search?${toODataString(state, { utcDates: true })}`\n : `activities/search?${toODataString(state, { utcDates: true })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) => {\n let uri = name.trim()\n ? `activities/${name}/${id}`\n : `activities/${id}`;\n if (partnerId) {\n uri += `/${partnerId}`;\n }\n\n return uri;\n }\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 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 standalone: false\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 ngOnInit() {\n this.subscription = this.keyUp\n .pipe(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 keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DebounceDirective } from './debounce.directive';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [DebounceDirective],\n exports: [DebounceDirective],\n imports: [CommonModule],\n})\nexport class DebounceModule {}\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 (Object.keys(error.errors).length > 1 && 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","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 standalone: false,\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","@if (form) {\n <div [formGroup]=\"form\">\n @if (form.invalid && errors.length) {\n <div class=\"bg-danger\">\n <ul class=\"custom-error\">\n @for (error of errors; track error) {\n <li>{{ error }}</li>\n }\n </ul>\n </div>\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { GeneralErrorsComponent } from './general-errors.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [GeneralErrorsComponent],\n exports: [GeneralErrorsComponent],\n imports: [\n CommonModule, \n ReactiveFormsModule, \n FormsModule,\n ],\n})\nexport class GeneralErrorsModule {}\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","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 { 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 { 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';\nimport { HttpRequestOptions } from './http-request-options.model';\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\n get<T>(path: string, options?: HttpRequestOptions): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err, options),\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 | FormData,\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 | FormData,\n successTranslateMessage: string = null,\n showSuccessMessage: boolean = true,\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() => {\n if (showSuccessMessage) {\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n );\n }\n }),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n 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(\n error: CustomHttpErrorResponse,\n options?: HttpRequestOptions,\n ) {\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 && !options?.muteNotFoundError) {\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')}${\n error.error.title\n }`,\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.BadRequest) {\n this.appToastrService.showError(\n `${this.translate.instant('ToastrMessages.ValidationError')}${\n error.error.title\n }`,\n );\n\n return throwError(() => error);\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 { 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, 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 standalone: false\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 { NgModule } from \"@angular/core\";\nimport { LiveUpdatesControlComponent } from \"./live-updates-control.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [LiveUpdatesControlComponent],\n imports: [CommonModule, TranslateModule],\n exports: [LiveUpdatesControlComponent],\n})\nexport class LiveUpdatesControlModule {}","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\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 standalone: false\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n\n public collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (url: string | UrlTree): 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 public collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n event[collapsedEvent] = !activeItem.items || activeItem.items.length === 0;\n }\n\n private setItemExpand(): void {\n const hasExpandedChild = this.item.items?.some(\n (childItem) =>\n childItem.expanded &&\n childItem.items?.some((x) => x.link === this.actualPath),\n );\n this.item.expanded =\n !!hasExpandedChild ||\n this.item.items?.some((x) => x.link === this.actualPath);\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","@if (item.items && item.items.length) {\n <a (click)=\"collapseChild(item, $event)\">\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n <ul\n [ngClass]=\"\n item.expanded\n ? 'nav nav-second-level collapse in'\n : 'nav nav-second-level collapse'\n \"\n >\n @for (item of item.items; track item) {\n <li\n ngClass=\"nav nav-third-level collapse\"\n menu-item-group\n [item]=\"item\"\n ></li>\n }\n </ul>\n}\n@if (!item.items || !item.items.length) {\n @if (item.link) {\n <a\n routerLink=\"{{ item.link }}\"\n routerLinkActive=\"active-route\"\n class=\"sub-menu-link\"\n (click)=\"collapseChild(item, $event)\"\n >\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n }\n @if (item.url) {\n <a\n class=\"sub-menu-link\"\n href=\"{{ item.url }}\"\n target=\"_blank\"\n (click)=\"collapseChild(item, $event)\"\n >\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n }\n}\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 standalone: false\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n public onLogoClick() {\n this.logoClick.emit();\n }\n\n public collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent,\n ): void {\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 @for (item of items; track item) {\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 }\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 standalone: false\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 @if (node.isPrimitive) {\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 } @else {\n <span>\n @if (hasExpand) {\n <em\n [ngClass]=\"\n expanded\n ? 'fa fa-caret-down node-toggler'\n : 'fa fa-caret-right node-toggler'\n \"\n (click)=\"toggleExpand()\"\n ></em>\n }\n @if (!expanded && !node.startTag) {\n <span class=\"ellipsis\">...</span>\n }\n <ul [ngClass]=\"!expanded ? 'hidden' : ''\">\n @for (child of node.children; track child) {\n <li class=\"tree-view-prop\">\n <span class=\"prop-name\">{{ child.startTag }}</span>\n @if (child.isPrimitive) {\n <span [ngClass]=\"child.nodeType\">{{\n child.value\n }}</span>\n }\n @if (child.isComplex) {\n <tree-view-node\n [node]=\"child\"\n [hasExpand]=\"true\"\n #node\n ></tree-view-node>\n }\n <span class=\"prop-name\">{{ child.endTag }}</span>\n </li>\n }\n </ul>\n </span>\n }\n <span class=\"bracket\">{{ node.brackets?.outside }}</span>\n</span>\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';\nimport { TreeViewCustomButton } from './models/TreeViewCustomButton';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n standalone: false,\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 @Input() customButtons: TreeViewCustomButton[] = [];\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public activeCustomView: string | null = null;\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 public get isShowingCustomContent(): boolean {\n return this.activeCustomView !== null;\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.activeCustomView = null;\n this.resolved = this.data && 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 if (this.rawView) {\n this.activeCustomView = null;\n }\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 public onCustomButtonClick(button: TreeViewCustomButton): void {\n if (button.action && !button.disabled) {\n if (button.isToggle) {\n if (this.activeCustomView === button.id) {\n this.activeCustomView = null;\n } else {\n this.activeCustomView = button.id;\n this.rawView = false;\n }\n }\n\n button.action();\n }\n }\n\n public isCustomButtonVisible(button: TreeViewCustomButton): boolean {\n return button.visible !== false;\n }\n public isCustomButtonActive(button: TreeViewCustomButton): boolean {\n return this.activeCustomView === button.id;\n }\n\n public getArrayData(): TreeViewNode[] {\n return this.resolved.data as TreeViewNode[];\n }\n\n public getSingleNodeData(): TreeViewNode {\n return this.resolved.data as TreeViewNode;\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","@if (data) {\n <div\n class=\"tree-view\"\n [ngClass]=\"collapsed ? 'collapsed' : 'expanded'\"\n [class]=\"format\"\n >\n @if (format != ContentTypesFormat.Text) {\n <div>\n <ng-container *ngTemplateOutlet=\"defaultActions\"></ng-container>\n </div>\n <div class=\"tree-view-main-content\">\n @if (isShowingCustomContent) {\n <div class=\"custom-content-container\">\n <div class=\"custom-content-body\">\n <ng-content select=\"[slot=custom-content]\"></ng-content>\n </div>\n </div>\n } @else {\n <div\n [ngClass]=\"allShow ? 'show-all tree-view-body' : 'tree-view-body'\"\n >\n @if (IsArray) {\n @for (node of getArrayData(); track node) {\n <tree-view-node\n class=\"array-node\"\n [node]=\"node\"\n [hasExpand]=\"true\"\n #node\n >\n </tree-view-node>\n }\n } @else {\n <tree-view-node\n [node]=\"getSingleNodeData()\"\n #node\n >\n </tree-view-node>\n }\n </div>\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"defaultActions\"> </ng-container>\n <pre class=\"text-view tree-view-body\">{{ data }}</pre>\n }\n <ng-template #defaultActions>\n @if (resolved.format !== ContentTypesFormat.Text) {\n <button\n class=\"tree-view-action\"\n title=\"{{\n (collapsed\n ? 'TreeViewMessages.Expand'\n : 'TreeViewMessages.Collapse'\n ) | translate\n }}\"\n [disabled]=\"rawView || isShowingCustomContent\"\n (click)=\"toggleExpandAll()\"\n >\n <i [ngClass]=\"allShow ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </button>\n }\n <button\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.CopyToClipboard' | translate }}\"\n (click)=\"copyToClipboard()\"\n >\n <i class=\"fa fa-clipboard\"></i>\n </button>\n <button\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.PrettyCopyToClipboard' | translate }}\"\n (click)=\"prettyCopyToClipboard()\"\n >\n <i class=\"fa fa-magic\"></i>\n </button>\n @if (resolved.format !== ContentTypesFormat.Text) {\n <button\n class=\"tree-view-action\"\n title=\"{{\n (rawView\n ? 'TreeViewMessages.ToJsonView'\n : 'TreeViewMessages.ToFormattedView'\n ) | translate\n }}\"\n [ngClass]=\"rawView ? 'pressed' : ''\"\n (click)=\"toggleRawView()\"\n >\n <i class=\"fa fa-file-text-o\"></i>\n </button>\n }\n @for (button of customButtons; track button) {\n <button\n [disabled]=\"button.disabled\"\n [style.display]=\"\n isCustomButtonVisible(button) ? 'inline-block' : 'none'\n \"\n [ngClass]=\"[\n 'tree-view-action',\n isCustomButtonActive(button) ? 'pressed' : '',\n ]\"\n [title]=\"button.title\"\n (click)=\"onCustomButtonClick(button)\"\n >\n <i [class]=\"button.icon\"></i>\n </button>\n }\n </ng-template>\n @if (hasCollapse) {\n <div>\n <button\n class=\"expand-toggler\"\n (click)=\"expandToggle()\"\n >\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 }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './tree-view.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { TreeViewModule } from '@progress/kendo-angular-treeview';\n\n@NgModule({\n declarations: [TreeViewComponent, TreeViewNodeComponent],\n imports: [CommonModule, TranslateModule, TreeViewModule],\n exports: [TreeViewComponent],\n})\nexport class IndiginaTreeViewModule {}\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Promise<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 { map, Observable, of, throwError } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\nimport { catchError } from 'rxjs/operators';\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 async initialize(): Promise<Observable<boolean>> {\n await this.authService.instance.initialize();\n\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 this.authService.acquireTokenSilent(request).pipe(\n map((authenticationResult) => {\n const token: string = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n }),\n catchError((error) => {\n if (error instanceof InteractionRequiredAuthError) {\n this.authService.loginRedirect(request).subscribe();\n }\n\n return throwError(() => error);\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 } 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 from(provider.initialize()).subscribe(() => {\n this.AuthProvider$.next(provider);\n });\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 { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Input, Output } 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 changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange: EventEmitter<boolean> = 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","@if (visible) {\n <kendo-window\n class=\"language-selector\"\n [draggable]=\"false\"\n [resizable]=\"false\">\n <kendo-window-titlebar>\n <div>{{ \"ChangeLanguage\" | translate }}</div>\n <button kendoWindowCloseAction (click)=\"close()\"></button>\n </kendo-window-titlebar>\n @if (languages) {\n <div class=\"languages\">\n @for (language of languages; track language) {\n <div class=\"language-change-action\">\n <button class=\"btn\" (click)=\"changeLanguage(language.code)\">\n @if (currentLanguageCode === language.code) {\n <span\n class=\"fa fa-check\" aria-hidden=\"true\"\n ></span>\n }\n {{ language.name }}\n </button>\n </div>\n }\n </div>\n }\n </kendo-window>\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostListener, Input, ViewChild } 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 changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n @Input() menuItems: AccountMenuItem[];\n expand: boolean = false;\n languageSelectorVisible: boolean = false;\n\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings,\n ) {\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 toggle(): 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.toggle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any): void {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toggle();\n }\n }\n}\n","<div class=\"profile-img left\" id=\"accountMenu\">\n <div #accountMenuElement title=\"User Account\" (click)=\"toggle()\">\n <div class=\"img-circle top-bar-profile left\"></div>\n </div>\n @if (expand) {\n <kendo-popup\n [anchor]=\"accountMenu\"\n popupClass=\"k-widget dropdown open\">\n <ul class=\"dropdown-menu top-bar-dropdown animated fadeInLeft\">\n <li class=\"top-bar-header-row media\">\n <div class=\"media-left\">\n <div class=\"img-circle\"></div>\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 data-icon=\"globe\" (click)=\"openLanguageSelector($event)\">\n {{ \"ChangeLanguage\" | translate }}</a>\n </li>\n <li>\n <a data-icon=\"desktop\" translate=\"Account\" [href]=\"accountUrl\"></a>\n </li>\n @for (menuItem of menuItems; track menuItem) {\n <li>\n @if (menuItem.useRouter) {\n <a\n [routerLink]=\"menuItem.link\"\n [attr.data-icon]=\"menuItem.iconClass\">\n {{ menuItem.text | translate }}\n </a>\n } @else {\n <a [href]=\"menuItem.link\" [attr.data-icon]=\"menuItem.iconClass\">\n {{ menuItem.text | translate }}\n </a>\n }\n </li>\n }\n <li>\n <a translate=\"Logout\" data-icon=\"sign-out\" (click)=\"logout()\"></a>\n </li>\n </ul>\n </kendo-popup>\n }\n\n <language-selector [(visible)]=\"languageSelectorVisible\"\n ></language-selector>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LanguageSelectorComponent } from './language-selector.component';\nimport { CommonModule } from '@angular/common';\nimport { WindowModule } from '@progress/kendo-angular-dialog';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n LanguageSelectorComponent\n ],\n imports: [\n CommonModule,\n WindowModule,\n TranslateModule,\n ],\n exports: [\n LanguageSelectorComponent,\n ]\n})\nexport class LanguageSelectorModule {\n}\n","import { NgModule } from '@angular/core';\nimport { AccountMenuComponent } from './account-menu.component';\nimport { CommonModule } from '@angular/common';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { LanguageSelectorModule } from '../language-selector/language-selector.module';\n\n@NgModule({\n declarations: [\n AccountMenuComponent,\n ],\n imports: [\n CommonModule,\n PopupModule,\n TranslateModule,\n RouterModule,\n LanguageSelectorModule,\n ],\n exports: [\n AccountMenuComponent,\n ],\n})\nexport class AccountMenuModule {\n}\n","import { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult, EventType } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { filter } from 'rxjs/operators';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n private readonly msalBroadcastService: MsalBroadcastService = inject(MsalBroadcastService);\n private readonly router: Router = inject(Router);\n private readonly settingsService: SettingsService = inject(SettingsService);\n private readonly authService: MsalService = inject(MsalService);\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 this.msalBroadcastService.msalSubject$.pipe(\n filter(({ eventType }) => eventType === EventType.ACQUIRE_TOKEN_FAILURE || eventType === EventType.LOGIN_FAILURE),\n ).subscribe(() => this.authService.logoutRedirect());\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 standalone: false\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?.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 { NgModule } from '@angular/core';\nimport { RequirePermissionDirective } from './requirePermission.directive';\n\n@NgModule({\n declarations: [RequirePermissionDirective],\n exports: [RequirePermissionDirective],\n})\nexport class RequirePermissionModule {}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\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 Use = 'Use',\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 {\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 { 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 { 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 {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const getValueFromFilterByField = (field: string, filter: CompositeFilterDescriptor): string => {\n if (filter?.filters) {\n const matchingFilter: CompositeFilterDescriptor | FilterDescriptor | undefined = filter.filters.find(\n (desc) => (desc as FilterDescriptor).field === field,\n );\n\n return (matchingFilter as FilterDescriptor)?.value;\n }\n\n return '';\n};\n","import { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { Observable } from 'rxjs';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpRequestOptions } from '../angular/services/http-request-options.model';\nimport { HttpService } from '../angular/services/http.service';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { IEntityService } from './IEntityService';\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, options?: HttpRequestOptions): Observable<T> {\n return this.httpService.get<T>(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n options,\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 { Component, OnInit } from '@angular/core';\nimport moment from 'moment';\nimport * as momentModule from 'moment-timezone';\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n standalone: false\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n\n ngOnInit(): void {\n const timeZone = momentModule.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 standalone: false,\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 @Input() onClearCallback?: () => void;\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 if (this.onClearCallback) {\n this.onClearCallback();\n }\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 @if (showArchiveSwitcher) {\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n }\n @if (showSearhText) {\n <div>\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 }\n </div>\n </div>\n <div class=\"filter-row\">\n @for (field of customFilterElements; track field) {\n @switch (field.fieldType) {\n @case (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 }\n @case (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 }\n @case (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 }\n @case (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 }\n }\n }\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 { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CurrentTimezoneComponent } from './current-timezone.component';\n\n@NgModule({\n declarations: [CurrentTimezoneComponent],\n exports: [CurrentTimezoneComponent],\n imports: [TranslateModule],\n})\nexport class CurrentTimeZoneModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ActivityFilterComponent } from './activity-filter.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { CurrentTimeZoneModule } from '../current-timezone';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { dateFilterParameter } from '../../services/activity.filter.service.config';\n\n@NgModule({\n declarations: [ActivityFilterComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n DateInputsModule,\n DropDownsModule,\n CurrentTimeZoneModule,\n ],\n exports: [ActivityFilterComponent],\n})\nexport class ActivityFilterModule {\n static forRoot(\n startDateFieldName: string,\n ): ModuleWithProviders<ActivityFilterModule> {\n return {\n ngModule: ActivityFilterModule,\n providers: [\n {\n provide: dateFilterParameter,\n useValue: startDateFieldName,\n },\n ],\n };\n }\n}\n","import { Component, ViewChild, TemplateRef, ViewContainerRef } 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 standalone: false\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(\n private readonly dialogService: DialogService,\n private readonly viewContainerRef: ViewContainerRef) {}\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 appendTo: this.viewContainerRef,\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 { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n imports: [TranslateModule, DialogModule],\n exports: [ConfirmDialogComponent],\n})\nexport class ConfirmDialogModule {}\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { PermissionTypes } from '../../../models/PermissionTypes';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.scss'],\n standalone: false,\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Input()\n public defaultCreateButtonText: string;\n @Output()\n public save: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n public permissionTypes: PermissionTypes[] = [PermissionTypes.Create];\n}\n","<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4 left-buttons\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"{{ defaultCreateButtonText ?? 'CreateNew' }}\"\n requirePermission\n [permissionType]=\"permissionTypes\"\n ></a>\n <div class=\"custom-buttons-wrapper\">\n <ng-content select=\"[custom-buttons]\"></ng-content>\n </div>\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 { NgModule } from '@angular/core';\nimport { EntityEditButtonsBarComponent } from './buttons-bar.component';\nimport { RouterModule } from '@angular/router';\nimport { RequirePermissionModule } from '../../../directives/requirePermission';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [EntityEditButtonsBarComponent],\n imports: [RouterModule, RequirePermissionModule, TranslateModule],\n exports: [EntityEditButtonsBarComponent],\n})\nexport class EntityEditButtonsBarModule {}\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 standalone: false\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 createButtonText: string;\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n let createButtonTextFromRoute = this.route.snapshot.data?.createButtonText;\n this.createButtonText = createButtonTextFromRoute;\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 @if (formGroup | async; as form) {\n <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 [defaultCreateButtonText]=\"createButtonText\"\n >\n </entity-edit-buttons-bar>\n </form>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { EntityEditFormComponent } from './entity-edit-form.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GeneralErrorsModule } from '../../angular/forms/widgets/general-errors';\nimport { EntityEditButtonsBarModule } from './buttons-bar';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [EntityEditFormComponent],\n exports: [EntityEditFormComponent],\n imports: [\n CommonModule,\n TranslateModule,\n GeneralErrorsModule,\n EntityEditButtonsBarModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n})\nexport class EntityEditFormModule {}\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 {\n Component,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor, SortDescriptor } from '@progress/kendo-data-query';\nimport { BehaviorSubject, 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';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\n\nconst SelectValue: string = 'Select value';\nconst defaultFieldName: string = 'name';\nconst defaultValueField: string = 'id';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: '../dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldDropdownComponent extends FieldComponent<string> {\n @Input() service: IGetPageService<NamedModel>;\n @Input() rebind: string;\n @Input() filter?: CompositeFilterDescriptor;\n @Input() sort?: SortDescriptor[];\n @Input() defaultName?: string;\n @Input() selectedItem?: NamedModel;\n @Input() data?: NamedModel[];\n @Input() textField: string = defaultFieldName;\n @Input() valueField: string = defaultValueField;\n @Output() selectedChange: EventEmitter<NamedModel | number | string> =\n new EventEmitter();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n\n private items: NamedModel[];\n public defaultItem: NamedModel;\n public data$: Observable<NamedModel[]>;\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 private translate: TranslateService,\n ) {\n super(parent, eref, null);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setData();\n this.setDefaultItem();\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setData();\n }\n\n public onValueChange(event: string): void {\n let entity: NamedModel | undefined = undefined;\n if (event !== null) {\n entity = this.getEntityByValue(event);\n }\n\n this.emitSelectedEntity(entity || this.defaultItem);\n }\n\n public setData(): void {\n if (this.data) {\n let dataSubject: BehaviorSubject<NamedModel[]> = new BehaviorSubject<\n NamedModel[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n if (this.selectedItem) {\n this.handleSelectedEntity();\n }\n } else {\n this.data$ = this.service\n .getPage(this.filter ? { filter: this.filter, sort: this.sort} : {sort: this.sort})\n .pipe(\n tap((response) => {\n this.items = response.data;\n this.handleSelectedItem();\n }),\n map((response) => response.data),\n );\n }\n }\n\n private setDefaultItem(): void {\n this.defaultItem = {\n name: this.setDefaultName(),\n id: null,\n [this.textField]: this.setDefaultName(),\n [this.valueField]: null,\n };\n }\n\n private setDefaultName(): string {\n return this.translate.instant(this.defaultName || SelectValue);\n }\n\n private handleSelectedItem(): void {\n if (this.selectedItem) {\n this.handleSelectedEntity();\n } else {\n this.updateControlValue(this.control.value);\n }\n }\n\n private handleSelectedEntity(): void {\n const selectedEntity: NamedModel = this.updateControlValue(\n this.selectedItem[this.valueField],\n );\n if (selectedEntity && selectedEntity[this.valueField] !== null) {\n this.onValueChange(selectedEntity[this.valueField]);\n this.writeSelectedEntityValue(selectedEntity[this.valueField]);\n }\n }\n\n private updateControlValue(value: string): NamedModel {\n const entity: NamedModel = this.getEntityByValue(value);\n if (entity) {\n this.setControlValue(entity);\n } else {\n this.resetControlValue();\n }\n\n return entity;\n }\n\n private getEntityByValue(value: string): NamedModel {\n if (this.data) {\n return this.data.find((x) => x[this.valueField] === value);\n } else {\n return this.items.find((x) => x[this.valueField] === value);\n }\n }\n\n private setControlValue(entity: NamedModel): void {\n this.control.setValue(entity[this.valueField]);\n }\n\n private resetControlValue(): void {\n this.control.reset();\n }\n\n private emitSelectedEntity(entity: NamedModel): void {\n this.selectedChange.emit(entity);\n }\n\n private writeSelectedEntityValue(value: string): void {\n this.kendoDropDown?.writeValue(value);\n }\n}\n","<div class=\"form-group\">\n <label for=\"{{ '_' + fieldName }}\" class=\"col-md-3 control-label\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { FieldComponent } from '../../../../angular/forms/widgets/field/field.component';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SimpleObject, valueTypes } from '../simple-object.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nconst SelectValue: string = 'Select value';\n\n@Component({\n selector: 'object-dropdown',\n templateUrl: './object-dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ObjectDropdownComponent extends FieldComponent<valueTypes> {\n @Input()\n fieldName: string;\n @Input()\n labelKey: string;\n @Input()\n data: SimpleObject[];\n @Input()\n selectedItem?: valueTypes;\n @Input()\n defaultName?: string;\n @Input()\n rebind: string;\n @Output() selectedChange: EventEmitter<SimpleObject> =\n new EventEmitter<SimpleObject>();\n\n public defaultItem: SimpleObject;\n public data$: Observable<SimpleObject[]>;\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 private translate: TranslateService,\n ) {\n super(parent, eref, null);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setInputData();\n this.writeSelectedItemIfExists(this.selectedItem);\n this.setDefaultItem();\n }\n\n private setDefaultItem(): void {\n this.defaultItem = {\n value: null,\n description: this.translate.instant(this.defaultName || SelectValue),\n };\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setInputData();\n this.writeSelectedItemIfExists(this.selectedItem);\n }\n\n private setInputData(): void {\n let dataSubject: BehaviorSubject<SimpleObject[]> = new BehaviorSubject<\n SimpleObject[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n }\n\n public onValueChange(event: valueTypes): void {\n if (event !== null) {\n const entity: SimpleObject = this.getEntityByValue(event);\n this.emitSelectedEntity(entity);\n } else {\n this.emitSelectedEntity(this.defaultItem);\n }\n }\n\n private getEntityByValue(event: valueTypes): SimpleObject {\n return this.data.find((x) => x.value === event);\n }\n\n public emitSelectedEntity(entity: SimpleObject): void {\n this.selectedChange.emit(entity);\n }\n\n private writeSelectedItemIfExists(selectedItem: valueTypes): void {\n if (this.selectedItem) {\n this.setControlValue(selectedItem);\n }\n }\n\n private setControlValue(value: valueTypes): void {\n this.control.setValue(value);\n }\n}\n","<div class=\"form-group\">\n <label for=\"{{ '_' + fieldName }}\" class=\"col-md-3 control-label\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"'description'\"\n [valueField]=\"'value'\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-dropdownlist>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { PreventableEvent } from '@progress/kendo-angular-dropdowns';\nimport {\n BehaviorSubject,\n map,\n Observable,\n Subject,\n takeUntil,\n tap,\n} 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 changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: ControlContainer,\n useExisting: FormGroupDirective,\n },\n ],\n standalone: false\n})\nexport class FieldMultiSelectComponent<T>\n extends FieldComponent<string[]>\n implements OnInit, OnChanges, OnDestroy\n{\n @Input() service: IEntityService<NamedModel>;\n @Input() rebind: string;\n @Input() filter?: CompositeFilterDescriptor;\n @Input() textField?: string;\n @Input() valueField?: string;\n @Input() data: NamedModel[];\n @Input() singleMode: boolean = false;\n @Input() autoClose: boolean = false;\n @Output() changed: EventEmitter<T> = new EventEmitter<T>();\n\n readonly destroy$: Subject<void> = new Subject<void>();\n public 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 this.textField = this.textField ?? 'name';\n this.valueField = this.valueField ?? 'id';\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 ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public setData(): void {\n if (this.data) {\n let dataSubject: BehaviorSubject<NamedModel[]> = new BehaviorSubject<\n NamedModel[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n } else {\n this.data$ = this.getData().pipe(\n tap((page) => {\n let data: NamedModel[] = page.data;\n this.control.setValue(\n this.control.value.filter((x: string) =>\n data.some((d) => d.id === x),\n ),\n );\n }),\n map((page) => page.data),\n takeUntil(this.destroy$),\n );\n }\n }\n\n public onPopupOpen(event: PreventableEvent): void {\n if (!this.singleMode) {\n return;\n }\n\n this.control.value.length > 0 && event.preventDefault();\n }\n\n public onValueChange(value: T): void {\n this.changed.emit(value);\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 class=\"col-md-3 control-label\" [for]=\"'_' + fieldName\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n (valueChange)=\"onValueChange($event)\"\n ></kendo-multiselect>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>\n {{ control.errors[\"serverErrorMsg\"] }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { FieldMultiSelectComponent } from './field-multiselect.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MultiSelectModule } from '@progress/kendo-angular-dropdowns';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n FieldMultiSelectComponent,\n ],\n imports: [\n ReactiveFormsModule,\n MultiSelectModule,\n TranslateModule,\n CommonModule,\n ],\n exports: [\n FieldMultiSelectComponent,\n ],\n})\n\nexport class FieldMultiselectModule {\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 { 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 standalone: false\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 CellClickEvent,\n DataStateChangeEvent,\n RemoveEvent,\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 { 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.scss'],\n standalone: false\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: number[] = [];\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 this.page.subscribe((pageData) => {\n if (pageData?.data) {\n this.route.firstChild?.params.subscribe((params: Params) => {\n if (params['id']) {\n const currentItemIndex = pageData.data.findIndex(\n (item) => parseInt(item.id) === parseInt(params['id']),\n );\n this.selected = [currentItemIndex];\n } else {\n this.selected = [];\n }\n });\n }\n });\n }\n\n public generateDateBasedExcelFileName(): string {\n return `Export-${new Date().toLocaleString()}.xlsx`;\n }\n\n public removeHandler(e: RemoveEvent) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n e.dataItem.name +\n '\"?',\n () => this.remove(e),\n );\n }\n\n public selectItem(e: CellClickEvent) {\n this.selected[0] = e.rowIndex;\n this.router.navigate([e.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 newItem = this.mapItemFn(data);\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])] = newItem;\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];\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n protected getData() {\n this.loadings++;\n\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(e: RemoveEvent) {\n this.loadings++;\n this.service\n .delete(e.dataItem.id)\n .pipe(\n map(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === e.rowIndex\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n this.selected.pop();\n } else {\n this.selected = [this.selected[0] - 1];\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\">{{\n \"Search\" | translate\n }}</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\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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @if (!dataItem.suppressDeletion) {\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n }\n </ng-template>\n </kendo-grid-command-column>\n @for (field of gridFields; track field) {\n <kendo-grid-column\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n }\n @if (commands.length > 0) {\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @for (command of commands; track command) {\n <button\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n @if (command.iconClass) {\n <em\n class=\"{{ command.iconClass }}\"\n ></em>\n }\n {{ command.name | translate }}\n </button>\n }\n </ng-template>\n </kendo-grid-command-column>\n }\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\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 </div>\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 standalone: false\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 { NgModule } from '@angular/core';\nimport { ExcelExportButtonComponent } from './excel-export-button.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ExcelModule } from '@progress/kendo-angular-grid';\n\n@NgModule({\n declarations: [ExcelExportButtonComponent],\n exports: [ExcelExportButtonComponent],\n imports: [TranslateModule, ExcelModule],\n})\nexport class ExcelExportButtonModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../../../models/PermissionTypes';\n\n@Component({\n selector: 'create-new',\n templateUrl: './create-new.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CreateNewComponent {\n public defaultLabelKey: string = 'CreateNew';\n public permissionTypes: PermissionTypes[] = [\n PermissionTypes.Create,\n ];\n\n constructor(private route: ActivatedRoute) {\n let labelKeyFromRoute: string = this.route.snapshot.data?.labelKey;\n if (labelKeyFromRoute) {\n this.defaultLabelKey = labelKeyFromRoute;\n }\n }\n}\n","<div class=\"col-md-8\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel editor-area hero-unit\">\n <div class=\"form-horizontal\">\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 requirePermission\n translate=\"{{ defaultLabelKey }}\"\n [permissionType]=\"permissionTypes\"\n >\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RequirePermissionModule } from '../../../directives/requirePermission';\nimport { RouterModule } from '@angular/router';\nimport { CreateNewComponent } from './create-new.component';\n\n@NgModule({\n declarations: [CreateNewComponent],\n imports: [\n RouterModule, \n RequirePermissionModule, \n TranslateModule,\n ],\n exports: [CreateNewComponent],\n})\nexport class CreateNewModule {}\n","import { NgModule } from '@angular/core';\nimport { EntityListComponent } from './entity-list.component';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialogModule } from '../confirm-dialog';\nimport { RouterModule } from '@angular/router';\nimport {\n ExcelModule,\n GridModule,\n} from '@progress/kendo-angular-grid';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceModule } from '../../angular/forms/directives/debounce';\nimport { ExcelExportButtonModule } from '../excel-export-button';\nimport { CreateNewModule } from '../entity-edit/create-new';\nimport { RequirePermissionModule } from '../../directives/requirePermission';\nimport { PagerModule } from \"@progress/kendo-angular-pager\";\nimport { UserListAdminComponent } from \"./user-list-admin.component\";\n\n@NgModule({\n declarations: [EntityListComponent, UserListAdminComponent],\n exports: [EntityListComponent, UserListAdminComponent],\n imports: [\n CommonModule,\n TranslateModule,\n ConfirmDialogModule,\n RouterModule,\n PagerModule,\n GridModule,\n ExcelModule,\n DebounceModule,\n ExcelExportButtonModule,\n RouterModule,\n CreateNewModule,\n RequirePermissionModule,\n FormsModule,\n InputsModule\n],\n})\nexport class EntityListModule {}\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, CompositeFilterDescriptor } 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 standalone: false\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Input()\n sort?: SortDescriptor[];\n @Input()\n filter?: CompositeFilterDescriptor;\n @Input()\n initialSelectedId?: string;\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(\n private translate: TranslateService,\n ) {}\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 const filerOptions = this.filter ? { filter: this.filter } : {};\n const requestOptions = { ...filerOptions, sort: this.sort };\n this.service.getPage(requestOptions).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 { NgModule } from '@angular/core';\nimport { FieldDropdownlistComponent } from './field-dropdownlist.component';\nimport { DropDownListModule } from '@progress/kendo-angular-dropdowns';\n\n@NgModule({\n declarations: [FieldDropdownlistComponent],\n exports: [FieldDropdownlistComponent],\n imports: [DropDownListModule],\n})\nexport class FieldDropdownlistModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class FooterBarComponent {\n}\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 { NgModule } from '@angular/core';\nimport { FooterBarComponent } from './footer-bar.component';\n\n@NgModule({\n declarations: [\n FooterBarComponent,\n ],\n exports: [\n FooterBarComponent,\n ],\n})\nexport class FooterBarModule {\n}\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 standalone: false\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n @Input() title?: 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 @if (opened) {\n <div class=\"k-overlay\" (click)=\"close()\"></div>\n }\n @if (opened) {\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { ModalWindowComponent } from './modal-window.component';\nimport { WindowModule } from '@progress/kendo-angular-dialog';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [ModalWindowComponent],\n imports: [CommonModule, RouterModule, WindowModule, TranslateModule],\n exports: [ModalWindowComponent],\n})\nexport class ModalWindowModule {}\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';\nimport { Operators } from '../../models/Operators';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n standalone: false\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 @Input() public operator?: 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: this.operator ?? Operators.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: Operators.contains,\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","<ul>\n @if (showFilter) {\n <li>\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n }\n @for (item of currentData; track item) {\n <li\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 }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { MulticheckFilterComponent } from './multicheck-filter.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MulticheckFilterComponent],\n imports: [CommonModule],\n exports: [MulticheckFilterComponent],\n})\nexport class MulticheckFilterModule {}\n","import { ChangeDetectionStrategy, 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.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\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=\"top-bar supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button\n type=\"button\"\n class=\"navbar-minimalize minimalize-style-2 btn btn-primary\"\n (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n @if (currentUser != null) {\n <div id=\"topBarIcons\" class=\"clearfix top-bar-user\">\n <a class=\"message-icons left container-login\"\n [routerLink]=\"['/security/admins', currentUser.id]\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">\n {{ currentUser.userName }}\n </span>\n <ng-content select=\".pad5left\"></ng-content>\n </a>\n <account-menu [user]=\"currentUser\"\n [menuItems]=\"menuItems\"\n ></account-menu>\n </div>\n }\n </nav>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TopMenuComponent } from './top-bar.component';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AccountMenuModule } from '../../components/account-menu/account-menu.module';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n AccountMenuModule,\n ],\n exports: [\n TopMenuComponent,\n ],\n})\nexport class TopBarModule {\n}\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ObjectDropdownComponent } from './object-dropdown.component';\n\n@NgModule({\n declarations: [ObjectDropdownComponent],\n exports: [ObjectDropdownComponent],\n imports: [\n CommonModule,\n TranslateModule,\n DropDownsModule,\n ReactiveFormsModule,\n ],\n})\nexport class ObjectDropdownModule {}\n","import { Component } from '@angular/core';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html',\n styleUrls: ['./forbidden.component.css'],\n standalone: false\n})\nexport class ForbiddenComponent {\n constructor(private accountService: AccountService) {}\n\n logout() {\n this.accountService.logout();\n }\n}\n","<div class=\"container body-content\">\n <h2>Forbidden</h2>\n <h4>\n You do not have permission to view this page. Please contact your\n administrator.\n </h4>\n <h4>\n <button\n class=\"btn btn-success\"\n (click)=\"logout()\"\n translate=\"Logout\"\n data-icon=\"sign-out\"\n ></button>\n </h4>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { MenuItemGroupComponent } from \"./menu-item-group/menu-item-group.component\";\nimport { SideMenuComponent } from \"./side-menu.component\";\nimport { NgModule } from \"@angular/core\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RouterModule } from \"@angular/router\";\nimport { FormsModule } from \"@angular/forms\";\nimport { LoadingBarHttpClientModule } from \"@ngx-loading-bar/http-client\";\n\n@NgModule({\n declarations: [SideMenuComponent, MenuItemGroupComponent],\n imports: [CommonModule, TranslateModule, RouterModule, FormsModule, LoadingBarHttpClientModule],\n exports: [SideMenuComponent, MenuItemGroupComponent],\n})\nexport class SideMenuModule {}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable, switchMap } from 'rxjs';\nimport { MsalService } from '@azure/msal-angular';\n\n@Injectable()\nexport class AuthHeadersInterceptor<T> implements HttpInterceptor {\n private readonly msalService: MsalService = inject(MsalService);\n\n intercept(req: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n return this.msalService.acquireTokenSilent({ scopes: [] }).pipe(\n switchMap(result => next.handle(this.addAuthHeader(req, result.idToken))),\n );\n }\n\n private addAuthHeader(req: HttpRequest<T>, token: string): HttpRequest<T> {\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n }\n}\n","import { TranslateLoader, TranslateModule, TranslateStore, TranslationObject } from '@ngx-translate/core';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { Observable, of } from 'rxjs';\nimport { HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { inject, ModuleWithProviders, NgModule, provideAppInitializer } from '@angular/core';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport {\n AccountService,\n AppSettings,\n LocaleSettingsService,\n PermissionsService,\n SignalRService,\n} from '../public-api';\nimport { MsalModule, MsalService } from '@azure/msal-angular';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<TranslationObject> {\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 exports: [\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n ],\n imports: [\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [\n IndiginaConfiguration,\n HttpClient,\n ],\n },\n }),\n LoadingBarHttpClientModule,\n ToastrModule.forRoot(),\n MsalModule,\n ],\n providers: [\n provideAppInitializer(() => {\n const initializerFn: () => void = (LocaleServiceSettingsFactory)(inject(LocaleSettingsService));\n\n return initializerFn();\n }),\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n MsalService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n provideHttpClient(withInterceptorsFromDi()),\n ],\n})\nexport class AppCoreModule {\n public static forRoot(\n configuration: IndiginaConfiguration,\n ): ModuleWithProviders<AppCoreModule> {\n return {\n ngModule: AppCoreModule,\n providers: [\n provideAppInitializer(() => {\n const initializerFn:() => void = (LocaleServiceSettingsFactory)(inject(LocaleSettingsService));\n\n return initializerFn();\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i1","i2.AppSettings","i1.AppToastrService","i3.AppSettings","i5","i6.SettingsService","collapsedEvent","i3.MenuItemGroupComponent","i3.TreeViewNodeComponent","map","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","defaultValueField","i5.CurrentTimezoneComponent","i2.RequirePermissionDirective","i2.GeneralErrorsComponent","i3.EntityEditButtonsBarComponent","i6","SelectValue","tap","i3.ConfirmDialogComponent","i6.DebounceDirective","i7.ExcelExportButtonComponent","i8.RequirePermissionDirective","i9","i10","i11","i3.PartnerService","i4.ConfirmDialogComponent","i7.DebounceDirective","i8.ExcelExportButtonComponent","i9.RequirePermissionDirective","i12","i2.AccountMenuComponent"],"mappings":"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"}
1
+ {"version":3,"file":"indigina-kendo.mjs","sources":["../../../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/file/file-upload/field-file-upload.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-upload/field-file-upload.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-upload/field-file-upload.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/textarea/field-textarea.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/file/file-select/field-file-select.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/numerictextbox/field-numerictextbox-input.module.ts","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.component.ts","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.component.html","../../../projects/kendo/src/lib/angular/forms/widgets/checkbox/field-checkbox-input.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/directives/debounce/debounce.directive.ts","../../../projects/kendo/src/lib/angular/forms/directives/debounce/debounce.module.ts","../../../projects/kendo/src/lib/angular/forms/extensions/FormGroupWithErrors.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/forms/widgets/general-errors/general-errors.module.ts","../../../projects/kendo/src/lib/angular/models/AppSettings.ts","../../../projects/kendo/src/lib/angular/models/HttpCodes.ts","../../../projects/kendo/src/lib/angular/models/HttpMethods.ts","../../../projects/kendo/src/lib/angular/models/IndiginaConfiguration.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/services/locale-settings.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/angular/widgets/live-updates-control/live-updates-control.module.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/widgets/tree-view/indigina-tree-view.module.ts","../../../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/language-selector/language-selector.module.ts","../../../projects/kendo/src/lib/components/account-menu/account-menu.module.ts","../../../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/requirePermission.directive.ts","../../../projects/kendo/src/lib/directives/requirePermission/requirePermission.module.ts","../../../projects/kendo/src/lib/models/FieldTypes.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/widgets/entity-list/UrlSerializer.ts","../../../projects/kendo/src/lib/services/activity.filter.service.config.ts","../../../projects/kendo/src/lib/services/activity.filter.service.ts","../../../projects/kendo/src/lib/services/filter-utils.ts","../../../projects/kendo/src/lib/services/entity.service.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/current-timezone/current-timezone.module.ts","../../../projects/kendo/src/lib/widgets/activity-filter/activity-filter.module.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/confirm-dialog/confirm-dialog.module.ts","../../../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/buttons-bar/buttons-bar.module.ts","../../../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/entity-edit-form.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/entity-edit.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/dropdown.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.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-edit/field-multiselect/field-multiselect.module.ts","../../../projects/kendo/src/lib/services/partner.service.ts","../../../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/widgets/excel-export-button/excel-export-button.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.component.ts","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.component.html","../../../projects/kendo/src/lib/widgets/entity-edit/create-new/create-new.module.ts","../../../projects/kendo/src/lib/widgets/entity-list/entity-list.module.ts","../../../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/entity-list/field-dropdownlist/field-dropdownlist.module.ts","../../../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/footer-bar/footer-bar.module.ts","../../../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/modal-window/modal-window.module.ts","../../../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/multicheck-filter/multicheck-filter.module.ts","../../../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/top-bar/top-bar.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/field-dropdown/field-dropdown.module.ts","../../../projects/kendo/src/lib/widgets/entity-edit/dropdowns/object-dropdown/object-dropdown.module.ts","../../../projects/kendo/src/lib/components/forbidden/forbidden.component.ts","../../../projects/kendo/src/lib/components/forbidden/forbidden.component.html","../../../projects/kendo/src/lib/angular/widgets/side-menu/side-menu.module.ts","../../../projects/kendo/src/lib/interceptors/auth-headers.interceptor.ts","../../../projects/kendo/src/lib/app.core.module.ts","../../../projects/kendo/src/indigina-kendo.ts"],"sourcesContent":["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 standalone: false\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 @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName)?.invalid &&\n parent.form.get(fieldName)?.touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName)?.errors?.['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName)?.errors?.['email']) {\n <span>{{ \"ValidEmail\" | translate }}</span>\n }\n @if (parent.form.get(fieldName)?.errors?.['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName)?.errors?.[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\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 standalone: false\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';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\n\n@NgModule({\n declarations: [FieldInputComponent, NumberInputComponent],\n exports: [FieldInputComponent, NumberInputComponent],\n imports: [\n ButtonsModule,\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n ],\n})\nexport class FieldInputModule {}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldComponent } from '../../field/field.component';\nimport { FileRestrictions } from '@progress/kendo-angular-upload';\n\n@Component({\n selector: 'field-file-upload',\n templateUrl: './field-file-upload.component.html',\n styleUrls: ['./field-file-upload.component.scss'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldFileUploadComponent extends FieldComponent<File> {\n private defaultFileRestrictions: FileRestrictions = {\n allowedExtensions: [],\n };\n\n @Input()\n public labelKey: string;\n @Input()\n public placeholderKey: string;\n @Input()\n public fieldName: string;\n @Input()\n public multiple: boolean = true;\n @Input()\n public showFileList: boolean = true;\n @Input()\n public autoUpload: boolean = false;\n @Input()\n public disabled: boolean = false;\n @Input()\n public saveUrl: string;\n @Input()\n public removeUrl: string;\n @Input()\n public restrictions: FileRestrictions = this.defaultFileRestrictions;\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <kendo-upload\n id=\"{{ '_' + fieldName }}\"\n [formControlName]=\"fieldName\"\n [autoUpload]=\"autoUpload\"\n [saveUrl]=\"saveUrl\"\n [removeUrl]=\"removeUrl\"\n [multiple]=\"multiple\"\n [showFileList]=\"showFileList\"\n [restrictions]=\"restrictions\"\n [attr.disabled]=\"disabled\"\n >\n <kendo-upload-messages\n select=\"{{ placeholderKey | translate }}\"\n ></kendo-upload-messages>\n </kendo-upload>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputModule } from '../../field/field-input/field-input.module';\nimport { UploadsModule } from '@progress/kendo-angular-upload';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldFileUploadComponent } from './field-file-upload.component';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\n\n@NgModule({\n declarations: [FieldFileUploadComponent],\n exports: [FieldFileUploadComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n FieldInputModule,\n HttpClientModule,\n UploadsModule,\n InputsModule,\n ButtonsModule,\n ],\n})\nexport class FieldFileUploadModule {}\n","import { Component, ElementRef, Input } from '@angular/core';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-textarea',\n templateUrl: './field-textarea.component.html',\n styleUrl: './field-textarea.component.scss',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldTextAreaComponent extends FieldComponent<string> {\n @Input() labelKey: string;\n @Input() placeholderKey: string;\n @Input() fieldName: string;\n @Input() readonly: boolean = false;\n @Input() height: number = 200;\n @Input() rebind: string;\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <textarea\n id=\"{{ '_' + fieldName }}\"\n class=\"k-input textarea-with-scroll\"\n [formControlName]=\"fieldName\"\n [readonly]=\"readonly\"\n [style.height.px]=\"height\"\n placeholder=\"{{ placeholderKey | translate }}\"\n ></textarea>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldTextAreaComponent } from './field-textarea.component';\n\n@NgModule({\n declarations: [FieldTextAreaComponent],\n exports: [FieldTextAreaComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n HttpClientModule,\n ],\n})\nexport class FieldTextAreaModule {}\n","import {\n FileInfo,\n FileRestrictions,\n SelectEvent,\n} from '@progress/kendo-angular-upload';\nimport { FieldComponent } from '../../field/field.component';\nimport { ControlContainer, FormGroupDirective } from '@angular/forms';\nimport {\n Component,\n EventEmitter,\n ElementRef,\n Input,\n Output,\n} from '@angular/core';\n\n@Component({\n selector: 'field-file-select',\n templateUrl: './field-file-select.component.html',\n styleUrls: ['./field-file-select.component.scss'],\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n standalone: false\n})\nexport class FieldFileSelectComponent extends FieldComponent<File> {\n private defaultFileRestrictions: FileRestrictions = {\n allowedExtensions: [],\n };\n\n @Input()\n public labelKey: string;\n @Input()\n public placeholderKey: string;\n @Input()\n public fieldName: string;\n @Input()\n public multiple: boolean = true;\n @Input()\n public showFileList: boolean = true;\n @Input()\n public disabled: boolean = false;\n @Input()\n public restrictions: FileRestrictions = this.defaultFileRestrictions;\n @Output() filesSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n onFilesSelected(event: SelectEvent): void {\n const selectedFiles: File[] = event.files.map(\n (file: FileInfo) => file.rawFile,\n );\n this.filesSelected.emit(selectedFiles);\n }\n\n constructor(public parent: FormGroupDirective, public eref: ElementRef) {\n super(parent, eref, null);\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\">\n <kendo-fileselect\n id=\"{{ '_' + fieldName }}\"\n [formControlName]=\"fieldName\"\n [multiple]=\"multiple\"\n [showFileList]=\"showFileList\"\n [restrictions]=\"restrictions\"\n [attr.disabled]=\"disabled\"\n (select)=\"onFilesSelected($event)\"\n >\n <kendo-fileselect-messages\n dropFilesHere=\"{{ 'FileSelect.DropFilesHere' | translate }}\"\n ></kendo-fileselect-messages>\n <kendo-upload-messages\n select=\"{{ placeholderKey | translate }}\"\n ></kendo-upload-messages>\n </kendo-fileselect>\n <ng-content></ng-content>\n @if (parent.form.get(fieldName) &&\n parent.form.get(fieldName).invalid &&\n parent.form.get(fieldName).touched) {\n <div class=\"bg-danger\">\n @if (parent.form.get(fieldName).errors['required']) {\n <span>{{ \"Required\" | translate : { param0: labelKey | translate } }}</span>\n }\n @if (parent.form.get(fieldName).errors['serverErrorMsg']) {\n <span>{{ parent.form.get(fieldName).errors[\"serverErrorMsg\"] }}</span>\n }\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldInputModule } from '../../field/field-input/field-input.module';\nimport { UploadsModule } from '@progress/kendo-angular-upload';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FieldFileSelectComponent } from './field-file-select.component';\n\n@NgModule({\n declarations: [FieldFileSelectComponent],\n exports: [FieldFileSelectComponent],\n imports: [\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n CommonModule,\n FieldInputModule,\n HttpClientModule,\n UploadsModule,\n ],\n})\nexport class FieldFileSelectModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-numerictextbox-input',\n templateUrl: './field-numerictextbox-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldNumericTextBoxInputComponent extends FieldComponent<number> {\n @Input() min: number;\n @Input() max: number;\n @Input() step: number;\n @Input() format: string = '#';\n @Input() selectedValue: number = 0;\n @Input() placeholder: string = '';\n @Output() selectedChange: EventEmitter<number> = new EventEmitter();\n\n get control(): AbstractControl | null {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(\n public override parent: FormGroupDirective,\n public override eref: ElementRef,\n ) {\n super(parent, eref, 0);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.initializeControlValue();\n }\n\n override ngOnChanges(): void {\n super.ngOnChanges();\n }\n\n public onValueChange(event: number): void {\n this.emitSelectedEntity(event);\n }\n\n private emitSelectedEntity(entity: number): void {\n this.selectedChange.emit(entity);\n }\n\n public initializeControlValue(): void {\n if (this.control?.value !== undefined && this.control?.value !== null) {\n this.setControlValue(this.control.value);\n } else {\n this.setControlValue(this.selectedValue);\n }\n }\n\n public setControlValue(value: number | string): void {\n if (typeof value === 'string') {\n this.control?.setValue(Number(value));\n } else {\n this.control?.setValue(value);\n }\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n >\n {{ labelKey | translate }}\n </label>\n\n <div class=\"col-md-9\">\n <kendo-numerictextbox\n id=\"{{ '_' + fieldName }}\"\n [format]=\"format\"\n [step]=\"step\"\n [min]=\"min\"\n [max]=\"max\"\n [placeholder]=\"placeholder\"\n formControlName=\"{{ fieldName }}\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-numerictextbox>\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { FieldNumericTextBoxInputComponent } from './field-numerictextbox-input.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [FieldNumericTextBoxInputComponent],\n exports: [FieldNumericTextBoxInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n InputsModule,\n LabelModule,\n ],\n})\nexport class FieldNumericTextBoxInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { FieldComponent } from '../field/field.component';\n\n@Component({\n selector: 'field-checkbox-input',\n templateUrl: './field-checkbox-input.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldCheckBoxInputComponent extends FieldComponent<boolean> {\n @Input() selectedValue: boolean = false;\n @Output() selectedChange: EventEmitter<boolean> = new EventEmitter();\n\n get control(): AbstractControl | null {\n return this.parent.form.get(this.fieldName);\n }\n\n constructor(\n public override parent: FormGroupDirective,\n public override eref: ElementRef,\n ) {\n super(parent, eref, false);\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.initializeControlValue();\n }\n\n override ngOnChanges(): void {\n super.ngOnChanges();\n }\n\n public onValueChange(event: boolean): void {\n this.emitSelectedEntity(event);\n }\n\n public setControlValue(value: boolean | string): void {\n if (typeof value === 'string') {\n value === 'false'\n ? this.control?.setValue(false)\n : this.control?.setValue(true);\n } else {\n this.control?.setValue(value);\n }\n }\n\n public initializeControlValue(): void {\n if (this.control?.value !== undefined && this.control?.value !== null) {\n this.setControlValue(this.control.value);\n } else {\n this.setControlValue(this.selectedValue);\n }\n }\n\n private emitSelectedEntity(entity: boolean): void {\n this.selectedChange.emit(entity);\n }\n}\n","<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n >{{ labelKey | translate }}</label\n >\n\n @if (control) {\n <div class=\"col-md-9\">\n <input\n id=\"{{ '_' + fieldName }}\"\n type=\"checkbox\"\n kendoCheckBox\n [formControlName]=\"fieldName\"\n (ngModelChange)=\"onValueChange($event)\"\n #selectedValue\n />\n <ng-content></ng-content>\n </div>\n }\n</div>\n","import { FieldCheckBoxInputComponent } from './field-checkbox-input.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [FieldCheckBoxInputComponent],\n exports: [FieldCheckBoxInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n InputsModule,\n LabelModule,\n ],\n})\nexport class FieldCheckBoxInputModule {}\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 let uri = name.trim()\n ? `activities/${name}?${toODataString(state, { utcDates: true })}`\n : `activities?${toODataString(state, { utcDates: true })}`;\n\n return `${uri.replace(guidFormat, '$1')}`;\n },\n search: (state: State, searchTerm: string) => {\n let uri = name.trim()\n ? `activities/${name}/search?${toODataString(state, { utcDates: true })}`\n : `activities/search?${toODataString(state, { utcDates: true })}`;\n if (searchTerm) {\n uri += `&searchTerm=${searchTerm}`;\n }\n\n return uri;\n },\n detailedActivity: (id: string, partnerId: string) => {\n let uri = name.trim()\n ? `activities/${name}/${id}`\n : `activities/${id}`;\n if (partnerId) {\n uri += `/${partnerId}`;\n }\n\n return uri;\n }\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 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 standalone: false\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 ngOnInit() {\n this.subscription = this.keyUp\n .pipe(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 keyUpEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n this.keyUp.next(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { DebounceDirective } from './debounce.directive';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [DebounceDirective],\n exports: [DebounceDirective],\n imports: [CommonModule],\n})\nexport class DebounceModule {}\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 (Object.keys(error.errors).length > 1 && 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","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 standalone: false,\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","@if (form) {\n <div [formGroup]=\"form\">\n @if (form.invalid && errors.length) {\n <div class=\"bg-danger\">\n <ul class=\"custom-error\">\n @for (error of errors; track error) {\n <li>{{ error }}</li>\n }\n </ul>\n </div>\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { GeneralErrorsComponent } from './general-errors.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [GeneralErrorsComponent],\n exports: [GeneralErrorsComponent],\n imports: [\n CommonModule, \n ReactiveFormsModule, \n FormsModule,\n ],\n})\nexport class GeneralErrorsModule {}\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","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 { 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 { 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';\nimport { HttpRequestOptions } from './http-request-options.model';\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\n get<T>(path: string, options?: HttpRequestOptions): Observable<T> {\n return this.httpClient\n .get<T>(this.createUrl(path))\n .pipe(\n catchError((err: CustomHttpErrorResponse) =>\n this.handleServerError(err, options),\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 | FormData,\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 | FormData,\n successTranslateMessage: string = null,\n showSuccessMessage: boolean = true,\n ): Observable<T> {\n return this.httpClient.put<T>(this.createUrl(path), data).pipe(\n tap(() => {\n if (showSuccessMessage) {\n this.showSuccessMessage(\n successTranslateMessage ?? 'ToastrMessages.SavedSuccessfully',\n );\n }\n }),\n catchError((err) => this.handleServerError(err)),\n );\n }\n\n 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(\n error: CustomHttpErrorResponse,\n options?: HttpRequestOptions,\n ) {\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 && !options?.muteNotFoundError) {\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')}${\n error.error.title\n }`,\n );\n\n return of(null);\n }\n\n if (error.status === HttpCodes.BadRequest) {\n this.appToastrService.showError(\n `${this.translate.instant('ToastrMessages.ValidationError')}${\n error.error.title\n }`,\n );\n\n return throwError(() => error);\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 { 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, 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 standalone: false\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 { NgModule } from \"@angular/core\";\nimport { LiveUpdatesControlComponent } from \"./live-updates-control.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [LiveUpdatesControlComponent],\n imports: [CommonModule, TranslateModule],\n exports: [LiveUpdatesControlComponent],\n})\nexport class LiveUpdatesControlModule {}","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { MenuItem } from '../MenuItem';\nimport {\n Router,\n NavigationEnd,\n RouterStateSnapshot,\n UrlTree,\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 standalone: false\n})\nexport class MenuItemGroupComponent implements OnChanges, OnInit {\n @Input() item: MenuItem;\n\n public collapsed: boolean = false;\n private actualPath: string;\n\n constructor(private router: Router) {\n this.router.isActive = function (url: string | UrlTree): 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 public collapseChild(activeItem: MenuItem, event: MouseEvent) {\n this.item.expanded =\n this.item.text === activeItem.text &&\n !this.item.expanded &&\n !!this.item.items;\n event[collapsedEvent] = !activeItem.items || activeItem.items.length === 0;\n }\n\n private setItemExpand(): void {\n const hasExpandedChild = this.item.items?.some(\n (childItem) =>\n childItem.expanded &&\n childItem.items?.some((x) => x.link === this.actualPath),\n );\n this.item.expanded =\n !!hasExpandedChild ||\n this.item.items?.some((x) => x.link === this.actualPath);\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","@if (item.items && item.items.length) {\n <a (click)=\"collapseChild(item, $event)\">\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n <ul\n [ngClass]=\"\n item.expanded\n ? 'nav nav-second-level collapse in'\n : 'nav nav-second-level collapse'\n \"\n >\n @for (item of item.items; track item) {\n <li\n ngClass=\"nav nav-third-level collapse\"\n menu-item-group\n [item]=\"item\"\n ></li>\n }\n </ul>\n}\n@if (!item.items || !item.items.length) {\n @if (item.link) {\n <a\n routerLink=\"{{ item.link }}\"\n routerLinkActive=\"active-route\"\n class=\"sub-menu-link\"\n (click)=\"collapseChild(item, $event)\"\n >\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n }\n @if (item.url) {\n <a\n class=\"sub-menu-link\"\n href=\"{{ item.url }}\"\n target=\"_blank\"\n (click)=\"collapseChild(item, $event)\"\n >\n @if (!item.iconClass) {\n {{ item.text | translate }}\n } @else {\n <i class=\"menu-icon fa {{ item.iconClass }}\"></i>\n <span class=\"nav-label\">{{ item.text | translate }}</span>\n }\n </a>\n }\n}\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 standalone: false\n})\nexport class SideMenuComponent {\n @Input() items: MenuItem[];\n @Output() logoClick = new EventEmitter();\n\n public onLogoClick() {\n this.logoClick.emit();\n }\n\n public collapse(\n itemComponent: MenuItemGroupComponent,\n activeItem: MenuItem,\n event: MouseEvent,\n ): void {\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 @for (item of items; track item) {\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 }\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 standalone: false\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 @if (node.isPrimitive) {\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 } @else {\n <span>\n @if (hasExpand) {\n <em\n [ngClass]=\"\n expanded\n ? 'fa fa-caret-down node-toggler'\n : 'fa fa-caret-right node-toggler'\n \"\n (click)=\"toggleExpand()\"\n ></em>\n }\n @if (!expanded && !node.startTag) {\n <span class=\"ellipsis\">...</span>\n }\n <ul [ngClass]=\"!expanded ? 'hidden' : ''\">\n @for (child of node.children; track child) {\n <li class=\"tree-view-prop\">\n <span class=\"prop-name\">{{ child.startTag }}</span>\n @if (child.isPrimitive) {\n <span [ngClass]=\"child.nodeType\">{{\n child.value\n }}</span>\n }\n @if (child.isComplex) {\n <tree-view-node\n [node]=\"child\"\n [hasExpand]=\"true\"\n #node\n ></tree-view-node>\n }\n <span class=\"prop-name\">{{ child.endTag }}</span>\n </li>\n }\n </ul>\n </span>\n }\n <span class=\"bracket\">{{ node.brackets?.outside }}</span>\n</span>\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';\nimport { TreeViewCustomButton } from './models/TreeViewCustomButton';\n\n@Component({\n selector: 'tree-view',\n templateUrl: './tree-view.component.html',\n styleUrls: ['./tree-view.component.css'],\n standalone: false,\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 @Input() customButtons: TreeViewCustomButton[] = [];\n\n public resolved: ResolverResult;\n public collapsed: boolean;\n public allShow: boolean;\n public rawView: boolean;\n public activeCustomView: string | null = null;\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 public get isShowingCustomContent(): boolean {\n return this.activeCustomView !== null;\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.activeCustomView = null;\n this.resolved = this.data && 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 if (this.rawView) {\n this.activeCustomView = null;\n }\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 public onCustomButtonClick(button: TreeViewCustomButton): void {\n if (button.action && !button.disabled) {\n if (button.isToggle) {\n if (this.activeCustomView === button.id) {\n this.activeCustomView = null;\n } else {\n this.activeCustomView = button.id;\n this.rawView = false;\n }\n }\n\n button.action();\n }\n }\n\n public isCustomButtonVisible(button: TreeViewCustomButton): boolean {\n return button.visible !== false;\n }\n public isCustomButtonActive(button: TreeViewCustomButton): boolean {\n return this.activeCustomView === button.id;\n }\n\n public getArrayData(): TreeViewNode[] {\n return this.resolved.data as TreeViewNode[];\n }\n\n public getSingleNodeData(): TreeViewNode {\n return this.resolved.data as TreeViewNode;\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","@if (data) {\n <div\n class=\"tree-view\"\n [ngClass]=\"collapsed ? 'collapsed' : 'expanded'\"\n [class]=\"format\"\n >\n @if (format != ContentTypesFormat.Text) {\n <div>\n <ng-container *ngTemplateOutlet=\"defaultActions\"></ng-container>\n </div>\n <div class=\"tree-view-main-content\">\n @if (isShowingCustomContent) {\n <div class=\"custom-content-container\">\n <div class=\"custom-content-body\">\n <ng-content select=\"[slot=custom-content]\"></ng-content>\n </div>\n </div>\n } @else {\n <div\n [ngClass]=\"allShow ? 'show-all tree-view-body' : 'tree-view-body'\"\n >\n @if (IsArray) {\n @for (node of getArrayData(); track node) {\n <tree-view-node\n class=\"array-node\"\n [node]=\"node\"\n [hasExpand]=\"true\"\n #node\n >\n </tree-view-node>\n }\n } @else {\n <tree-view-node\n [node]=\"getSingleNodeData()\"\n #node\n >\n </tree-view-node>\n }\n </div>\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"defaultActions\"> </ng-container>\n <pre class=\"text-view tree-view-body\">{{ data }}</pre>\n }\n <ng-template #defaultActions>\n @if (resolved.format !== ContentTypesFormat.Text) {\n <button\n class=\"tree-view-action\"\n title=\"{{\n (collapsed\n ? 'TreeViewMessages.Expand'\n : 'TreeViewMessages.Collapse'\n ) | translate\n }}\"\n [disabled]=\"rawView || isShowingCustomContent\"\n (click)=\"toggleExpandAll()\"\n >\n <i [ngClass]=\"allShow ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </button>\n }\n <button\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.CopyToClipboard' | translate }}\"\n (click)=\"copyToClipboard()\"\n >\n <i class=\"fa fa-clipboard\"></i>\n </button>\n <button\n class=\"tree-view-action\"\n title=\"{{ 'TreeViewMessages.PrettyCopyToClipboard' | translate }}\"\n (click)=\"prettyCopyToClipboard()\"\n >\n <i class=\"fa fa-magic\"></i>\n </button>\n @if (resolved.format !== ContentTypesFormat.Text) {\n <button\n class=\"tree-view-action\"\n title=\"{{\n (rawView\n ? 'TreeViewMessages.ToJsonView'\n : 'TreeViewMessages.ToFormattedView'\n ) | translate\n }}\"\n [ngClass]=\"rawView ? 'pressed' : ''\"\n (click)=\"toggleRawView()\"\n >\n <i class=\"fa fa-file-text-o\"></i>\n </button>\n }\n @for (button of customButtons; track button) {\n <button\n [disabled]=\"button.disabled\"\n [style.display]=\"\n isCustomButtonVisible(button) ? 'inline-block' : 'none'\n \"\n [ngClass]=\"[\n 'tree-view-action',\n isCustomButtonActive(button) ? 'pressed' : '',\n ]\"\n [title]=\"button.title\"\n (click)=\"onCustomButtonClick(button)\"\n >\n <i [class]=\"button.icon\"></i>\n </button>\n }\n </ng-template>\n @if (hasCollapse) {\n <div>\n <button\n class=\"expand-toggler\"\n (click)=\"expandToggle()\"\n >\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 }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { TreeViewNodeComponent } from './tree-view-node/tree-view-node.component';\nimport { TreeViewComponent } from './tree-view.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { TreeViewModule } from '@progress/kendo-angular-treeview';\n\n@NgModule({\n declarations: [TreeViewComponent, TreeViewNodeComponent],\n imports: [CommonModule, TranslateModule, TreeViewModule],\n exports: [TreeViewComponent],\n})\nexport class IndiginaTreeViewModule {}\n","import { Observable } from 'rxjs';\n\nexport abstract class AuthProvider {\n public abstract initialize(): Promise<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 { map, Observable, of, throwError } from 'rxjs';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { AuthProvider } from './AuthProvider';\nimport { IndiginaConfiguration } from '../../angular/models/IndiginaConfiguration';\nimport { catchError } from 'rxjs/operators';\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 async initialize(): Promise<Observable<boolean>> {\n await this.authService.instance.initialize();\n\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 this.authService.acquireTokenSilent(request).pipe(\n map((authenticationResult) => {\n const token: string = authenticationResult.idToken;\n this.settingsService.setToken(token);\n\n return token;\n }),\n catchError((error) => {\n if (error instanceof InteractionRequiredAuthError) {\n this.authService.loginRedirect(request).subscribe();\n }\n\n return throwError(() => error);\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 } 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 from(provider.initialize()).subscribe(() => {\n this.AuthProvider$.next(provider);\n });\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 { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Input, Output } 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 changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class LanguageSelectorComponent {\n @Input() visible: boolean;\n @Output() visibleChange: EventEmitter<boolean> = 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","@if (visible) {\n <kendo-window\n class=\"language-selector\"\n [draggable]=\"false\"\n [resizable]=\"false\">\n <kendo-window-titlebar>\n <div>{{ \"ChangeLanguage\" | translate }}</div>\n <button kendoWindowCloseAction (click)=\"close()\"></button>\n </kendo-window-titlebar>\n @if (languages) {\n <div class=\"languages\">\n @for (language of languages; track language) {\n <div class=\"language-change-action\">\n <button class=\"btn\" (click)=\"changeLanguage(language.code)\">\n @if (currentLanguageCode === language.code) {\n <span\n class=\"fa fa-check\" aria-hidden=\"true\"\n ></span>\n }\n {{ language.name }}\n </button>\n </div>\n }\n </div>\n }\n </kendo-window>\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostListener, Input, ViewChild } 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 changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class AccountMenuComponent {\n @ViewChild('accountMenuElement') accountMenu: ElementRef;\n @Input() user: Member;\n @Input() menuItems: AccountMenuItem[];\n expand: boolean = false;\n languageSelectorVisible: boolean = false;\n\n constructor(\n private eref: ElementRef,\n private accountService: AccountService,\n private appSettings: AppSettings,\n ) {\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 toggle(): 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.toggle();\n this.languageSelectorVisible = true;\n }\n\n @HostListener('document:click', ['$event'])\n clickedOutside(event: any): void {\n if (!this.eref.nativeElement.contains(event.target) && this.expand) {\n this.toggle();\n }\n }\n}\n","<div class=\"profile-img left\" id=\"accountMenu\">\n <div #accountMenuElement title=\"User Account\" (click)=\"toggle()\">\n <div class=\"img-circle top-bar-profile left\"></div>\n </div>\n @if (expand) {\n <kendo-popup\n [anchor]=\"accountMenu\"\n popupClass=\"k-widget dropdown open\">\n <ul class=\"dropdown-menu top-bar-dropdown animated fadeInLeft\">\n <li class=\"top-bar-header-row media\">\n <div class=\"media-left\">\n <div class=\"img-circle\"></div>\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 data-icon=\"globe\" (click)=\"openLanguageSelector($event)\">\n {{ \"ChangeLanguage\" | translate }}</a>\n </li>\n <li>\n <a data-icon=\"desktop\" translate=\"Account\" [href]=\"accountUrl\"></a>\n </li>\n @for (menuItem of menuItems; track menuItem) {\n <li>\n @if (menuItem.useRouter) {\n <a\n [routerLink]=\"menuItem.link\"\n [attr.data-icon]=\"menuItem.iconClass\">\n {{ menuItem.text | translate }}\n </a>\n } @else {\n <a [href]=\"menuItem.link\" [attr.data-icon]=\"menuItem.iconClass\">\n {{ menuItem.text | translate }}\n </a>\n }\n </li>\n }\n <li>\n <a translate=\"Logout\" data-icon=\"sign-out\" (click)=\"logout()\"></a>\n </li>\n </ul>\n </kendo-popup>\n }\n\n <language-selector [(visible)]=\"languageSelectorVisible\"\n ></language-selector>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LanguageSelectorComponent } from './language-selector.component';\nimport { CommonModule } from '@angular/common';\nimport { WindowModule } from '@progress/kendo-angular-dialog';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [\n LanguageSelectorComponent\n ],\n imports: [\n CommonModule,\n WindowModule,\n TranslateModule,\n ],\n exports: [\n LanguageSelectorComponent,\n ]\n})\nexport class LanguageSelectorModule {\n}\n","import { NgModule } from '@angular/core';\nimport { AccountMenuComponent } from './account-menu.component';\nimport { CommonModule } from '@angular/common';\nimport { PopupModule } from '@progress/kendo-angular-popup';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouterModule } from '@angular/router';\nimport { LanguageSelectorModule } from '../language-selector/language-selector.module';\n\n@NgModule({\n declarations: [\n AccountMenuComponent,\n ],\n imports: [\n CommonModule,\n PopupModule,\n TranslateModule,\n RouterModule,\n LanguageSelectorModule,\n ],\n exports: [\n AccountMenuComponent,\n ],\n})\nexport class AccountMenuModule {\n}\n","import { Component, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalBroadcastService, MsalService } from '@azure/msal-angular';\nimport { AuthenticationResult, EventType } from '@azure/msal-browser';\nimport { SettingsService } from '../../angular/services/settings.service';\nimport { filter } from 'rxjs/operators';\n\nconst resetPasswordCanceledErrorCode = 'AADB2C90091';\n\n@Component({\n selector: 'lib-azure-login',\n template: '',\n})\nexport class AzureLoginCallbackComponent {\n private readonly msalBroadcastService: MsalBroadcastService = inject(MsalBroadcastService);\n private readonly router: Router = inject(Router);\n private readonly settingsService: SettingsService = inject(SettingsService);\n private readonly authService: MsalService = inject(MsalService);\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 this.msalBroadcastService.msalSubject$.pipe(\n filter(({ eventType }) => eventType === EventType.ACQUIRE_TOKEN_FAILURE || eventType === EventType.LOGIN_FAILURE),\n ).subscribe(() => this.authService.logoutRedirect());\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 standalone: false\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?.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 { NgModule } from '@angular/core';\nimport { RequirePermissionDirective } from './requirePermission.directive';\n\n@NgModule({\n declarations: [RequirePermissionDirective],\n exports: [RequirePermissionDirective],\n})\nexport class RequirePermissionModule {}\n","export enum FieldTypes {\n Text,\n Checkbox,\n Dropdown,\n Multiselect,\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 Use = 'Use',\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 {\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 { 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 { 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 {\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\n\nexport const getValueFromFilterByField = (field: string, filter: CompositeFilterDescriptor): string => {\n if (filter?.filters) {\n const matchingFilter: CompositeFilterDescriptor | FilterDescriptor | undefined = filter.filters.find(\n (desc) => (desc as FilterDescriptor).field === field,\n );\n\n return (matchingFilter as FilterDescriptor)?.value;\n }\n\n return '';\n};\n","import { State } from '@progress/kendo-data-query/dist/npm/state';\nimport { Observable } from 'rxjs';\nimport { IdentifiedModel } from '../angular/models/IdentifiedModel';\nimport { HttpRequestOptions } from '../angular/services/http-request-options.model';\nimport { HttpService } from '../angular/services/http.service';\nimport { Page } from '../models/Page';\nimport { IEntityEndpoints } from './IEntityEndpoints';\nimport { IEntityService } from './IEntityService';\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, options?: HttpRequestOptions): Observable<T> {\n return this.httpService.get<T>(\n applyUrlParams(this.endpoints.entityPath(id), urlParams),\n options,\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 { Component, OnInit } from '@angular/core';\nimport moment from 'moment';\nimport * as momentModule from 'moment-timezone';\n\n@Component({\n selector: 'current-timezone',\n templateUrl: './current-timezone.component.html',\n styleUrls: ['./current-timezone.component.css'],\n standalone: false\n})\nexport class CurrentTimezoneComponent implements OnInit {\n public timeZoneAndOffset: string;\n\n ngOnInit(): void {\n const timeZone = momentModule.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 standalone: false,\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 @Input() onClearCallback?: () => void;\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 if (this.onClearCallback) {\n this.onClearCallback();\n }\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 @if (showArchiveSwitcher) {\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n }\n @if (showSearhText) {\n <div>\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 }\n </div>\n </div>\n <div class=\"filter-row\">\n @for (field of customFilterElements; track field) {\n @switch (field.fieldType) {\n @case (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 }\n @case (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 }\n @case (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 }\n @case (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 }\n }\n }\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 { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CurrentTimezoneComponent } from './current-timezone.component';\n\n@NgModule({\n declarations: [CurrentTimezoneComponent],\n exports: [CurrentTimezoneComponent],\n imports: [TranslateModule],\n})\nexport class CurrentTimeZoneModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ActivityFilterComponent } from './activity-filter.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { CurrentTimeZoneModule } from '../current-timezone';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { dateFilterParameter } from '../../services/activity.filter.service.config';\n\n@NgModule({\n declarations: [ActivityFilterComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n TranslateModule,\n DateInputsModule,\n DropDownsModule,\n CurrentTimeZoneModule,\n ],\n exports: [ActivityFilterComponent],\n})\nexport class ActivityFilterModule {\n static forRoot(\n startDateFieldName: string,\n ): ModuleWithProviders<ActivityFilterModule> {\n return {\n ngModule: ActivityFilterModule,\n providers: [\n {\n provide: dateFilterParameter,\n useValue: startDateFieldName,\n },\n ],\n };\n }\n}\n","import { Component, ViewChild, TemplateRef, ViewContainerRef } 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 standalone: false\n})\nexport class ConfirmDialogComponent {\n private dialog: DialogRef;\n private callback: () => void;\n @ViewChild('dialogActions', { static: true })\n public dialogActions: TemplateRef<any>;\n constructor(\n private readonly dialogService: DialogService,\n private readonly viewContainerRef: ViewContainerRef) {}\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 appendTo: this.viewContainerRef,\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 { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n imports: [TranslateModule, DialogModule],\n exports: [ConfirmDialogComponent],\n})\nexport class ConfirmDialogModule {}\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { PermissionTypes } from '../../../models/PermissionTypes';\n\n@Component({\n selector: 'entity-edit-buttons-bar',\n templateUrl: './buttons-bar.component.html',\n styleUrls: ['./buttons-bar.component.scss'],\n standalone: false,\n})\nexport class EntityEditButtonsBarComponent {\n @Input()\n public valid: boolean;\n @Input()\n public defaultCreateButtonText: string;\n @Output()\n public save: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n public permissionTypes: PermissionTypes[] = [PermissionTypes.Create];\n}\n","<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4 left-buttons\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"{{ defaultCreateButtonText ?? 'CreateNew' }}\"\n requirePermission\n [permissionType]=\"permissionTypes\"\n ></a>\n <div class=\"custom-buttons-wrapper\">\n <ng-content select=\"[custom-buttons]\"></ng-content>\n </div>\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 { NgModule } from '@angular/core';\nimport { EntityEditButtonsBarComponent } from './buttons-bar.component';\nimport { RouterModule } from '@angular/router';\nimport { RequirePermissionModule } from '../../../directives/requirePermission';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [EntityEditButtonsBarComponent],\n imports: [RouterModule, RequirePermissionModule, TranslateModule],\n exports: [EntityEditButtonsBarComponent],\n})\nexport class EntityEditButtonsBarModule {}\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 standalone: false\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 createButtonText: string;\n public saveInProgress: boolean;\n\n constructor(private route: ActivatedRoute) {\n this.saveInProgress = false;\n let createButtonTextFromRoute = this.route.snapshot.data?.createButtonText;\n this.createButtonText = createButtonTextFromRoute;\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 @if (formGroup | async; as form) {\n <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 [defaultCreateButtonText]=\"createButtonText\"\n >\n </entity-edit-buttons-bar>\n </form>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { EntityEditFormComponent } from './entity-edit-form.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GeneralErrorsModule } from '../../angular/forms/widgets/general-errors';\nimport { EntityEditButtonsBarModule } from './buttons-bar';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [EntityEditFormComponent],\n exports: [EntityEditFormComponent],\n imports: [\n CommonModule,\n TranslateModule,\n GeneralErrorsModule,\n EntityEditButtonsBarModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n})\nexport class EntityEditFormModule {}\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 {\n Component,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport {\n ControlContainer,\n FormGroupDirective,\n AbstractControl,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor, SortDescriptor } from '@progress/kendo-data-query';\nimport { BehaviorSubject, 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';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DropDownListComponent } from '@progress/kendo-angular-dropdowns';\n\nconst SelectValue: string = 'Select value';\nconst defaultFieldName: string = 'name';\nconst defaultValueField: string = 'id';\n\n@Component({\n selector: 'field-dropdown',\n templateUrl: '../dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FieldDropdownComponent extends FieldComponent<string> {\n @Input() service: IGetPageService<NamedModel>;\n @Input() rebind: string;\n @Input() filter?: CompositeFilterDescriptor;\n @Input() sort?: SortDescriptor[];\n @Input() defaultName?: string;\n @Input() selectedItem?: NamedModel;\n @Input() data?: NamedModel[];\n @Input() textField: string = defaultFieldName;\n @Input() valueField: string = defaultValueField;\n @Output() selectedChange: EventEmitter<NamedModel | number | string> =\n new EventEmitter();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n\n private items: NamedModel[];\n public defaultItem: NamedModel;\n public data$: Observable<NamedModel[]>;\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 private translate: TranslateService,\n ) {\n super(parent, eref, null);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setData();\n this.setDefaultItem();\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setData();\n }\n\n public onValueChange(event: string): void {\n let entity: NamedModel | undefined = undefined;\n if (event !== null) {\n entity = this.getEntityByValue(event);\n }\n\n this.emitSelectedEntity(entity || this.defaultItem);\n }\n\n public setData(): void {\n if (this.data) {\n let dataSubject: BehaviorSubject<NamedModel[]> = new BehaviorSubject<\n NamedModel[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n if (this.selectedItem) {\n this.handleSelectedEntity();\n }\n } else {\n this.data$ = this.service\n .getPage(this.filter ? { filter: this.filter, sort: this.sort} : {sort: this.sort})\n .pipe(\n tap((response) => {\n this.items = response.data;\n this.handleSelectedItem();\n }),\n map((response) => response.data),\n );\n }\n }\n\n private setDefaultItem(): void {\n this.defaultItem = {\n name: this.setDefaultName(),\n id: null,\n [this.textField]: this.setDefaultName(),\n [this.valueField]: null,\n };\n }\n\n private setDefaultName(): string {\n return this.translate.instant(this.defaultName || SelectValue);\n }\n\n private handleSelectedItem(): void {\n if (this.selectedItem) {\n this.handleSelectedEntity();\n } else {\n this.updateControlValue(this.control.value);\n }\n }\n\n private handleSelectedEntity(): void {\n const selectedEntity: NamedModel = this.updateControlValue(\n this.selectedItem[this.valueField],\n );\n if (selectedEntity && selectedEntity[this.valueField] !== null) {\n this.onValueChange(selectedEntity[this.valueField]);\n this.writeSelectedEntityValue(selectedEntity[this.valueField]);\n }\n }\n\n private updateControlValue(value: string): NamedModel {\n const entity: NamedModel = this.getEntityByValue(value);\n if (entity) {\n this.setControlValue(entity);\n } else {\n this.resetControlValue();\n }\n\n return entity;\n }\n\n private getEntityByValue(value: string): NamedModel {\n if (this.data) {\n return this.data.find((x) => x[this.valueField] === value);\n } else {\n return this.items.find((x) => x[this.valueField] === value);\n }\n }\n\n private setControlValue(entity: NamedModel): void {\n this.control.setValue(entity[this.valueField]);\n }\n\n private resetControlValue(): void {\n this.control.reset();\n }\n\n private emitSelectedEntity(entity: NamedModel): void {\n this.selectedChange.emit(entity);\n }\n\n private writeSelectedEntityValue(value: string): void {\n this.kendoDropDown?.writeValue(value);\n }\n}\n","<div class=\"form-group\">\n <label for=\"{{ '_' + fieldName }}\" class=\"col-md-3 control-label\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { FieldComponent } from '../../../../angular/forms/widgets/field/field.component';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SimpleObject, valueTypes } from '../simple-object.model';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nconst SelectValue: string = 'Select value';\n\n@Component({\n selector: 'object-dropdown',\n templateUrl: './object-dropdown.component.html',\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ObjectDropdownComponent extends FieldComponent<valueTypes> {\n @Input()\n fieldName: string;\n @Input()\n labelKey: string;\n @Input()\n data: SimpleObject[];\n @Input()\n selectedItem?: valueTypes;\n @Input()\n defaultName?: string;\n @Input()\n rebind: string;\n @Output() selectedChange: EventEmitter<SimpleObject> =\n new EventEmitter<SimpleObject>();\n\n public defaultItem: SimpleObject;\n public data$: Observable<SimpleObject[]>;\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 private translate: TranslateService,\n ) {\n super(parent, eref, null);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.setInputData();\n this.writeSelectedItemIfExists(this.selectedItem);\n this.setDefaultItem();\n }\n\n private setDefaultItem(): void {\n this.defaultItem = {\n value: null,\n description: this.translate.instant(this.defaultName || SelectValue),\n };\n }\n\n ngOnChanges(): void {\n super.ngOnChanges();\n this.setInputData();\n this.writeSelectedItemIfExists(this.selectedItem);\n }\n\n private setInputData(): void {\n let dataSubject: BehaviorSubject<SimpleObject[]> = new BehaviorSubject<\n SimpleObject[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n }\n\n public onValueChange(event: valueTypes): void {\n if (event !== null) {\n const entity: SimpleObject = this.getEntityByValue(event);\n this.emitSelectedEntity(entity);\n } else {\n this.emitSelectedEntity(this.defaultItem);\n }\n }\n\n private getEntityByValue(event: valueTypes): SimpleObject {\n return this.data.find((x) => x.value === event);\n }\n\n public emitSelectedEntity(entity: SimpleObject): void {\n this.selectedChange.emit(entity);\n }\n\n private writeSelectedItemIfExists(selectedItem: valueTypes): void {\n if (this.selectedItem) {\n this.setControlValue(selectedItem);\n }\n }\n\n private setControlValue(value: valueTypes): void {\n this.control.setValue(value);\n }\n}\n","<div class=\"form-group\">\n <label for=\"{{ '_' + fieldName }}\" class=\"col-md-3 control-label\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"'description'\"\n [valueField]=\"'value'\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-dropdownlist>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { FieldComponent } from '../../../angular/forms/widgets/field/field.component';\nimport { NamedModel } from '../../../angular/models/NamedModel';\nimport { IEntityService } from '../../../services/IEntityService';\nimport { PreventableEvent } from '@progress/kendo-angular-dropdowns';\nimport {\n BehaviorSubject,\n map,\n Observable,\n Subject,\n takeUntil,\n tap,\n} 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 changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: ControlContainer,\n useExisting: FormGroupDirective,\n },\n ],\n standalone: false\n})\nexport class FieldMultiSelectComponent<T>\n extends FieldComponent<string[]>\n implements OnInit, OnChanges, OnDestroy\n{\n @Input() service: IEntityService<NamedModel>;\n @Input() rebind: string;\n @Input() filter?: CompositeFilterDescriptor;\n @Input() textField?: string;\n @Input() valueField?: string;\n @Input() data: NamedModel[];\n @Input() singleMode: boolean = false;\n @Input() autoClose: boolean = false;\n @Output() changed: EventEmitter<T> = new EventEmitter<T>();\n\n readonly destroy$: Subject<void> = new Subject<void>();\n public 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 this.textField = this.textField ?? 'name';\n this.valueField = this.valueField ?? 'id';\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 ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n public setData(): void {\n if (this.data) {\n let dataSubject: BehaviorSubject<NamedModel[]> = new BehaviorSubject<\n NamedModel[]\n >(this.data);\n this.data$ = dataSubject.asObservable();\n } else {\n this.data$ = this.getData().pipe(\n tap((page) => {\n let data: NamedModel[] = page.data;\n this.control.setValue(\n this.control.value.filter((x: string) =>\n data.some((d) => d.id === x),\n ),\n );\n }),\n map((page) => page.data),\n takeUntil(this.destroy$),\n );\n }\n }\n\n public onPopupOpen(event: PreventableEvent): void {\n if (!this.singleMode) {\n return;\n }\n\n this.control.value.length > 0 && event.preventDefault();\n }\n\n public onValueChange(value: T): void {\n this.changed.emit(value);\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 class=\"col-md-3 control-label\" [for]=\"'_' + fieldName\">{{\n labelKey | translate\n }}</label>\n @if (control) {\n <div class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n (valueChange)=\"onValueChange($event)\"\n ></kendo-multiselect>\n @if (control.invalid && control.touched) {\n <div class=\"bg-danger\">\n @if (control.errors['required']) {\n <span>\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n }\n @if (control.errors['serverErrorMsg']) {\n <span>\n {{ control.errors[\"serverErrorMsg\"] }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { FieldMultiSelectComponent } from './field-multiselect.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MultiSelectModule } from '@progress/kendo-angular-dropdowns';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n FieldMultiSelectComponent,\n ],\n imports: [\n ReactiveFormsModule,\n MultiSelectModule,\n TranslateModule,\n CommonModule,\n ],\n exports: [\n FieldMultiSelectComponent,\n ],\n})\n\nexport class FieldMultiselectModule {\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 { 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 standalone: false\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 CellClickEvent,\n DataStateChangeEvent,\n RemoveEvent,\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 { 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.scss'],\n standalone: false\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: number[] = [];\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 this.page.subscribe((pageData) => {\n if (pageData?.data) {\n this.route.firstChild?.params.subscribe((params: Params) => {\n if (params['id']) {\n const currentItemIndex = pageData.data.findIndex(\n (item) => parseInt(item.id) === parseInt(params['id']),\n );\n this.selected = [currentItemIndex];\n } else {\n this.selected = [];\n }\n });\n }\n });\n }\n\n public generateDateBasedExcelFileName(): string {\n return `Export-${new Date().toLocaleString()}.xlsx`;\n }\n\n public removeHandler(e: RemoveEvent) {\n this.dialog.open(\n this.translate.instant('Confirmation.Delete') +\n ': \"' +\n e.dataItem.name +\n '\"?',\n () => this.remove(e),\n );\n }\n\n public selectItem(e: CellClickEvent) {\n this.selected[0] = e.rowIndex;\n this.router.navigate([e.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 newItem = this.mapItemFn(data);\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])] = newItem;\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];\n this.router.navigate([data.id], {\n relativeTo: this.route,\n preserveFragment: true,\n });\n }\n\n protected getData() {\n this.loadings++;\n\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(e: RemoveEvent) {\n this.loadings++;\n this.service\n .delete(e.dataItem.id)\n .pipe(\n map(() => {\n if (\n this.selected.length &&\n this.selected[this.selected.length - 1] === e.rowIndex\n ) {\n this.router.navigate(['../'], {\n preserveFragment: true,\n relativeTo: this.route.firstChild,\n });\n this.selected.pop();\n } else {\n this.selected = [this.selected[0] - 1];\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\">{{\n \"Search\" | translate\n }}</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\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\n [fileName]=\"generateDateBasedExcelFileName()\"\n [fetchData]=\"getAllData\"\n ></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @if (!dataItem.suppressDeletion) {\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <em class=\"k-icon glyphicon glyphicon-trash\"></em>\n </button>\n }\n </ng-template>\n </kendo-grid-command-column>\n @for (field of gridFields; track field) {\n <kendo-grid-column\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n }\n @if (commands.length > 0) {\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate let-dataItem>\n @for (command of commands; track command) {\n <button\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n @if (command.iconClass) {\n <em\n class=\"{{ command.iconClass }}\"\n ></em>\n }\n {{ command.name | translate }}\n </button>\n }\n </ng-template>\n </kendo-grid-command-column>\n }\n <ng-template kendoGridNoRecordsTemplate>\n {{ \"Messages.NoRecords\" | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <div class=\"pager\">\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 </div>\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 standalone: false\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 { NgModule } from '@angular/core';\nimport { ExcelExportButtonComponent } from './excel-export-button.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ExcelModule } from '@progress/kendo-angular-grid';\n\n@NgModule({\n declarations: [ExcelExportButtonComponent],\n exports: [ExcelExportButtonComponent],\n imports: [TranslateModule, ExcelModule],\n})\nexport class ExcelExportButtonModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PermissionTypes } from '../../../models/PermissionTypes';\n\n@Component({\n selector: 'create-new',\n templateUrl: './create-new.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CreateNewComponent {\n public defaultLabelKey: string = 'CreateNew';\n public permissionTypes: PermissionTypes[] = [\n PermissionTypes.Create,\n ];\n\n constructor(private route: ActivatedRoute) {\n let labelKeyFromRoute: string = this.route.snapshot.data?.labelKey;\n if (labelKeyFromRoute) {\n this.defaultLabelKey = labelKeyFromRoute;\n }\n }\n}\n","<div class=\"col-md-8\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel editor-area hero-unit\">\n <div class=\"form-horizontal\">\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 requirePermission\n translate=\"{{ defaultLabelKey }}\"\n [permissionType]=\"permissionTypes\"\n >\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RequirePermissionModule } from '../../../directives/requirePermission';\nimport { RouterModule } from '@angular/router';\nimport { CreateNewComponent } from './create-new.component';\n\n@NgModule({\n declarations: [CreateNewComponent],\n imports: [\n RouterModule, \n RequirePermissionModule, \n TranslateModule,\n ],\n exports: [CreateNewComponent],\n})\nexport class CreateNewModule {}\n","import { NgModule } from '@angular/core';\nimport { EntityListComponent } from './entity-list.component';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialogModule } from '../confirm-dialog';\nimport { RouterModule } from '@angular/router';\nimport {\n ExcelModule,\n GridModule,\n} from '@progress/kendo-angular-grid';\nimport { FormsModule } from '@angular/forms';\nimport { DebounceModule } from '../../angular/forms/directives/debounce';\nimport { ExcelExportButtonModule } from '../excel-export-button';\nimport { CreateNewModule } from '../entity-edit/create-new';\nimport { RequirePermissionModule } from '../../directives/requirePermission';\nimport { PagerModule } from \"@progress/kendo-angular-pager\";\nimport { UserListAdminComponent } from \"./user-list-admin.component\";\n\n@NgModule({\n declarations: [EntityListComponent, UserListAdminComponent],\n exports: [EntityListComponent, UserListAdminComponent],\n imports: [\n CommonModule,\n TranslateModule,\n ConfirmDialogModule,\n RouterModule,\n PagerModule,\n GridModule,\n ExcelModule,\n DebounceModule,\n ExcelExportButtonModule,\n RouterModule,\n CreateNewModule,\n RequirePermissionModule,\n FormsModule,\n InputsModule\n],\n})\nexport class EntityListModule {}\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, CompositeFilterDescriptor } 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 standalone: false\n})\nexport class FieldDropdownlistComponent implements OnInit {\n @Input()\n service: IEntityService<NamedModel>;\n @Input()\n label: string;\n @Input()\n sort?: SortDescriptor[];\n @Input()\n filter?: CompositeFilterDescriptor;\n @Input()\n initialSelectedId?: string;\n @Output()\n valueChange = new EventEmitter<NamedModel>();\n @ViewChild('inputElement')\n private kendoDropDown: DropDownListComponent;\n\n public defaultItem: NamedModel;\n public data: NamedModel[];\n\n constructor(\n private translate: TranslateService,\n ) {}\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 const filerOptions = this.filter ? { filter: this.filter } : {};\n const requestOptions = { ...filerOptions, sort: this.sort };\n this.service.getPage(requestOptions).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 { NgModule } from '@angular/core';\nimport { FieldDropdownlistComponent } from './field-dropdownlist.component';\nimport { DropDownListModule } from '@progress/kendo-angular-dropdowns';\n\n@NgModule({\n declarations: [FieldDropdownlistComponent],\n exports: [FieldDropdownlistComponent],\n imports: [DropDownListModule],\n})\nexport class FieldDropdownlistModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'footer-bar',\n templateUrl: './footer-bar.component.html',\n styleUrls: ['./footer-bar.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class FooterBarComponent {\n}\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 { NgModule } from '@angular/core';\nimport { FooterBarComponent } from './footer-bar.component';\n\n@NgModule({\n declarations: [\n FooterBarComponent,\n ],\n exports: [\n FooterBarComponent,\n ],\n})\nexport class FooterBarModule {\n}\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 standalone: false\n})\nexport class ModalWindowComponent {\n @Input() callbackPath: string;\n @Input() title?: 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 @if (opened) {\n <div class=\"k-overlay\" (click)=\"close()\"></div>\n }\n @if (opened) {\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { ModalWindowComponent } from './modal-window.component';\nimport { WindowModule } from '@progress/kendo-angular-dialog';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [ModalWindowComponent],\n imports: [CommonModule, RouterModule, WindowModule, TranslateModule],\n exports: [ModalWindowComponent],\n})\nexport class ModalWindowModule {}\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';\nimport { Operators } from '../../models/Operators';\n\nconst defaultValueKey = 'id';\n\n@Component({\n selector: 'multicheck-filter',\n templateUrl: './multicheck-filter.component.html',\n styleUrls: ['./multicheck-filter.component.css'],\n standalone: false\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 @Input() public operator?: 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: this.operator ?? Operators.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: Operators.contains,\n field: 'name',\n value: e.target.value,\n }),\n ],\n 'name'\n );\n }\n}\n","<ul>\n @if (showFilter) {\n <li>\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n }\n @for (item of currentData; track item) {\n <li\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 }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { MulticheckFilterComponent } from './multicheck-filter.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MulticheckFilterComponent],\n imports: [CommonModule],\n exports: [MulticheckFilterComponent],\n})\nexport class MulticheckFilterModule {}\n","import { ChangeDetectionStrategy, 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.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\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=\"top-bar supply-nav-margin\">\n <nav class=\"navbar navbar-static-top white-bg\">\n <div class=\"navbar-header\" [style.display]=\"currentUser != null\">\n <button\n type=\"button\"\n class=\"navbar-minimalize minimalize-style-2 btn btn-primary\"\n (click)=\"toggleButtonClick()\">\n <i class=\"fa fa-bars\"></i>\n </button>\n </div>\n <ng-content></ng-content>\n @if (currentUser != null) {\n <div id=\"topBarIcons\" class=\"clearfix top-bar-user\">\n <a class=\"message-icons left container-login\"\n [routerLink]=\"['/security/admins', currentUser.id]\">\n <span class=\"fa fa-user\" aria-hidden=\"true\"></span>\n <span class=\"pad5left\">\n {{ currentUser.userName }}\n </span>\n <ng-content select=\".pad5left\"></ng-content>\n </a>\n <account-menu [user]=\"currentUser\"\n [menuItems]=\"menuItems\"\n ></account-menu>\n </div>\n }\n </nav>\n</div>\n","import { NgModule } from '@angular/core';\nimport { TopMenuComponent } from './top-bar.component';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AccountMenuModule } from '../../components/account-menu/account-menu.module';\n\n@NgModule({\n declarations: [\n TopMenuComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n AccountMenuModule,\n ],\n exports: [\n TopMenuComponent,\n ],\n})\nexport class TopBarModule {\n}\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ObjectDropdownComponent } from './object-dropdown.component';\n\n@NgModule({\n declarations: [ObjectDropdownComponent],\n exports: [ObjectDropdownComponent],\n imports: [\n CommonModule,\n TranslateModule,\n DropDownsModule,\n ReactiveFormsModule,\n ],\n})\nexport class ObjectDropdownModule {}\n","import { Component } from '@angular/core';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html',\n styleUrls: ['./forbidden.component.css'],\n standalone: false\n})\nexport class ForbiddenComponent {\n constructor(private accountService: AccountService) {}\n\n logout() {\n this.accountService.logout();\n }\n}\n","<div class=\"container body-content\">\n <h2>Forbidden</h2>\n <h4>\n You do not have permission to view this page. Please contact your\n administrator.\n </h4>\n <h4>\n <button\n class=\"btn btn-success\"\n (click)=\"logout()\"\n translate=\"Logout\"\n data-icon=\"sign-out\"\n ></button>\n </h4>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { MenuItemGroupComponent } from \"./menu-item-group/menu-item-group.component\";\nimport { SideMenuComponent } from \"./side-menu.component\";\nimport { NgModule } from \"@angular/core\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RouterModule } from \"@angular/router\";\nimport { FormsModule } from \"@angular/forms\";\nimport { LoadingBarHttpClientModule } from \"@ngx-loading-bar/http-client\";\n\n@NgModule({\n declarations: [SideMenuComponent, MenuItemGroupComponent],\n imports: [CommonModule, TranslateModule, RouterModule, FormsModule, LoadingBarHttpClientModule],\n exports: [SideMenuComponent, MenuItemGroupComponent],\n})\nexport class SideMenuModule {}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable, switchMap } from 'rxjs';\nimport { MsalService } from '@azure/msal-angular';\n\n@Injectable()\nexport class AuthHeadersInterceptor<T> implements HttpInterceptor {\n private readonly msalService: MsalService = inject(MsalService);\n\n intercept(req: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n return this.msalService.acquireTokenSilent({ scopes: [] }).pipe(\n switchMap(result => next.handle(this.addAuthHeader(req, result.idToken))),\n );\n }\n\n private addAuthHeader(req: HttpRequest<T>, token: string): HttpRequest<T> {\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n }\n}\n","import { TranslateLoader, TranslateModule, TranslateStore, TranslationObject } from '@ngx-translate/core';\nimport { IndiginaConfiguration } from './angular/models/IndiginaConfiguration';\nimport { Observable, of } from 'rxjs';\nimport { HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { inject, ModuleWithProviders, NgModule, provideAppInitializer } from '@angular/core';\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\nimport { ClipboardModule } from 'ngx-clipboard';\nimport { ToastrModule } from 'ngx-toastr';\nimport {\n AccountService,\n AppSettings,\n LocaleSettingsService,\n PermissionsService,\n SignalRService,\n} from '../public-api';\nimport { MsalModule, MsalService } from '@azure/msal-angular';\nimport { AuthHeadersInterceptor } from './interceptors/auth-headers.interceptor';\n\nlet defaultConfig: IndiginaConfiguration = {\n langs: {\n getTranslation(): Observable<TranslationObject> {\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 exports: [\n TranslateModule,\n ClipboardModule,\n LoadingBarHttpClientModule,\n ToastrModule,\n ],\n imports: [\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: TranslateLoaderFactory,\n deps: [\n IndiginaConfiguration,\n HttpClient,\n ],\n },\n }),\n LoadingBarHttpClientModule,\n ToastrModule.forRoot(),\n MsalModule,\n ],\n providers: [\n provideAppInitializer(() => {\n const initializerFn: () => void = (LocaleServiceSettingsFactory)(inject(LocaleSettingsService));\n\n return initializerFn();\n }),\n {\n provide: IndiginaConfiguration,\n useValue: defaultConfig,\n },\n {\n provide: AppSettings,\n useFactory: AppSettingsFactory,\n deps: [IndiginaConfiguration],\n },\n TranslateStore,\n MsalService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHeadersInterceptor,\n multi: true,\n },\n AccountService,\n PermissionsService,\n SignalRService,\n provideHttpClient(withInterceptorsFromDi()),\n ],\n})\nexport class AppCoreModule {\n public static forRoot(\n configuration: IndiginaConfiguration,\n ): ModuleWithProviders<AppCoreModule> {\n return {\n ngModule: AppCoreModule,\n providers: [\n provideAppInitializer(() => {\n const initializerFn:() => void = (LocaleServiceSettingsFactory)(inject(LocaleSettingsService));\n\n return initializerFn();\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i1","i2.AppSettings","i1.AppToastrService","i3.AppSettings","i5","i6.SettingsService","collapsedEvent","i3.MenuItemGroupComponent","i3.TreeViewNodeComponent","map","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","defaultValueField","i5.CurrentTimezoneComponent","i2.RequirePermissionDirective","i2.GeneralErrorsComponent","i3.EntityEditButtonsBarComponent","i6","SelectValue","tap","i3.ConfirmDialogComponent","i6.DebounceDirective","i7.ExcelExportButtonComponent","i8.RequirePermissionDirective","i9","i10","i11","i3.PartnerService","i4.ConfirmDialogComponent","i7.DebounceDirective","i8.ExcelExportButtonComponent","i9.RequirePermissionDirective","i12","i2.AccountMenuComponent"],"mappings":"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"}