@indigina/kendo 1.2.52 → 1.2.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/lib/angular/indigina.module.mjs +11 -12
  2. package/esm2022/lib/angular/widgets/live-updates-control/index.mjs +3 -0
  3. package/esm2022/lib/angular/widgets/live-updates-control/live-updates-control.module.mjs +19 -0
  4. package/esm2022/lib/angular/widgets/tree-view/index.mjs +4 -0
  5. package/esm2022/lib/angular/widgets/tree-view/indigina-tree-view.module.mjs +21 -0
  6. package/esm2022/lib/kendo.module.mjs +34 -26
  7. package/esm2022/lib/widgets/activity-filter/activity-filter.component.mjs +3 -3
  8. package/esm2022/lib/widgets/activity-filter/activity-filter.module.mjs +43 -0
  9. package/esm2022/lib/widgets/activity-filter/index.mjs +3 -0
  10. package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +6 -3
  11. package/esm2022/lib/widgets/modal-window/index.mjs +3 -0
  12. package/esm2022/lib/widgets/modal-window/modal-window.component.mjs +3 -4
  13. package/esm2022/lib/widgets/modal-window/modal-window.module.mjs +20 -0
  14. package/esm2022/lib/widgets/multicheck-filter/index.mjs +3 -0
  15. package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.module.mjs +18 -0
  16. package/esm2022/public-api.mjs +6 -6
  17. package/fesm2022/indigina-kendo.mjs +383 -281
  18. package/fesm2022/indigina-kendo.mjs.map +1 -1
  19. package/lib/angular/indigina.module.d.ts +13 -14
  20. package/lib/angular/widgets/live-updates-control/index.d.ts +2 -0
  21. package/lib/angular/widgets/live-updates-control/live-updates-control.module.d.ts +9 -0
  22. package/lib/angular/widgets/tree-view/index.d.ts +3 -0
  23. package/lib/angular/widgets/tree-view/indigina-tree-view.module.d.ts +11 -0
  24. package/lib/kendo.module.d.ts +35 -35
  25. package/lib/widgets/activity-filter/activity-filter.module.d.ts +13 -0
  26. package/lib/widgets/activity-filter/index.d.ts +2 -0
  27. package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -0
  28. package/lib/widgets/modal-window/index.d.ts +2 -0
  29. package/lib/widgets/modal-window/modal-window.module.d.ts +10 -0
  30. package/lib/widgets/multicheck-filter/index.d.ts +2 -0
  31. package/lib/widgets/multicheck-filter/multicheck-filter.module.d.ts +8 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +5 -5
@@ -30,6 +30,7 @@ import { Subject, of, BehaviorSubject, throwError, from, tap as tap$1, map as ma
30
30
  import { debounceTime, map, mergeMap, catchError, tap, filter, take, finalize } from 'rxjs/operators';
31
31
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
32
32
  import XmlBeautify from 'xml-beautify';
33
+ import { TreeViewModule } from '@progress/kendo-angular-treeview';
33
34
  import * as i4 from '@progress/kendo-angular-upload';
34
35
  import { UploadsModule } from '@progress/kendo-angular-upload';
35
36
  import * as i4$1 from '@progress/kendo-angular-inputs';
@@ -42,9 +43,9 @@ import * as i3 from '@progress/kendo-angular-dialog';
42
43
  import { WindowModule, DialogModule, DialogsModule } from '@progress/kendo-angular-dialog';
43
44
  import * as i6 from '@progress/kendo-angular-grid';
44
45
  import { PagerModule, GridModule, ExcelModule } from '@progress/kendo-angular-grid';
45
- import * as i5 from '@progress/kendo-angular-dateinputs';
46
+ import * as i4$3 from '@progress/kendo-angular-dateinputs';
46
47
  import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
47
- import * as i4$3 from '@progress/kendo-angular-dropdowns';
48
+ import * as i5 from '@progress/kendo-angular-dropdowns';
48
49
  import { DropDownListModule, DropDownsModule, MultiSelectModule } from '@progress/kendo-angular-dropdowns';
49
50
  import { TooltipModule } from '@progress/kendo-angular-tooltip';
50
51
 
@@ -891,6 +892,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
891
892
  type: Input
892
893
  }] } });
893
894
 
895
+ class IndiginaTreeViewModule {
896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IndiginaTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
897
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: IndiginaTreeViewModule, declarations: [TreeViewComponent, TreeViewNodeComponent], imports: [CommonModule, TranslateModule, TreeViewModule], exports: [TreeViewComponent] }); }
898
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IndiginaTreeViewModule, imports: [CommonModule, TranslateModule, TreeViewModule] }); }
899
+ }
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IndiginaTreeViewModule, decorators: [{
901
+ type: NgModule,
902
+ args: [{
903
+ declarations: [TreeViewComponent, TreeViewNodeComponent],
904
+ imports: [CommonModule, TranslateModule, TreeViewModule],
905
+ exports: [TreeViewComponent],
906
+ }]
907
+ }] });
908
+
894
909
  let defaultConfig = {
895
910
  langs: {
896
911
  getTranslation() {
@@ -928,15 +943,14 @@ class IndiginaModule {
928
943
  }
929
944
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IndiginaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
930
945
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: IndiginaModule, declarations: [SideMenuComponent,
931
- MenuItemGroupComponent,
932
- TreeViewComponent,
933
- TreeViewNodeComponent], imports: [HttpClientModule, i2.TranslateModule, LoadingBarHttpClientModule,
946
+ MenuItemGroupComponent], imports: [HttpClientModule, i2.TranslateModule, LoadingBarHttpClientModule,
934
947
  CommonModule,
935
948
  RouterModule,
936
949
  ReactiveFormsModule, i1$2.ToastrModule, FieldInputModule,
937
950
  GeneralErrorsModule,
938
- DebounceModule], exports: [SideMenuComponent,
939
- TreeViewComponent,
951
+ DebounceModule,
952
+ IndiginaTreeViewModule], exports: [SideMenuComponent,
953
+ IndiginaTreeViewModule,
940
954
  DebounceModule,
941
955
  GeneralErrorsModule,
942
956
  TranslateModule,
@@ -976,7 +990,9 @@ class IndiginaModule {
976
990
  ToastrModule.forRoot(),
977
991
  FieldInputModule,
978
992
  GeneralErrorsModule,
979
- DebounceModule, DebounceModule,
993
+ DebounceModule,
994
+ IndiginaTreeViewModule, IndiginaTreeViewModule,
995
+ DebounceModule,
980
996
  GeneralErrorsModule,
981
997
  TranslateModule,
982
998
  ClipboardModule,
@@ -990,8 +1006,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
990
1006
  declarations: [
991
1007
  SideMenuComponent,
992
1008
  MenuItemGroupComponent,
993
- TreeViewComponent,
994
- TreeViewNodeComponent,
995
1009
  ],
996
1010
  imports: [
997
1011
  HttpClientModule,
@@ -1010,6 +1024,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
1010
1024
  FieldInputModule,
1011
1025
  GeneralErrorsModule,
1012
1026
  DebounceModule,
1027
+ IndiginaTreeViewModule,
1013
1028
  ],
1014
1029
  providers: [
1015
1030
  {
@@ -1031,7 +1046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
1031
1046
  ],
1032
1047
  exports: [
1033
1048
  SideMenuComponent,
1034
- TreeViewComponent,
1049
+ IndiginaTreeViewModule,
1035
1050
  DebounceModule,
1036
1051
  GeneralErrorsModule,
1037
1052
  TranslateModule,
@@ -1664,6 +1679,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
1664
1679
  type: Input
1665
1680
  }] } });
1666
1681
 
1682
+ class LiveUpdatesControlModule {
1683
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LiveUpdatesControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1684
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: LiveUpdatesControlModule, declarations: [LiveUpdatesControlComponent], imports: [CommonModule, TranslateModule], exports: [LiveUpdatesControlComponent] }); }
1685
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LiveUpdatesControlModule, imports: [CommonModule, TranslateModule] }); }
1686
+ }
1687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LiveUpdatesControlModule, decorators: [{
1688
+ type: NgModule,
1689
+ args: [{
1690
+ declarations: [LiveUpdatesControlComponent],
1691
+ imports: [CommonModule, TranslateModule],
1692
+ exports: [LiveUpdatesControlComponent],
1693
+ }]
1694
+ }] });
1695
+
1667
1696
  class AuthProvider {
1668
1697
  }
