@indigina/kendo 1.2.53 → 1.2.55

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 (34) 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/excel-export-button/excel-export-button.component.mjs +4 -3
  11. package/esm2022/lib/widgets/excel-export-button/excel-export-button.module.mjs +5 -4
  12. package/esm2022/lib/widgets/modal-window/index.mjs +3 -0
  13. package/esm2022/lib/widgets/modal-window/modal-window.component.mjs +3 -4
  14. package/esm2022/lib/widgets/modal-window/modal-window.module.mjs +20 -0
  15. package/esm2022/lib/widgets/multicheck-filter/index.mjs +3 -0
  16. package/esm2022/lib/widgets/multicheck-filter/multicheck-filter.module.mjs +18 -0
  17. package/esm2022/public-api.mjs +6 -6
  18. package/fesm2022/indigina-kendo.mjs +383 -284
  19. package/fesm2022/indigina-kendo.mjs.map +1 -1
  20. package/lib/angular/indigina.module.d.ts +13 -14
  21. package/lib/angular/widgets/live-updates-control/index.d.ts +2 -0
  22. package/lib/angular/widgets/live-updates-control/live-updates-control.module.d.ts +9 -0
  23. package/lib/angular/widgets/tree-view/index.d.ts +3 -0
  24. package/lib/angular/widgets/tree-view/indigina-tree-view.module.d.ts +11 -0
  25. package/lib/kendo.module.d.ts +35 -35
  26. package/lib/widgets/activity-filter/activity-filter.module.d.ts +13 -0
  27. package/lib/widgets/activity-filter/index.d.ts +2 -0
  28. package/lib/widgets/excel-export-button/excel-export-button.module.d.ts +2 -1
  29. package/lib/widgets/modal-window/index.d.ts +2 -0
  30. package/lib/widgets/modal-window/modal-window.module.d.ts +10 -0
  31. package/lib/widgets/multicheck-filter/index.d.ts +2 -0
  32. package/lib/widgets/multicheck-filter/multicheck-filter.module.d.ts +8 -0
  33. package/package.json +1 -1
  34. 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';
@@ -41,10 +42,10 @@ import { PopupModule } from '@progress/kendo-angular-popup';
41
42
  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
- import { PagerModule, GridModule, ExcelModule } from '@progress/kendo-angular-grid';
45
- import * as i5 from '@progress/kendo-angular-dateinputs';
45
+ import { ExcelModule, PagerModule, GridModule } from '@progress/kendo-angular-grid';
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
 
@@ -2275,7 +2304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
2275
2304
 
2276
2305
  class ExcelExportButtonComponent {
2277
2306
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
2307
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i6.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
2279
2308
  }
2280
2309
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
2281
2310
  type: Component,
@@ -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();
@@ -2856,15 +2749,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
2856
2749
 
2857
2750
  class ExcelExportButtonModule {
2858
2751
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2859
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, declarations: [ExcelExportButtonComponent], imports: [TranslateModule], exports: [ExcelExportButtonComponent] }); }
2860
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, imports: [TranslateModule] }); }
2752
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, declarations: [ExcelExportButtonComponent], imports: [TranslateModule, ExcelModule], exports: [ExcelExportButtonComponent] }); }
2753
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, imports: [TranslateModule, ExcelModule] }); }
2861
2754
  }
2862
2755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ExcelExportButtonModule, decorators: [{
2863
2756
  type: NgModule,
2864
2757
  args: [{
2865
2758
  declarations: [ExcelExportButtonComponent],
2866
2759
  exports: [ExcelExportButtonComponent],
2867
- imports: [TranslateModule],
2760
+ imports: [TranslateModule, ExcelModule],
2868
2761
  }]
2869
2762
  }] });
2870
2763
 
@@ -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,6 +3057,20 @@ 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
 
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
+
3273
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] }); }
@@ -3318,7 +3119,7 @@ class FieldMultiSelectComponent extends FieldComponent {
3318
3119
  return this.service.getPage(this.filter ? { filter: this.filter } : {});
3319
3120
  }
