{"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.token.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 { HttpRequestOptions } from './http-request-options.model';\nimport { SettingsService } from './settings.service';\nimport { AppToastrService } from './toastr.service';\n\nconst absoluteUrlRegExp = /^http(s)?:\\/\\//;\nconst slash = '/';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpService {\n  constructor(\n    private appToastrService: AppToastrService,\n    private httpClient: HttpClient,\n    private appSettings: AppSettings,\n    private translate: TranslateService,\n    private router: Router,\n    private settingsService: SettingsService,\n  ) {\n  }\n\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    showSuccessMessage: boolean = true,\n  ): Observable<T> {\n    return this.httpClient.post<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  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),\n    ).subscribe(() => this.authService.logoutRedirect());\n  }\n\n  public logout() {\n    this.authService.logoutRedirect();\n  }\n}\n","import {\n  BrowserCacheLocation,\n  Configuration,\n  IPublicClientApplication,\n  PublicClientApplication,\n} from '@azure/msal-browser';\nimport { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';\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    },\n    cache: {\n      cacheLocation: BrowserCacheLocation.LocalStorage,\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  switchMap,\n  of,\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  private readonly reload$: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\n\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    \n    this.data$ = this.reload$.pipe(\n      switchMap(() => this.loadData()),\n      takeUntil(this.destroy$)\n    );\n  }\n\n  private loadData(): Observable<NamedModel[]> {\n    if (this.data) {\n      return of(this.data);\n    }\n    \n    return this.getData().pipe(\n      tap((page) => this.updateControlValue(page)),\n      map((page) => page.data)\n    );\n  }\n\n  private updateControlValue(page: Page<NamedModel>): void {\n    const data: NamedModel[] = page.data;\n    const currentValue: string[] = this.control.value || [];\n    const filteredValue: string[] = currentValue.filter((x: string) =>\n      data.some((d) => d.id === x)\n    );\n    \n    if (currentValue.length !== filteredValue.length) {\n      this.control.setValue(filteredValue, { emitEvent: false });\n    }\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    this.reload$.next();\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, Input, InputSignal, output, OutputEmitterRef } 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  readonly callbackPath: InputSignal<string | undefined> = input();\n  @Input() title?: string;\n  readonly closed: OutputEmitterRef<void> = output();\n\n  constructor(protected route: ActivatedRoute, private router: Router) {}\n\n  public opened: boolean = true;\n\n  public close() {\n    this.opened = false;\n    if (this.callbackPath()) {\n      this.router.navigate([this.callbackPath()], {\n        relativeTo: this.route,\n        fragment: this.route.snapshot?.fragment,\n      });\n    }\n    this.closed.emit();\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 { HttpContextToken } from '@angular/common/http';\n\nexport const SKIP_AUTH_TOKEN: HttpContextToken<boolean> = new HttpContextToken<boolean>(() => false);\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';\nimport { SKIP_AUTH_TOKEN } from './auth-headers.token';\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    if (req.context.get(SKIP_AUTH_TOKEN)) {\n      return next.handle(req);\n    }\n\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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"}