1669
1698
 
@@ -2545,142 +2574,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
2545
2574
  type: Injectable
2546
2575
  }], ctorParameters: () => [{ type: SettingsService }] });
2547
2576
 
2548
- var FieldTypes;
2549
- (function (FieldTypes) {
2550
- FieldTypes[FieldTypes["Text"] = 0] = "Text";
2551
- FieldTypes[FieldTypes["Checkbox"] = 1] = "Checkbox";
2552
- FieldTypes[FieldTypes["Dropdown"] = 2] = "Dropdown";
2553
- FieldTypes[FieldTypes["Multiselect"] = 3] = "Multiselect";
2554
- })(FieldTypes || (FieldTypes = {}));
2555
-
2556
- const moment = momentModule['default'] || momentModule;
2557
- class CurrentTimezoneComponent {
2558
- ngOnInit() {
2559
- const timeZone = moment.tz.guess();
2560
- this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');
2561
- }
2562
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimezoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2563
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CurrentTimezoneComponent, selector: "current-timezone", ngImport: i0, template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
2564
- }
2565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimezoneComponent, decorators: [{
2566
- type: Component,
2567
- args: [{ selector: 'current-timezone', template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n" }]
2568
- }] });
2569
-
2570
- const allKey = 'All';
2571
- const defaultValueField = 'id';
2572
- class ActivityFilterComponent {
2573
- constructor(translate) {
2574
- this.translate = translate;
2575
- this.showArchiveSwitcher = true;
2576
- this.showSearhText = true;
2577
- this.FieldTypes = FieldTypes;
2578
- this.defaultNamedModel = {
2579
- name: this.translate.instant(allKey),
2580
- id: null,
2581
- };
2582
- }
2583
- ngOnInit() {
2584
- this.customFilterElements?.forEach((element) => (element.valueField = element.valueField
2585
- ? element.valueField
2586
- : defaultValueField));
2587
- this.filterService.filter$.subscribe((filter) => {
2588
- this.filter = filter;
2589
- this.changeFilter();
2590
- });
2591
- }
2592
- ngOnChanges() {
2593
- this.changeFilter();
2594
- }
2595
- setTodayFilter() {
2596
- this.filterService.setToday();
2597
- }
2598
- clearFilter() {
2599
- this.customFilterElements?.forEach((element) => {
2600
- element.filter.value = null;
2601
- if (element.filter.values) {
2602
- element.filter.values = [];
2603
- }
2604
- });
2605
- this.filterService.reset();
2606
- this.emitChangeEvents();
2607
- }
2608
- applyFilter() {
2609
- this.setCustomFilters();
2610
- this.filterService.applyFilter(this.filter);
2611
- }
2612
- fieldChange(value, element) {
2613
- if (element.change) {
2614
- element.change(value);
2615
- }
2616
- }
2617
- fillFilter() {
2618
- if (!this.filter) {
2619
- return;
2620
- }
2621
- this.customFilterElements?.forEach((element) => {
2622
- element.filter = { ...element.filter, value: null, values: null };
2623
- });
2624
- this.filter.customFilters?.forEach((filter) => {
2625
- const element = this.customFilterElements?.find((x) => x.filter.field === filter.field &&
2626
- x.filter.filterTarget === filter.filterTarget);
2627
- if (element) {
2628
- element.filter = Object.assign({}, filter);
2629
- }
2630
- });
2631
- }
2632
- setCustomFilters() {
2633
- this.customFilterElements?.forEach((element) => {
2634
- const index = this.filter.customFilters?.findIndex((x) => x.field === element.filter.field);
2635
- if (index !== -1) {
2636
- this.filter.customFilters.splice(index, 1);
2637
- }
2638
- });
2639
- this.customFilterElements?.forEach((element) => this.filter.customFilters.push(element.filter));
2640
- }
2641
- fixMultiselectFilters() {
2642
- const multiSelectFilters = this.customFilterElements?.map((element) => {
2643
- if (element.fieldType === FieldTypes.Multiselect) {
2644
- return element.filter;
2645
- }
2646
- });
2647
- if (multiSelectFilters) {
2648
- multiSelectFilters.forEach((filter) => {
2649
- if (filter?.value) {
2650
- filter.values = [filter.value];
2651
- filter.value = null;
2652
- }
2653
- });
2654
- }
2655
- }
2656
- changeFilter() {
2657
- this.fillFilter();
2658
- this.fixMultiselectFilters();
2659
- this.emitChangeEvents();
2660
- }
2661
- emitChangeEvents() {
2662
- this.customFilterElements?.forEach((element) => {
2663
- if (element.filter.value || element.filter.values) {
2664
- this.fieldChange(element.filter.value ?? element.filter.values, element);
2665
- }
2666
- });
2667
- }
2668
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
2669
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ActivityFilterComponent, selector: "activity-filter", inputs: { showArchiveSwitcher: "showArchiveSwitcher", showSearhText: "showSearhText", customFilterElements: "customFilterElements", filterService: "filterService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: i4$3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i4$3.SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: ["kendoMultiSelectSummaryTag"] }, { kind: "component", type: i5.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: CurrentTimezoneComponent, selector: "current-timezone" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
2670
- }
2671
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterComponent, decorators: [{
2672
- type: Component,
2673
- args: [{ selector: 'activity-filter', template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"] }]
2674
- }], ctorParameters: () => [{ type: i2.TranslateService }], propDecorators: { showArchiveSwitcher: [{
2675
- type: Input
2676
- }], showSearhText: [{
2677
- type: Input
2678
- }], customFilterElements: [{
2679
- type: Input
2680
- }], filterService: [{
2681
- type: Input
2682
- }] } });
2683
-
2684
2577
  class EntityEditButtonsBarComponent {
2685
2578
  constructor() {
2686
2579
  this.save = new EventEmitter();
@@ -2950,7 +2843,7 @@ class FieldDropdownlistComponent {
2950
2843
  this.initialSelectedId = id;
2951
2844
  }
2952
2845
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
2953
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort", filter: "filter" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i4$3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] }); }
2846
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label", sort: "sort", filter: "filter" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i5.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] }); }
2954
2847
  }
2955
2848
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
2956
2849
  type: Component,
@@ -2984,112 +2877,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
2984
2877
  }]