3320
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 }); }
3321
- 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: 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: [
3322
3123
  {
3323
3124
  provide: ControlContainer,
3324
3125
  useExisting: FormGroupDirective,
@@ -3448,6 +3249,296 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3448
3249
  }]
3449
3250
  }] });
3450
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
+
3451
3542
  class KendoModule {
3452
3543
  static forRoot(config, servicesConfig) {
3453
3544
  let module = {
@@ -3474,11 +3565,7 @@ class KendoModule {
3474
3565
  return module;
3475
3566
  }
3476
3567
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3477
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, declarations: [MulticheckFilterComponent,
3478
- ActivityFilterComponent,
3479
- ModalWindowComponent,
3480
- LiveUpdatesControlComponent,
3481
- AzureLoginCallbackComponent,
3568
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, declarations: [AzureLoginCallbackComponent,
3482
3569
  UserListAdminComponent,
3483
3570
  ForbiddenComponent], imports: [CommonModule,
3484
3571
  RouterModule,
@@ -3502,6 +3589,7 @@ class KendoModule {
3502
3589
  CurrentTimeZoneModule,
3503
3590
  ConfirmDialogModule,
3504
3591
  RequirePermissionModule,
3592
+ ActivityFilterModule,
3505
3593
  EntityListModule,
3506
3594
  ExcelExportButtonModule,
3507
3595
  EntityEditFormModule,
@@ -3511,7 +3599,10 @@ class KendoModule {
3511
3599
  FooterBarModule,
3512
3600
  TopBarModule,
3513
3601
  AccountMenuModule,
3514
- LanguageSelectorModule], exports: [IndiginaModule,
3602
+ LanguageSelectorModule,
3603
+ ModalWindowModule,
3604
+ MulticheckFilterModule,
3605
+ LiveUpdatesControlModule], exports: [IndiginaModule,
3515
3606
  PopupModule,
3516
3607
  DropDownsModule,
3517
3608
  TooltipModule,
@@ -3528,12 +3619,11 @@ class KendoModule {
3528
3619
  FieldDropdownlistModule,
3529
3620
  ConfirmDialogModule,
3530
3621
  ExcelExportButtonModule,
3531
- MulticheckFilterComponent,
3622
+ MulticheckFilterModule,
3532
3623
  RequirePermissionModule,
3533
- ActivityFilterComponent,
3624
+ ActivityFilterModule,
3534
3625
  CurrentTimeZoneModule,
3535
- ModalWindowComponent,
3536
- LiveUpdatesControlComponent,
3626
+ LiveUpdatesControlModule,
3537
3627
  MsalModule,
3538
3628
  AzureLoginCallbackComponent,
3539
3629
  UserListAdminComponent,
@@ -3541,7 +3631,8 @@ class KendoModule {
3541
3631
  ForbiddenComponent,
3542
3632
  FieldMultiselectModule,
3543
3633
  AccountMenuModule,
3544
- LanguageSelectorModule] }); }
3634
+ LanguageSelectorModule,
3635
+ ModalWindowModule] }); }
3545
3636
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, providers: [
3546
3637
  {
3547
3638
  provide: HTTP_INTERCEPTORS,
@@ -3574,6 +3665,7 @@ class KendoModule {
3574
3665
  CurrentTimeZoneModule,
3575
3666
  ConfirmDialogModule,
3576
3667
  RequirePermissionModule,
3668
+ ActivityFilterModule,
3577
3669
  EntityListModule,
3578
3670
  ExcelExportButtonModule,
3579
3671
  EntityEditFormModule,
@@ -3583,7 +3675,10 @@ class KendoModule {
3583
3675
  FooterBarModule,
3584
3676
  TopBarModule,
3585
3677
  AccountMenuModule,
3586
- LanguageSelectorModule, IndiginaModule,
3678
+ LanguageSelectorModule,
3679
+ ModalWindowModule,
3680
+ MulticheckFilterModule,
3681
+ LiveUpdatesControlModule, IndiginaModule,
3587
3682
  PopupModule,
3588
3683
  DropDownsModule,
3589
3684
  TooltipModule,
@@ -3600,22 +3695,22 @@ class KendoModule {
3600
3695
  FieldDropdownlistModule,
3601
3696
  ConfirmDialogModule,
3602
3697
  ExcelExportButtonModule,
3698
+ MulticheckFilterModule,
3603
3699
  RequirePermissionModule,
3700
+ ActivityFilterModule,
3604
3701
  CurrentTimeZoneModule,
3702
+ LiveUpdatesControlModule,
3605
3703
  MsalModule,
3606
3704
  FieldDropdownModule,
3607
3705
  FieldMultiselectModule,
3608
3706
  AccountMenuModule,
3609
- LanguageSelectorModule] }); }
3707
+ LanguageSelectorModule,
3708
+ ModalWindowModule] }); }
3610
3709
  }