2985
2878
  }] });
2986
2879
 
2987
- class ModalWindowComponent {
2988
- constructor(route, router) {
2989
- this.route = route;
2990
- this.router = router;
2991
- this.opened = true;
2992
- }
2993
- close() {
2994
- this.opened = false;
2995
- this.router.navigate([this.callbackPath], {
2996
- relativeTo: this.route,
2997
- fragment: this.route.snapshot?.fragment,
2998
- });
2999
- }
3000
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
3001
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ModalWindowComponent, selector: "modal-window", inputs: { callbackPath: "callbackPath", title: "title" }, ngImport: i0, template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: i3.WindowCloseActionDirective, selector: "button[kendoWindowCloseAction]", inputs: ["window"], exportAs: ["kendoWindowCloseAction"] }, { kind: "component", type: i3.WindowTitleBarComponent, selector: "kendo-window-titlebar", inputs: ["template", "id"] }] }); }
3002
- }
3003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowComponent, decorators: [{
3004
- type: Component,
3005
- args: [{ selector: 'modal-window', template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"] }]
3006
- }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: i1$4.Router }], propDecorators: { callbackPath: [{
3007
- type: Input
3008
- }], title: [{
3009
- type: Input
3010
- }] } });
3011
-
3012
- const defaultValueKey = 'id';
3013
- class MulticheckFilterComponent {
3014
- constructor() {
3015
- this.valueChange = new EventEmitter();
3016
- this.showFilter = true;
3017
- this.value = [];
3018
- this.filters = [];
3019
- }
3020
- get ValueKey() {
3021
- return this.valueField ? this.valueField : defaultValueKey;
3022
- }
3023
- ngAfterViewInit() {
3024
- this.currentData = this.data;
3025
- if (this.currentData && this.currentData.length) {
3026
- this.traverseFilters(this.currentFilter);
3027
- this.value = this.filters.map((f) => f.value);
3028
- this.showFilter = typeof this.currentData[0].name === 'string';
3029
- }
3030
- }
3031
- traverseFilters(filters) {
3032
- let compositeFilterDescriptor = filters;
3033
- if (compositeFilterDescriptor.filters) {
3034
- for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {
3035
- const innerFilter = compositeFilterDescriptor.filters[i];
3036
- if (innerFilter.value && innerFilter.field === this.field) {
3037
- this.filters.push(innerFilter);
3038
- }
3039
- this.traverseFilters(innerFilter);
3040
- }
3041
- }
3042
- }
3043
- isItemSelected(item) {
3044
- return this.value.some((x) => x === item[this.ValueKey]);
3045
- }
3046
- onSelectionChange(item) {
3047
- const selectedValue = item[this.ValueKey];
3048
- if (this.value.some((x) => x === selectedValue)) {
3049
- this.value = this.value.filter((x) => x !== selectedValue);
3050
- }
3051
- else {
3052
- this.value.push(selectedValue);
3053
- }
3054
- this.filterService.filter({
3055
- filters: this.value.map((value) => ({
3056
- field: this.field,
3057
- operator: 'eq',
3058
- value,
3059
- })),
3060
- logic: 'or',
3061
- });
3062
- }
3063
- onInput(e) {
3064
- this.currentData = distinct([
3065
- ...this.currentData.filter((dataItem) => this.value.some((val) => val === dataItem.id)),
3066
- ...filterBy(this.data, {
3067
- operator: 'contains',
3068
- field: 'name',
3069
- value: e.target.value,
3070
- }),
3071
- ], 'name');
3072
- }
3073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3074
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: MulticheckFilterComponent, selector: "multicheck-filter", inputs: { currentFilter: "currentFilter", data: "data", filterService: "filterService", field: "field", valueField: "valueField" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
3075
- }
3076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterComponent, decorators: [{
3077
- type: Component,
3078
- args: [{ selector: 'multicheck-filter', template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\n"] }]
3079
- }], propDecorators: { currentFilter: [{
3080
- type: Input
3081
- }], data: [{
3082
- type: Input
3083
- }], filterService: [{
3084
- type: Input
3085
- }], field: [{
3086
- type: Input
3087
- }], valueField: [{
3088
- type: Input
3089
- }], valueChange: [{
3090
- type: Output
3091
- }] } });
3092
-
3093
2880
  const SelectValue$1 = 'Select value';
3094
2881
  const defaultFieldName = 'name';
3095
2882
  class FieldDropdownComponent extends FieldComponent {
@@ -3195,7 +2982,7 @@ class FieldDropdownComponent extends FieldComponent {
3195
2982
  this.kendoDropDown.writeValue(selectedEntityId);
3196
2983
  }
3197
2984
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FieldDropdownComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter", defaultName: "defaultName", selectedItem: "selectedItem", data: "data", textField: "textField" }, outputs: { selectedChange: "selectedChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4$3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], viewProviders: [
2985
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter", defaultName: "defaultName", selectedItem: "selectedItem", data: "data", textField: "textField" }, outputs: { selectedChange: "selectedChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"textField\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n #inputElement\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }], viewProviders: [
3199
2986
  { provide: ControlContainer, useExisting: FormGroupDirective },
3200
2987
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3201
2988
  }
@@ -3270,7 +3057,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3270
3057
  args: [{ selector: 'app-forbidden', template: "<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", styles: ["::ng-deep #preloader{display:none!important}\n"] }]
3271
3058
  }], ctorParameters: () => [{ type: AccountService }] });
3272
3059
 
3273
- class CurrentTimeZoneModule {
3060
+ const moment = momentModule['default'] || momentModule;
3061
+ class CurrentTimezoneComponent {
3062
+ ngOnInit() {
3063
+ const timeZone = moment.tz.guess();
3064
+ this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');
3065
+ }
3066
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimezoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3067
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CurrentTimezoneComponent, selector: "current-timezone", ngImport: i0, template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
3068
+ }
3069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimezoneComponent, decorators: [{
3070
+ type: Component,
3071
+ args: [{ selector: 'current-timezone', template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n" }]
3072
+ }] });
3073
+
3074
+ class CurrentTimeZoneModule {
3274
3075
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimeZoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3275
3076
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimeZoneModule, declarations: [CurrentTimezoneComponent], imports: [TranslateModule], exports: [CurrentTimezoneComponent] }); }
3276
3077
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CurrentTimeZoneModule, imports: [TranslateModule] }); }
@@ -3311,11 +3112,14 @@ class FieldMultiSelectComponent extends FieldComponent {
3311
3112
  }
3312
3113
  this.control.value.length > 0 && event.preventDefault();
3313
3114
  }
3115
+ onValueChange(value) {
3116
+ this.changed.emit(value);
3117
+ }
3314
3118
  getData() {
3315
3119
  return this.service.getPage(this.filter ? { filter: this.filter } : {});
3316
3120
  }
3317
3121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3318
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter", textField: "textField", valueField: "valueField", singleMode: "singleMode", autoClose: "autoClose" }, outputs: { changed: "changed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label class=\"col-md-3 control-label\"\n [translate]=\"labelKey\"\n [for]=\"'_' + fieldName\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n ></kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">\n {{ control.errors['serverErrorMsg'] }}\n </span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], viewProviders: [
3122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter", textField: "textField", valueField: "valueField", singleMode: "singleMode", autoClose: "autoClose" }, outputs: { changed: "changed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label class=\"col-md-3 control-label\"\n [translate]=\"labelKey\"\n [for]=\"'_' + fieldName\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n (valueChange)=\"onValueChange($event)\"\n ></kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">\n {{ control.errors['serverErrorMsg'] }}\n </span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], viewProviders: [
3319
3123
  {
3320
3124
  provide: ControlContainer,
3321
3125
  useExisting: FormGroupDirective,
@@ -3329,7 +3133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3329
3133
  provide: ControlContainer,
3330
3134
  useExisting: FormGroupDirective,
3331
3135
  },
3332
- ], template: "<div class=\"form-group\">\n <label class=\"col-md-3 control-label\"\n [translate]=\"labelKey\"\n [for]=\"'_' + fieldName\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n ></kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">\n {{ control.errors['serverErrorMsg'] }}\n </span>\n </div>\n </div>\n</div>\n" }]
3136
+ ], template: "<div class=\"form-group\">\n <label class=\"col-md-3 control-label\"\n [translate]=\"labelKey\"\n [for]=\"'_' + fieldName\"\n ></label>\n <div *ngIf=\"control\" class=\"col-md-9\">\n <kendo-multiselect\n [id]=\"'_' + fieldName\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"autoClose\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [valuePrimitive]=\"true\"\n (open)=\"onPopupOpen($event)\"\n (valueChange)=\"onValueChange($event)\"\n ></kendo-multiselect>\n\n <div *ngIf=\"control.invalid && control.touched\" class=\"bg-danger\">\n <span *ngIf=\"control.errors['required']\">\n {{ \"Required\" | translate : { param0: labelKey | translate } }}\n </span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">\n {{ control.errors['serverErrorMsg'] }}\n </span>\n </div>\n </div>\n</div>\n" }]
3333
3137
  }], ctorParameters: () => [{ type: i1$3.FormGroupDirective }, { type: i0.ElementRef }], propDecorators: { service: [{
3334
3138
  type: Input
3335
3139
  }], rebind: [{
@@ -3445,6 +3249,296 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3445
3249
  }]
3446
3250
  }] });
3447
3251
 