3611
3710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: KendoModule, decorators: [{
3612
3711
  type: NgModule,
3613
3712
  args: [{
3614
3713
  declarations: [
3615
- MulticheckFilterComponent,
3616
- ActivityFilterComponent,
3617
- ModalWindowComponent,
3618
- LiveUpdatesControlComponent,
3619
3714
  AzureLoginCallbackComponent,
3620
3715
  UserListAdminComponent,
3621
3716
  ForbiddenComponent,
@@ -3643,6 +3738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3643
3738
  CurrentTimeZoneModule,
3644
3739
  ConfirmDialogModule,
3645
3740
  RequirePermissionModule,
3741
+ ActivityFilterModule,
3646
3742
  EntityListModule,
3647
3743
  ExcelExportButtonModule,
3648
3744
  EntityEditFormModule,
@@ -3653,6 +3749,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3653
3749
  TopBarModule,
3654
3750
  AccountMenuModule,
3655
3751
  LanguageSelectorModule,
3752
+ ModalWindowModule,
3753
+ MulticheckFilterModule,
3754
+ LiveUpdatesControlModule,
3656
3755
  ],
3657
3756
  providers: [
3658
3757
  {
@@ -3683,12 +3782,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3683
3782
  FieldDropdownlistModule,
3684
3783
  ConfirmDialogModule,
3685
3784
  ExcelExportButtonModule,
3686
- MulticheckFilterComponent,
3785
+ MulticheckFilterModule,
3687
3786
  RequirePermissionModule,
3688
- ActivityFilterComponent,
3787
+ ActivityFilterModule,
3689
3788
  CurrentTimeZoneModule,
3690
- ModalWindowComponent,
3691
- LiveUpdatesControlComponent,
3789
+ LiveUpdatesControlModule,
3692
3790
  MsalModule,
3693
3791
  AzureLoginCallbackComponent,
3694
3792
  UserListAdminComponent,
@@ -3697,6 +3795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
3697
3795
  FieldMultiselectModule,
3698
3796
  AccountMenuModule,
3699
3797
  LanguageSelectorModule,
3798
+ ModalWindowModule,
3700
3799
  ],
3701
3800
  }]
3702
3801
  }] });
@@ -4070,7 +4169,7 @@ class ObjectDropdownComponent extends FieldComponent {
4070
4169
  this.control.setValue(value);
4071
4170
  }
4072
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 }); }
4073
- 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: [
4074
4173
  { provide: ControlContainer, useExisting: FormGroupDirective },
4075
4174
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4076
4175
  }
@@ -4126,5 +4225,5 @@ const momentTimezone = momentModule;
4126
4225
  * Generated bundle index. Do not edit.
4127
4226
  */
4128
4227
 
4129
- 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 };
4130
4229
  //# sourceMappingURL=indigina-kendo.mjs.map