3252
+ var FieldTypes;
3253
+ (function (FieldTypes) {
3254
+ FieldTypes[FieldTypes["Text"] = 0] = "Text";
3255
+ FieldTypes[FieldTypes["Checkbox"] = 1] = "Checkbox";
3256
+ FieldTypes[FieldTypes["Dropdown"] = 2] = "Dropdown";
3257
+ FieldTypes[FieldTypes["Multiselect"] = 3] = "Multiselect";
3258
+ })(FieldTypes || (FieldTypes = {}));
3259
+
3260
+ const allKey = 'All';
3261
+ const defaultValueField = 'id';
3262
+ class ActivityFilterComponent {
3263
+ constructor(translate) {
3264
+ this.translate = translate;
3265
+ this.showArchiveSwitcher = true;
3266
+ this.showSearhText = true;
3267
+ this.FieldTypes = FieldTypes;
3268
+ this.defaultNamedModel = {
3269
+ name: this.translate.instant(allKey),
3270
+ id: null,
3271
+ };
3272
+ }
3273
+ ngOnInit() {
3274
+ this.customFilterElements?.forEach((element) => (element.valueField = element.valueField
3275
+ ? element.valueField
3276
+ : defaultValueField));
3277
+ this.filterService.filter$.subscribe((filter) => {
3278
+ this.filter = filter;
3279
+ this.changeFilter();
3280
+ });
3281
+ }
3282
+ ngOnChanges() {
3283
+ this.changeFilter();
3284
+ }
3285
+ setTodayFilter() {
3286
+ this.filterService.setToday();
3287
+ }
3288
+ clearFilter() {
3289
+ this.customFilterElements?.forEach((element) => {
3290
+ element.filter.value = null;
3291
+ if (element.filter.values) {
3292
+ element.filter.values = [];
3293
+ }
3294
+ });
3295
+ this.filterService.reset();
3296
+ this.emitChangeEvents();
3297
+ }
3298
+ applyFilter() {
3299
+ this.setCustomFilters();
3300
+ this.filterService.applyFilter(this.filter);
3301
+ }
3302
+ fieldChange(value, element) {
3303
+ if (element.change) {
3304
+ element.change(value);
3305
+ }
3306
+ }
3307
+ fillFilter() {
3308
+ if (!this.filter) {
3309
+ return;
3310
+ }
3311
+ this.customFilterElements?.forEach((element) => {
3312
+ element.filter = { ...element.filter, value: null, values: null };
3313
+ });
3314
+ this.filter.customFilters?.forEach((filter) => {
3315
+ const element = this.customFilterElements?.find((x) => x.filter.field === filter.field &&
3316
+ x.filter.filterTarget === filter.filterTarget);
3317
+ if (element) {
3318
+ element.filter = Object.assign({}, filter);
3319
+ }
3320
+ });
3321
+ }
3322
+ setCustomFilters() {
3323
+ this.customFilterElements?.forEach((element) => {
3324
+ const index = this.filter.customFilters?.findIndex((x) => x.field === element.filter.field);
3325
+ if (index !== -1) {
3326
+ this.filter.customFilters.splice(index, 1);
3327
+ }
3328
+ });
3329
+ this.customFilterElements?.forEach((element) => this.filter.customFilters.push(element.filter));
3330
+ }
3331
+ fixMultiselectFilters() {
3332
+ const multiSelectFilters = this.customFilterElements?.map((element) => {
3333
+ if (element.fieldType === FieldTypes.Multiselect) {
3334
+ return element.filter;
3335
+ }
3336
+ });
3337
+ if (multiSelectFilters) {
3338
+ multiSelectFilters.forEach((filter) => {
3339
+ if (filter?.value) {
3340
+ filter.values = [filter.value];
3341
+ filter.value = null;
3342
+ }
3343
+ });
3344
+ }
3345
+ }
3346
+ changeFilter() {
3347
+ this.fillFilter();
3348
+ this.fixMultiselectFilters();
3349
+ this.emitChangeEvents();
3350
+ }
3351
+ emitChangeEvents() {
3352
+ this.customFilterElements?.forEach((element) => {
3353
+ if (element.filter.value || element.filter.values) {
3354
+ this.fieldChange(element.filter.value ?? element.filter.values, element);
3355
+ }
3356
+ });
3357
+ }
3358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterComponent, deps: [{ token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3359
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ActivityFilterComponent, selector: "activity-filter", inputs: { showArchiveSwitcher: "showArchiveSwitcher", showSearhText: "showSearhText", customFilterElements: "customFilterElements", filterService: "filterService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$3.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: i5.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: i5.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["showStickyHeader", "focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "adaptiveMode", "title", "subtitle", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i5.SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: ["kendoMultiSelectSummaryTag"] }, { kind: "component", type: CurrentTimezoneComponent, selector: "current-timezone" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
3360
+ }
3361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterComponent, decorators: [{
3362
+ type: Component,
3363
+ args: [{ selector: 'activity-filter', template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"] }]
3364
+ }], ctorParameters: () => [{ type: i2.TranslateService }], propDecorators: { showArchiveSwitcher: [{
3365
+ type: Input
3366
+ }], showSearhText: [{
3367
+ type: Input
3368
+ }], customFilterElements: [{
3369
+ type: Input
3370
+ }], filterService: [{
3371
+ type: Input
3372
+ }] } });
3373
+
3374
+ class ActivityFilterModule {
3375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3376
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterModule, declarations: [ActivityFilterComponent], imports: [CommonModule,
3377
+ ReactiveFormsModule,
3378
+ FormsModule,
3379
+ TranslateModule,
3380
+ DateInputsModule,
3381
+ DropDownsModule,
3382
+ CurrentTimeZoneModule], exports: [ActivityFilterComponent] }); }
3383
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterModule, imports: [CommonModule,
3384
+ ReactiveFormsModule,
3385
+ FormsModule,
3386
+ TranslateModule,
3387
+ DateInputsModule,
3388
+ DropDownsModule,
3389
+ CurrentTimeZoneModule] }); }
3390
+ }
3391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ActivityFilterModule, decorators: [{
3392
+ type: NgModule,
3393
+ args: [{
3394
+ declarations: [ActivityFilterComponent],
3395
+ imports: [
3396
+ CommonModule,
3397
+ ReactiveFormsModule,
3398
+ FormsModule,
3399
+ TranslateModule,
3400
+ DateInputsModule,
3401
+ DropDownsModule,
3402
+ CurrentTimeZoneModule,
3403
+ ],
3404
+ exports: [ActivityFilterComponent],
3405
+ }]
3406
+ }] });
3407
+
3408
+ class ModalWindowComponent {
3409
+ constructor(route, router) {
3410
+ this.route = route;
3411
+ this.router = router;
3412
+ this.opened = true;
3413
+ }
3414
+ close() {
3415
+ this.opened = false;
3416
+ this.router.navigate([this.callbackPath], {
3417
+ relativeTo: this.route,
3418
+ fragment: this.route.snapshot?.fragment,
3419
+ });
3420
+ }
3421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component }); }
3422
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ModalWindowComponent, selector: "modal-window", inputs: { callbackPath: "callbackPath", title: "title" }, ngImport: i0, template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: i3.WindowCloseActionDirective, selector: "button[kendoWindowCloseAction]", inputs: ["window"], exportAs: ["kendoWindowCloseAction"] }, { kind: "component", type: i3.WindowTitleBarComponent, selector: "kendo-window-titlebar", inputs: ["template", "id"] }] }); }
3423
+ }
3424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowComponent, decorators: [{
3425
+ type: Component,
3426
+ args: [{ selector: 'modal-window', template: "<div class=\"modal-window window-wrapper\">\n <div class=\"k-overlay\" *ngIf=\"opened\" (click)=\"close()\"></div>\n <kendo-window (close)=\"close()\" [height]=\"830\" [width]=\"800\" *ngIf=\"opened\">\n <kendo-window-titlebar>\n <div class=\"k-window-title\" [translate]=\"title\"></div>\n <button kendoWindowCloseAction></button>\n </kendo-window-titlebar>\n <ng-content></ng-content>\n </kendo-window>\n</div>\n", styles: [".modal-window{z-index:11002}\n"] }]
3427
+ }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: i1$4.Router }], propDecorators: { callbackPath: [{
3428
+ type: Input
3429
+ }], title: [{
3430
+ type: Input
3431
+ }] } });
3432
+
3433
+ class ModalWindowModule {
3434
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3435
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowModule, declarations: [ModalWindowComponent], imports: [CommonModule, RouterModule, WindowModule], exports: [ModalWindowComponent] }); }
3436
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowModule, imports: [CommonModule, RouterModule, WindowModule] }); }
3437
+ }
3438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ModalWindowModule, decorators: [{
3439
+ type: NgModule,
3440
+ args: [{
3441
+ declarations: [ModalWindowComponent],
3442
+ imports: [CommonModule, RouterModule, WindowModule],
3443
+ exports: [ModalWindowComponent],
3444
+ }]
3445
+ }] });
3446
+
3447
+ const defaultValueKey = 'id';
3448
+ class MulticheckFilterComponent {
3449
+ constructor() {
3450
+ this.valueChange = new EventEmitter();
3451
+ this.showFilter = true;
3452
+ this.value = [];
3453
+ this.filters = [];
3454
+ }
3455
+ get ValueKey() {
3456
+ return this.valueField ? this.valueField : defaultValueKey;
3457
+ }
3458
+ ngAfterViewInit() {
3459
+ this.currentData = this.data;
3460
+ if (this.currentData && this.currentData.length) {
3461
+ this.traverseFilters(this.currentFilter);
3462
+ this.value = this.filters.map((f) => f.value);
3463
+ this.showFilter = typeof this.currentData[0].name === 'string';
3464
+ }
3465
+ }
3466
+ traverseFilters(filters) {
3467
+ let compositeFilterDescriptor = filters;
3468
+ if (compositeFilterDescriptor.filters) {
3469
+ for (let i = 0; i < compositeFilterDescriptor.filters.length; i++) {
3470
+ const innerFilter = compositeFilterDescriptor.filters[i];
3471
+ if (innerFilter.value && innerFilter.field === this.field) {
3472
+ this.filters.push(innerFilter);
3473
+ }
3474
+ this.traverseFilters(innerFilter);
3475
+ }
3476
+ }
3477
+ }
3478
+ isItemSelected(item) {
3479
+ return this.value.some((x) => x === item[this.ValueKey]);
3480
+ }
3481
+ onSelectionChange(item) {
3482
+ const selectedValue = item[this.ValueKey];
3483
+ if (this.value.some((x) => x === selectedValue)) {
3484
+ this.value = this.value.filter((x) => x !== selectedValue);
3485
+ }
3486
+ else {
3487
+ this.value.push(selectedValue);
3488
+ }
3489
+ this.filterService.filter({
3490
+ filters: this.value.map((value) => ({
3491
+ field: this.field,
3492
+ operator: 'eq',
3493
+ value,
3494
+ })),
3495
+ logic: 'or',
3496
+ });
3497
+ }
3498
+ onInput(e) {
3499
+ this.currentData = distinct([
3500
+ ...this.currentData.filter((dataItem) => this.value.some((val) => val === dataItem.id)),
3501
+ ...filterBy(this.data, {
3502
+ operator: 'contains',
3503
+ field: 'name',
3504
+ value: e.target.value,
3505
+ }),
3506
+ ], 'name');
3507
+ }
3508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3509
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: MulticheckFilterComponent, selector: "multicheck-filter", inputs: { currentFilter: "currentFilter", data: "data", filterService: "filterService", field: "field", valueField: "valueField" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
3510
+ }
3511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterComponent, decorators: [{
3512
+ type: Component,
3513
+ args: [{ selector: 'multicheck-filter', template: "<ul>\n <li *ngIf=\"showFilter\">\n <input class=\"k-textbox\" (input)=\"onInput($event)\" />\n </li>\n <li\n *ngFor=\"let item of currentData; let i = index\"\n (click)=\"onSelectionChange(item)\"\n [ngClass]=\"{ 'k-state-selected': isItemSelected(item) }\"\n >\n <input\n type=\"checkbox\"\n style=\"margin-right: 5px\"\n id=\"chk-{{ item.id }}\"\n class=\"k-checkbox\"\n [checked]=\"isItemSelected(item)\"\n />\n <label\n class=\"k-multiselect-checkbox k-checkbox-label\"\n for=\"chk-{{ item.id }}\"\n >\n {{ item.name }}\n </label>\n </li>\n</ul>\n", styles: ["ul{list-style-type:none;height:200px;overflow-y:scroll;padding-left:0;padding-right:12px}ul>li{padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-bottom:none}ul>li:last-of-type{border-bottom:1px solid rgba(0,0,0,.08)}.k-multiselect-checkbox{pointer-events:none}\n"] }]
3514
+ }], propDecorators: { currentFilter: [{
3515
+ type: Input
3516
+ }], data: [{
3517
+ type: Input
3518
+ }], filterService: [{
3519
+ type: Input
3520
+ }], field: [{
3521
+ type: Input
3522
+ }], valueField: [{
3523
+ type: Input
3524
+ }], valueChange: [{
3525
+ type: Output
3526
+ }] } });
3527
+
3528
+ class MulticheckFilterModule {
3529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3530
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterModule, declarations: [MulticheckFilterComponent], imports: [CommonModule], exports: [MulticheckFilterComponent] }); }
3531
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterModule, imports: [CommonModule] }); }
3532
+ }
3533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MulticheckFilterModule, decorators: [{
3534
+ type: NgModule,
3535
+ args: [{
3536
+ declarations: [MulticheckFilterComponent],
3537
+ imports: [CommonModule],
3538
+ exports: [MulticheckFilterComponent],
3539
+ }]
3540
+ }] });
3541
+
3448
3542
  class KendoModule {
3449
3543
  static forRoot(config, servicesConfig) {
3450
3544
  let module = {
@@ -3471,11 +3565,7 @@ class KendoModule {
3471
3565
  return module;
3472
3566
  }
3473
3567
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3474
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, declarations: [MulticheckFilterComponent,
3475
- ActivityFilterComponent,
3476
- ModalWindowComponent,
3477
- LiveUpdatesControlComponent,
3478
- AzureLoginCallbackComponent,
3568
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, declarations: [AzureLoginCallbackComponent,
3479
3569
  UserListAdminComponent,
3480
3570
  ForbiddenComponent], imports: [CommonModule,
3481
3571
  RouterModule,
@@ -3499,6 +3589,7 @@ class KendoModule {
3499
3589
  CurrentTimeZoneModule,
3500
3590
  ConfirmDialogModule,
3501
3591
  RequirePermissionModule,
3592
+ ActivityFilterModule,
3502
3593
  EntityListModule,
3503
3594
  ExcelExportButtonModule,
3504
3595
  EntityEditFormModule,
@@ -3508,7 +3599,10 @@ class KendoModule {
3508
3599
  FooterBarModule,
3509
3600
  TopBarModule,
3510
3601
  AccountMenuModule,
3511
- LanguageSelectorModule], exports: [IndiginaModule,
3602
+ LanguageSelectorModule,
3603
+ ModalWindowModule,
3604
+ MulticheckFilterModule,
3605
+ LiveUpdatesControlModule], exports: [IndiginaModule,
3512
3606
  PopupModule,
3513
3607
  DropDownsModule,
3514
3608
  TooltipModule,
@@ -3525,12 +3619,11 @@ class KendoModule {
3525
3619
  FieldDropdownlistModule,
3526
3620
  ConfirmDialogModule,
3527
3621
  ExcelExportButtonModule,
3528
- MulticheckFilterComponent,
3622
+ MulticheckFilterModule,
3529
3623
  RequirePermissionModule,
3530
- ActivityFilterComponent,
3624
+ ActivityFilterModule,
3531
3625
  CurrentTimeZoneModule,
3532
- ModalWindowComponent,
3533
- LiveUpdatesControlComponent,
3626
+ LiveUpdatesControlModule,
3534
3627
  MsalModule,
3535
3628
  AzureLoginCallbackComponent,
3536
3629
  UserListAdminComponent,
@@ -3538,7 +3631,8 @@ class KendoModule {
3538
3631
  ForbiddenComponent,
3539
3632
  FieldMultiselectModule,
3540
3633
  AccountMenuModule,
3541
- LanguageSelectorModule] }); }
3634
+ LanguageSelectorModule,
3635
+ ModalWindowModule] }); }
3542
3636
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, providers: [
3543
3637
  {
3544
3638
  provide: HTTP_INTERCEPTORS,
@@ -3571,6 +3665,7 @@ class KendoModule {
3571
3665
  CurrentTimeZoneModule,
3572
3666
  ConfirmDialogModule,
3573
3667
  RequirePermissionModule,
3668
+ ActivityFilterModule,
3574
3669
  EntityListModule,
3575
3670
  ExcelExportButtonModule,
3576
3671
  EntityEditFormModule,
@@ -3580,7 +3675,10 @@ class KendoModule {
3580
3675
  FooterBarModule,
3581
3676
  TopBarModule,
3582
3677
  AccountMenuModule,
3583
- LanguageSelectorModule, IndiginaModule,
3678
+ LanguageSelectorModule,
3679
+ ModalWindowModule,
3680
+ MulticheckFilterModule,
3681
+ LiveUpdatesControlModule, IndiginaModule,
3584
3682
  PopupModule,
3585
3683
  DropDownsModule,
3586
3684
  TooltipModule,
@@ -3597,22 +3695,22 @@ class KendoModule {
3597
3695
  FieldDropdownlistModule,
3598
3696
  ConfirmDialogModule,
3599
3697
  ExcelExportButtonModule,
3698
+ MulticheckFilterModule,
3600
3699
  RequirePermissionModule,
3700
+ ActivityFilterModule,
3601
3701
  CurrentTimeZoneModule,
3702
+ LiveUpdatesControlModule,
3602
3703
  MsalModule,
3603
3704
  FieldDropdownModule,
3604
3705
  FieldMultiselectModule,
3605
3706
  AccountMenuModule,
3606
- LanguageSelectorModule] }); }
3707
+ LanguageSelectorModule,
3708
+ ModalWindowModule] }); }
3607
3709
  }
3608
3710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, decorators: [{
3609
3711
  type: NgModule,
3610
3712
  args: [{
3611
3713
  declarations: [
3612
- MulticheckFilterComponent,
3613
- ActivityFilterComponent,
3614
- ModalWindowComponent,
3615
- LiveUpdatesControlComponent,
3616
3714
  AzureLoginCallbackComponent,
3617
3715
  UserListAdminComponent,
3618
3716
  ForbiddenComponent,
@@ -3640,6 +3738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3640
3738
  CurrentTimeZoneModule,
3641
3739
  ConfirmDialogModule,
3642
3740
  RequirePermissionModule,
3741
+ ActivityFilterModule,
3643
3742
  EntityListModule,
3644
3743
  ExcelExportButtonModule,
3645
3744
  EntityEditFormModule,
@@ -3650,6 +3749,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3650
3749
  TopBarModule,
3651
3750
  AccountMenuModule,
3652
3751
  LanguageSelectorModule,
3752
+ ModalWindowModule,
3753
+ MulticheckFilterModule,
3754
+ LiveUpdatesControlModule,
3653
3755
  ],
3654
3756
  providers: [
3655
3757
  {
@@ -3680,12 +3782,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3680
3782
  FieldDropdownlistModule,
3681
3783
  ConfirmDialogModule,
3682
3784
  ExcelExportButtonModule,
3683
- MulticheckFilterComponent,
3785
+ MulticheckFilterModule,
3684
3786
  RequirePermissionModule,
3685
- ActivityFilterComponent,
3787
+ ActivityFilterModule,
3686
3788
  CurrentTimeZoneModule,
3687
- ModalWindowComponent,
3688
- LiveUpdatesControlComponent,
3789
+ LiveUpdatesControlModule,
3689
3790
  MsalModule,
3690
3791
  AzureLoginCallbackComponent,
3691
3792
  UserListAdminComponent,
@@ -3694,6 +3795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3694
3795
  FieldMultiselectModule,
3695
3796
  AccountMenuModule,
3696
3797
  LanguageSelectorModule,
3798
+ ModalWindowModule,
3697
3799
  ],
3698
3800
  }]
3699
3801
  }] });
@@ -4067,7 +4169,7 @@ class ObjectDropdownComponent extends FieldComponent {
4067
4169
  this.control.setValue(value);
4068
4170
  }
4069
4171
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ObjectDropdownComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
4070
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ObjectDropdownComponent, selector: "object-dropdown", inputs: { fieldName: "fieldName", labelKey: "labelKey", data: "data", selectedItem: "selectedItem", defaultName: "defaultName", rebind: "rebind" }, outputs: { selectedChange: "selectedChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"'description'\"\n [valueField]=\"'value'\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4$3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], viewProviders: [
4172
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ObjectDropdownComponent, selector: "object-dropdown", inputs: { fieldName: "fieldName", labelKey: "labelKey", data: "data", selectedItem: "selectedItem", defaultName: "defaultName", rebind: "rebind" }, outputs: { selectedChange: "selectedChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data$ | async\"\n [textField]=\"'description'\"\n [valueField]=\"'value'\"\n [valuePrimitive]=\"true\"\n [defaultItem]=\"defaultItem\"\n (valueChange)=\"onValueChange($event)\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n \"Required\" | translate : { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors[\"serverErrorMsg\"]\n }}</span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], viewProviders: [
4071
4173
  { provide: ControlContainer, useExisting: FormGroupDirective },
4072
4174
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4073
4175
  }
@@ -4123,5 +4225,5 @@ const momentTimezone = momentModule;
4123
4225
  * Generated bundle index. Do not edit.
4124
4226
  */
4125
4227
 
4126
- export { AccountMenuComponent, AccountMenuModule, AccountService, ActivityFilterComponent, ActivityFilterService, AppSettings, AppToastrService, AuthProvider, AuthProviderResolver, AzureLoginCallbackComponent, BaseAccountService, ConfirmDialogComponent, ConfirmDialogModule, ContentTypesFormat, CurrentTimeZoneModule, CurrentTimezoneComponent, DebounceDirective, DebounceModule, EntityEditButtonsBarComponent, EntityEditButtonsBarModule, EntityEditComponent, EntityEditFormComponent, EntityEditFormModule, EntityListComponent, EntityListModule, EntityService, EventNames, ExcelExportButtonComponent, ExcelExportButtonModule, FieldComponent, FieldDropdownComponent, FieldDropdownModule, FieldDropdownlistComponent, FieldDropdownlistModule, FieldFileSelectComponent, FieldFileSelectModule, FieldFileUploadComponent, FieldFileUploadModule, FieldInputComponent, FieldInputModule, FieldMultiSelectComponent, FieldMultiselectModule, FieldTextAreaComponent, FieldTextAreaModule, FieldTypes, FilterTargets, FooterBarComponent, FooterBarModule, ForbiddenComponent, FormGroupWithErrors, GeneralErrorsComponent, GeneralErrorsModule, HttpCodes, HttpMethods, HttpService, IndiginaConfiguration, IndiginaModule, KendoModule, LanguageSelectorComponent, LanguageSelectorModule, LiveUpdatesControlComponent, LocaleSettingsService, MSALInstanceFactory, MemberTypes, ModalWindowComponent, MulticheckFilterComponent, NumberInputComponent, ObjectDropdownComponent, ObjectDropdownModule, Operators, PermissionTypes, PermissionsService, PrettifierFactory, ReEntrySubscription, RequirePermissionDirective, RequirePermissionModule, SettingsService, SideMenuComponent, SignalRService, TopBarModule, TopMenuComponent, TreeViewComponent, UserListAdminComponent, buildActivityEndpoints, buildEntityEndpoints, endpoints, momentTimezone, urlDeserialize, urlSerialize };
4228
+ export { AccountMenuComponent, AccountMenuModule, AccountService, ActivityFilterComponent, ActivityFilterModule, ActivityFilterService, AppSettings, AppToastrService, AuthProvider, AuthProviderResolver, AzureLoginCallbackComponent, BaseAccountService, ConfirmDialogComponent, ConfirmDialogModule, ContentTypesFormat, CurrentTimeZoneModule, CurrentTimezoneComponent, DebounceDirective, DebounceModule, EntityEditButtonsBarComponent, EntityEditButtonsBarModule, EntityEditComponent, EntityEditFormComponent, EntityEditFormModule, EntityListComponent, EntityListModule, EntityService, EventNames, ExcelExportButtonComponent, ExcelExportButtonModule, FieldComponent, FieldDropdownComponent, FieldDropdownModule, FieldDropdownlistComponent, FieldDropdownlistModule, FieldFileSelectComponent, FieldFileSelectModule, FieldFileUploadComponent, FieldFileUploadModule, FieldInputComponent, FieldInputModule, FieldMultiSelectComponent, FieldMultiselectModule, FieldTextAreaComponent, FieldTextAreaModule, FieldTypes, FilterTargets, FooterBarComponent, FooterBarModule, ForbiddenComponent, FormGroupWithErrors, GeneralErrorsComponent, GeneralErrorsModule, HttpCodes, HttpMethods, HttpService, IndiginaConfiguration, IndiginaModule, IndiginaTreeViewModule, KendoModule, LanguageSelectorComponent, LanguageSelectorModule, LiveUpdatesControlComponent, LiveUpdatesControlModule, LocaleSettingsService, MSALInstanceFactory, MemberTypes, ModalWindowComponent, ModalWindowModule, MulticheckFilterComponent, MulticheckFilterModule, NumberInputComponent, ObjectDropdownComponent, ObjectDropdownModule, Operators, PermissionTypes, PermissionsService, PrettifierFactory, ReEntrySubscription, RequirePermissionDirective, RequirePermissionModule, SettingsService, SideMenuComponent, SignalRService, TopBarModule, TopMenuComponent, TreeViewComponent, TreeViewNodeComponent, UserListAdminComponent, buildActivityEndpoints, buildEntityEndpoints, endpoints, momentTimezone, urlDeserialize, urlSerialize };
4127
4229
  //# sourceMappingURL=indigina-kendo.mjs.map