nuxeo-development-framework 5.3.2 → 5.3.4

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 (121) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +2677 -292
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
  4. package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +35 -0
  5. package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +43 -0
  6. package/esm2015/lib/components/ndf-config-editor/components/index.js +4 -0
  7. package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +27 -0
  8. package/esm2015/lib/components/ndf-config-editor/config.token.js +3 -0
  9. package/esm2015/lib/components/ndf-config-editor/constants/index.js +4 -0
  10. package/esm2015/lib/components/ndf-config-editor/constants/mode.js +5 -0
  11. package/esm2015/lib/components/ndf-config-editor/constants/query.js +5 -0
  12. package/esm2015/lib/components/ndf-config-editor/constants/type.js +5 -0
  13. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +28 -0
  14. package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +73 -0
  15. package/esm2015/lib/components/ndf-config-editor/containers/index.js +5 -0
  16. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +195 -0
  17. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +133 -0
  18. package/esm2015/lib/components/ndf-config-editor/index.js +2 -0
  19. package/esm2015/lib/components/ndf-config-editor/models/config.js +2 -0
  20. package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +2 -0
  21. package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +2 -0
  22. package/esm2015/lib/components/ndf-config-editor/models/index.js +5 -0
  23. package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +2 -0
  24. package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +118 -0
  25. package/esm2015/lib/components/ndf-config-editor/pipes/index.js +3 -0
  26. package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +17 -0
  27. package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +16 -0
  28. package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +104 -0
  29. package/esm2015/lib/components/ndf-config-editor/public/index.js +2 -0
  30. package/esm2015/lib/components/ndf-config-editor/public-api.js +7 -0
  31. package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +26 -0
  32. package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +52 -0
  33. package/esm2015/lib/components/ndf-config-editor/services/dummy-data.js +1321 -0
  34. package/esm2015/lib/components/ndf-config-editor/services/index.js +4 -0
  35. package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +51 -0
  36. package/esm2015/lib/components/ndf-config-editor/utility/index.js +2 -0
  37. package/esm2015/lib/components/ndf-config-editor/utility/json.js +10 -0
  38. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +2 -2
  39. package/esm2015/lib/components/reports/index.js +3 -0
  40. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +19 -12
  41. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +14 -5
  42. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +15 -1
  43. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +9 -1
  44. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +20 -14
  45. package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -2
  46. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  47. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +15 -7
  48. package/esm2015/lib/core/services/extension/component-register.service.js +4 -1
  49. package/esm2015/lib/core/tokens/index.js +2 -0
  50. package/esm2015/lib/core/tokens/project.token.js +3 -0
  51. package/esm2015/lib/directive/permissions/evaluators.service.js +20 -18
  52. package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +41 -0
  53. package/esm2015/lib/shared/directives/element-height.directive.js +80 -0
  54. package/esm2015/lib/shared/directives/fluid-height.directive.js +115 -0
  55. package/esm2015/lib/shared/directives/index.js +4 -0
  56. package/esm2015/lib/shared/index.js +6 -0
  57. package/esm2015/lib/shared/libraryShared.module.js +35 -10
  58. package/esm2015/lib/shared/models/index.js +2 -1
  59. package/esm2015/lib/shared/models/ndf-request.model.js +2 -0
  60. package/esm2015/public-api.js +4 -1
  61. package/fesm2015/nuxeo-development-framework.js +2531 -193
  62. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  63. package/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.d.ts +14 -0
  64. package/lib/components/ndf-config-editor/components/editor-mode-switch.component.d.ts +17 -0
  65. package/lib/components/ndf-config-editor/components/index.d.ts +3 -0
  66. package/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.d.ts +11 -0
  67. package/lib/components/ndf-config-editor/config.token.d.ts +9 -0
  68. package/lib/components/ndf-config-editor/constants/index.d.ts +3 -0
  69. package/lib/components/ndf-config-editor/constants/mode.d.ts +4 -0
  70. package/lib/components/ndf-config-editor/constants/query.d.ts +4 -0
  71. package/lib/components/ndf-config-editor/constants/type.d.ts +4 -0
  72. package/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.d.ts +15 -0
  73. package/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.d.ts +24 -0
  74. package/lib/components/ndf-config-editor/containers/index.d.ts +4 -0
  75. package/lib/components/ndf-config-editor/containers/monaco-editor.component.d.ts +33 -0
  76. package/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.d.ts +48 -0
  77. package/lib/components/ndf-config-editor/index.d.ts +1 -0
  78. package/lib/components/ndf-config-editor/models/config.d.ts +24 -0
  79. package/lib/components/ndf-config-editor/models/dialog-data.d.ts +6 -0
  80. package/lib/components/ndf-config-editor/models/editor-model.d.ts +15 -0
  81. package/lib/components/ndf-config-editor/models/index.d.ts +4 -0
  82. package/lib/components/ndf-config-editor/models/type-helper.d.ts +3 -0
  83. package/lib/components/ndf-config-editor/ndf-config-editor.module.d.ts +36 -0
  84. package/lib/components/ndf-config-editor/pipes/index.d.ts +2 -0
  85. package/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.d.ts +7 -0
  86. package/lib/components/ndf-config-editor/pipes/validate-object.pipe.d.ts +7 -0
  87. package/lib/components/ndf-config-editor/public/editor-navigate-button.d.ts +31 -0
  88. package/lib/components/ndf-config-editor/public/index.d.ts +1 -0
  89. package/lib/components/ndf-config-editor/public-api.d.ts +6 -0
  90. package/lib/components/ndf-config-editor/services/data-access.service.d.ts +8 -0
  91. package/lib/components/ndf-config-editor/services/data-store.service.d.ts +24 -0
  92. package/lib/components/ndf-config-editor/services/dummy-data.d.ts +992 -0
  93. package/lib/components/ndf-config-editor/services/index.d.ts +3 -0
  94. package/lib/components/ndf-config-editor/services/monaco.loader.service.d.ts +14 -0
  95. package/lib/components/ndf-config-editor/utility/index.d.ts +1 -0
  96. package/lib/components/ndf-config-editor/utility/json.d.ts +1 -0
  97. package/lib/components/reports/index.d.ts +2 -0
  98. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +6 -3
  99. package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +4 -2
  100. package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +10 -0
  101. package/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.d.ts +6 -0
  102. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +3 -1
  103. package/lib/components/tables/ndf-table/directives/index.d.ts +0 -1
  104. package/lib/components/tables/ndf-table/models/table-config.d.ts +1 -0
  105. package/lib/components/tables/ndf-table/ndf-table.module.d.ts +4 -2
  106. package/lib/core/services/extension/component-register.service.d.ts +3 -0
  107. package/lib/core/tokens/index.d.ts +1 -0
  108. package/lib/core/tokens/project.token.d.ts +2 -0
  109. package/lib/directive/permissions/evaluators.service.d.ts +4 -2
  110. package/lib/shared/directives/copy-to-clipboard.directive.d.ts +15 -0
  111. package/lib/shared/directives/element-height.directive.d.ts +28 -0
  112. package/lib/{components/tables/ndf-table → shared}/directives/fluid-height.directive.d.ts +2 -1
  113. package/lib/shared/directives/index.d.ts +3 -0
  114. package/lib/shared/index.d.ts +5 -0
  115. package/lib/shared/libraryShared.module.d.ts +3 -1
  116. package/lib/shared/models/index.d.ts +1 -0
  117. package/lib/shared/models/ndf-request.model.d.ts +7 -0
  118. package/package.json +4 -2
  119. package/public-api.d.ts +3 -0
  120. package/src/docs/ndf-table.doc.md +1433 -0
  121. package/esm2015/lib/components/tables/ndf-table/directives/fluid-height.directive.js +0 -112
@@ -53,16 +53,17 @@ import * as i6$1 from 'angular-ng-autocomplete';
53
53
  import { AutocompleteLibModule } from 'angular-ng-autocomplete';
54
54
  import * as i2$3 from '@angular/material/core';
55
55
  import { MatNativeDateModule, DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';
56
+ import * as i1$6 from '@angular/cdk/clipboard';
56
57
  import { Cacheable, LocalStorageStrategy, CacheBuster } from 'ts-cacheable';
57
58
  import * as i5 from '@ng-select/ng-select';
58
59
  import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';
59
- import * as i1$6 from '@angular/material/form-field';
60
+ import * as i1$7 from '@angular/material/form-field';
60
61
  import { MatFormFieldModule } from '@angular/material/form-field';
61
62
  import * as i7 from '@angular/material/chips';
62
63
  import { MatChipsModule } from '@angular/material/chips';
63
64
  import * as i6$2 from '@angular/material/expansion';
64
65
  import { MatExpansionModule } from '@angular/material/expansion';
65
- import * as i1$b from '@angular/material/button';
66
+ import * as i1$c from '@angular/material/button';
66
67
  import { MatButtonModule } from '@angular/material/button';
67
68
  import * as i5$1 from '@angular/material/checkbox';
68
69
  import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -72,23 +73,23 @@ import * as i5$2 from '@angular/material/input';
72
73
  import { MatInputModule } from '@angular/material/input';
73
74
  import * as i2$5 from '@angular/material/radio';
74
75
  import { MatRadioModule } from '@angular/material/radio';
75
- import * as i1$8 from '@angular/material/slide-toggle';
76
+ import * as i1$9 from '@angular/material/slide-toggle';
76
77
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
77
78
  import * as i6$3 from '@busacca/ng-pick-datetime';
78
79
  import { OWL_DATE_TIME_FORMATS, OwlDateTimeIntl, OwlDateTimeModule, OwlNativeDateTimeModule } from '@busacca/ng-pick-datetime';
79
80
  import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
80
81
  import * as i3$3 from 'angular-formio';
81
82
  import { Components, FormBuilderComponent, registerCustomFormioComponent, FormioModule } from 'angular-formio';
82
- import * as i1$9 from 'ngx-treeview';
83
+ import * as i1$a from 'ngx-treeview';
83
84
  import { TreeviewItem, DefaultTreeviewI18n, TreeviewConfig, TreeviewHelper, TreeviewI18n, DropdownTreeviewComponent, TreeviewModule } from 'ngx-treeview';
84
- import * as i1$7 from '@ng-bootstrap/ng-bootstrap';
85
+ import * as i1$8 from '@ng-bootstrap/ng-bootstrap';
85
86
  import { NgbDateParserFormatter, NgbDate, NgbDatepickerI18n, NgbCalendar, NgbCalendarIslamicUmalqura, NgbModule } from '@ng-bootstrap/ng-bootstrap';
86
87
  import { Utils } from 'formiojs';
87
88
  import _find from 'lodash/find';
88
89
  import _isEqual from 'lodash/isEqual';
89
90
  import * as i4$2 from '@swimlane/ngx-datatable';
90
91
  import { DatatableComponent, NgxDatatableModule } from '@swimlane/ngx-datatable';
91
- import * as i1$a from '@angular/material/button-toggle';
92
+ import * as i1$b from '@angular/material/button-toggle';
92
93
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
93
94
  import { SelectionModel } from '@angular/cdk/collections';
94
95
  import * as i7$1 from '@angular/cdk/drag-drop';
@@ -112,7 +113,7 @@ import { saveAs } from 'file-saver';
112
113
  import * as i5$6 from 'devextreme-angular/ui/nested';
113
114
  import { DxiToolbarItemModule } from 'devextreme-angular/ui/nested';
114
115
  import WebViewer from '@pdftron/webviewer';
115
- import * as i1$c from '@angular/material/tabs';
116
+ import * as i1$d from '@angular/material/tabs';
116
117
  import { MatTabsModule } from '@angular/material/tabs';
117
118
  import * as i9$1 from '@angular/material/divider';
118
119
  import { MatDividerModule } from '@angular/material/divider';
@@ -135,6 +136,10 @@ import * as i7$2 from '@angular/material/badge';
135
136
  import { MatBadgeModule } from '@angular/material/badge';
136
137
  import { MatToolbarModule } from '@angular/material/toolbar';
137
138
  import colorLib from '@kurkle/color';
139
+ import * as i2$8 from 'ngx-markdown';
140
+ import { MarkdownModule } from 'ngx-markdown';
141
+ import * as i6$4 from '@angular/cdk/accordion';
142
+ import { CdkAccordionModule } from '@angular/cdk/accordion';
138
143
 
139
144
  class NuxeoDevelopmentFrameworkComponent {
140
145
  constructor() { }
@@ -1951,6 +1956,7 @@ class EvaluatorsService {
1951
1956
  this.nuxeoService = nuxeoService;
1952
1957
  this.appConfigService = appConfigService;
1953
1958
  this.context = { entity: null, getEvaluator: null, user: null };
1959
+ this.userEvaluators = {};
1954
1960
  this.asyncEvery = (arr, predicate) => __awaiter(this, void 0, void 0, function* () {
1955
1961
  for (let e of arr) {
1956
1962
  if (!(yield predicate(e))) {
@@ -1976,7 +1982,7 @@ class EvaluatorsService {
1976
1982
  return yield this.asyncEvery(args, (arg) => __awaiter(this, void 0, void 0, function* () {
1977
1983
  const evaluator = yield context.getEvaluator(arg.value);
1978
1984
  if (!evaluator) {
1979
- console.warn("evaluator not found: " + arg.value);
1985
+ console.warn('evaluator not found: ' + arg.value);
1980
1986
  return false;
1981
1987
  }
1982
1988
  return yield evaluator(context, arg.parameters || []);
@@ -1989,7 +1995,7 @@ class EvaluatorsService {
1989
1995
  return yield this.asyncSome(args, (arg) => __awaiter(this, void 0, void 0, function* () {
1990
1996
  const evaluator = yield context.getEvaluator(arg.value);
1991
1997
  if (!evaluator) {
1992
- console.warn("evaluator not found: " + arg.value);
1998
+ console.warn('evaluator not found: ' + arg.value);
1993
1999
  return false;
1994
2000
  }
1995
2001
  const res = yield evaluator(context, arg.parameters || []);
@@ -2011,14 +2017,14 @@ class EvaluatorsService {
2011
2017
  if ((_b = (_a = context.entity.properties.owner) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.username) {
2012
2018
  owner = (_d = (_c = context.entity.properties.owner) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.username;
2013
2019
  }
2014
- else if ((_f = (_e = context.entity.properties["corr:owner"]) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.username) {
2015
- owner = (_h = (_g = context.entity.properties["corr:owner"]) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
2020
+ else if ((_f = (_e = context.entity.properties['corr:owner']) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.username) {
2021
+ owner = (_h = (_g = context.entity.properties['corr:owner']) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.username;
2016
2022
  }
2017
2023
  else if (context.entity.properties.owner) {
2018
2024
  owner = context.entity.properties.owner;
2019
2025
  }
2020
- else if (context.entity.properties["corr:owner"]) {
2021
- owner = context.entity.properties["corr:owner"];
2026
+ else if (context.entity.properties['corr:owner']) {
2027
+ owner = context.entity.properties['corr:owner'];
2022
2028
  }
2023
2029
  if (owner === context.user.properties.username) {
2024
2030
  return true;
@@ -2028,16 +2034,13 @@ class EvaluatorsService {
2028
2034
  }
2029
2035
  }),
2030
2036
  isUserInrole: (context, args) => __awaiter(this, void 0, void 0, function* () {
2031
- const result = yield this.nuxeoService
2032
- .isUserInRole(args, "")
2033
- .pipe(first())
2034
- .toPromise();
2037
+ const result = yield this.nuxeoService.isUserInRole(args, '').pipe(first()).toPromise();
2035
2038
  return result;
2036
- }),
2039
+ })
2037
2040
  };
2038
2041
  this.getEvaluator = (key) => __awaiter(this, void 0, void 0, function* () {
2039
2042
  const eva = this.evaluators;
2040
- if (key && key.startsWith("!")) {
2043
+ if (key && key.startsWith('!')) {
2041
2044
  const fn = eva[key.substring(1)];
2042
2045
  return (context, args) => __awaiter(this, void 0, void 0, function* () {
2043
2046
  const result = yield fn(context, ...args);
@@ -2053,17 +2056,21 @@ class EvaluatorsService {
2053
2056
  });
2054
2057
  }
2055
2058
  setEvaluators(evaluators) {
2059
+ this.userEvaluators = evaluators;
2056
2060
  this.evaluators = Object.assign(Object.assign({}, this.evaluators), evaluators);
2057
2061
  }
2058
2062
  getEvaluators() {
2059
2063
  return this.evaluators;
2060
2064
  }
2065
+ getUserEvaluators() {
2066
+ return this.userEvaluators;
2067
+ }
2061
2068
  // ----------------------------------------------------
2062
2069
  evaluateRule(ruleId, context) {
2063
2070
  return __awaiter(this, void 0, void 0, function* () {
2064
2071
  const ruleRef = this.getRuleById(ruleId);
2065
2072
  context = context || this.context;
2066
- context["getEvaluator"] = this.getEvaluator;
2073
+ context['getEvaluator'] = this.getEvaluator;
2067
2074
  if (ruleRef) {
2068
2075
  const evaluator = yield this.getEvaluator(ruleRef.type);
2069
2076
  if (evaluator) {
@@ -2086,10 +2093,10 @@ class EvaluatorsService {
2086
2093
  }
2087
2094
  }
2088
2095
  EvaluatorsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorsService, deps: [{ token: NuxeoService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
2089
- EvaluatorsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorsService, providedIn: "root" });
2096
+ EvaluatorsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorsService, providedIn: 'root' });
2090
2097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvaluatorsService, decorators: [{
2091
2098
  type: Injectable,
2092
- args: [{ providedIn: "root" }]
2099
+ args: [{ providedIn: 'root' }]
2093
2100
  }], ctorParameters: function () { return [{ type: NuxeoService }, { type: AppConfigService }]; } });
2094
2101
 
2095
2102
  /**
@@ -4018,6 +4025,233 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4018
4025
  type: Output
4019
4026
  }] } });
4020
4027
 
4028
+ class FluidHeightDirective {
4029
+ constructor(renderer, elementRef, ngZone) {
4030
+ this.renderer = renderer;
4031
+ this.elementRef = elementRef;
4032
+ this.ngZone = ngZone;
4033
+ this.minHeight = 0;
4034
+ this.topOffset = 0;
4035
+ this.subtractItems = [];
4036
+ this.decrease = 0;
4037
+ this.delay = 200;
4038
+ this.cssVar = '--ndf-fluid-height';
4039
+ this.calculate = true;
4040
+ this._inlineStyle = false;
4041
+ this._domElement = this.elementRef.nativeElement;
4042
+ this._resizeListener = () => this.onResize();
4043
+ this.ngZone.runOutsideAngular(() => {
4044
+ window.addEventListener('resize', this._resizeListener);
4045
+ });
4046
+ }
4047
+ get inlineStyle() {
4048
+ return this._inlineStyle;
4049
+ }
4050
+ set inlineStyle(value) {
4051
+ this._inlineStyle = coerceBooleanProperty(value);
4052
+ }
4053
+ ngAfterViewInit() {
4054
+ this.scheduleSetHeight();
4055
+ }
4056
+ scheduleSetHeight(delay = this.delay) {
4057
+ setTimeout(() => this.setHeight(), delay);
4058
+ }
4059
+ onResize() {
4060
+ if (this._animationId) {
4061
+ cancelAnimationFrame(this._animationId);
4062
+ }
4063
+ this._animationId = requestAnimationFrame(() => this.setHeight());
4064
+ }
4065
+ setHeight() {
4066
+ if (!this.calculate) {
4067
+ return;
4068
+ }
4069
+ const windowHeight = window.innerHeight;
4070
+ const topOffset = this.topOffset || this._calcTopOffset();
4071
+ let height = windowHeight - topOffset;
4072
+ this.subtractItems.forEach((selector) => {
4073
+ height -= this._getSelectorHeight(selector);
4074
+ });
4075
+ height = Math.max(height - this.decrease, this.minHeight);
4076
+ if (this.inlineStyle) {
4077
+ this.renderer.setStyle(this._domElement, 'height', `${height}px`);
4078
+ }
4079
+ else {
4080
+ this.renderer.setAttribute(this._domElement, 'style', `${this.cssVar} : ${height}px`);
4081
+ }
4082
+ }
4083
+ _getSelectorHeight(selector) {
4084
+ const element = document.querySelector(selector);
4085
+ return element ? element.clientHeight : 0;
4086
+ }
4087
+ _calcTopOffset() {
4088
+ try {
4089
+ const rect = this._domElement.getBoundingClientRect();
4090
+ const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
4091
+ return rect.top + scrollTop;
4092
+ }
4093
+ catch (_a) {
4094
+ return 0;
4095
+ }
4096
+ }
4097
+ ngOnDestroy() {
4098
+ window.removeEventListener('resize', this._resizeListener);
4099
+ }
4100
+ }
4101
+ FluidHeightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4102
+ FluidHeightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: { minHeight: "minHeight", topOffset: ["ndfFluidHeight", "topOffset"], subtractItems: "subtractItems", decrease: "decrease", delay: "delay", cssVar: "cssVar", calculate: "calculate", inlineStyle: "inlineStyle" }, exportAs: ["ndfFluidHeight"], ngImport: i0 });
4103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightDirective, decorators: [{
4104
+ type: Directive,
4105
+ args: [{
4106
+ selector: '[ndfFluidHeight]',
4107
+ exportAs: 'ndfFluidHeight'
4108
+ }]
4109
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { minHeight: [{
4110
+ type: Input
4111
+ }], topOffset: [{
4112
+ type: Input,
4113
+ args: ['ndfFluidHeight']
4114
+ }], subtractItems: [{
4115
+ type: Input
4116
+ }], decrease: [{
4117
+ type: Input
4118
+ }], delay: [{
4119
+ type: Input
4120
+ }], cssVar: [{
4121
+ type: Input
4122
+ }], calculate: [{
4123
+ type: Input
4124
+ }], inlineStyle: [{
4125
+ type: Input
4126
+ }] } });
4127
+ class FluidHeightModule {
4128
+ }
4129
+ FluidHeightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4130
+ FluidHeightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, declarations: [FluidHeightDirective], exports: [FluidHeightDirective] });
4131
+ FluidHeightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule });
4132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, decorators: [{
4133
+ type: NgModule,
4134
+ args: [{
4135
+ declarations: [FluidHeightDirective],
4136
+ exports: [FluidHeightDirective]
4137
+ }]
4138
+ }] });
4139
+
4140
+ class ElementHeightDirective {
4141
+ constructor(renderer, elementRef, ngZone) {
4142
+ this.renderer = renderer;
4143
+ this.elementRef = elementRef;
4144
+ this.ngZone = ngZone;
4145
+ this.cssVar = '--ele-total-height';
4146
+ this.calculate = true;
4147
+ this._inlineStyle = false;
4148
+ this._domElement = this.elementRef.nativeElement;
4149
+ this._resizeListener = () => this.onResize();
4150
+ this.ngZone.runOutsideAngular(() => {
4151
+ window.addEventListener('resize', this._resizeListener);
4152
+ });
4153
+ }
4154
+ get inlineStyle() {
4155
+ return this._inlineStyle;
4156
+ }
4157
+ set inlineStyle(value) {
4158
+ this._inlineStyle = coerceBooleanProperty(value);
4159
+ }
4160
+ ngAfterViewInit() {
4161
+ this.setHeight();
4162
+ }
4163
+ onResize() {
4164
+ requestAnimationFrame(() => this.setHeight());
4165
+ }
4166
+ setHeight() {
4167
+ if (!this.calculate) {
4168
+ return;
4169
+ }
4170
+ const el = this._domElement;
4171
+ const style = getComputedStyle(el);
4172
+ const marginTop = parseFloat(style.marginTop) || 0;
4173
+ const marginBottom = parseFloat(style.marginBottom) || 0;
4174
+ const totalHeight = el.offsetHeight + marginTop + marginBottom;
4175
+ const parent = el.parentElement;
4176
+ if (!parent)
4177
+ return;
4178
+ if (this.inlineStyle) {
4179
+ this.renderer.setStyle(parent, this.cssVar, `${totalHeight}px`);
4180
+ }
4181
+ else {
4182
+ this.renderer.setAttribute(parent, 'style', `${this.cssVar}: ${totalHeight}px`);
4183
+ }
4184
+ }
4185
+ ngOnDestroy() {
4186
+ window.removeEventListener('resize', this._resizeListener);
4187
+ }
4188
+ }
4189
+ ElementHeightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
4190
+ ElementHeightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ElementHeightDirective, selector: "[appItemHeight]", inputs: { cssVar: "cssVar", calculate: "calculate", inlineStyle: "inlineStyle" }, exportAs: ["appItemHeight"], ngImport: i0 });
4191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightDirective, decorators: [{
4192
+ type: Directive,
4193
+ args: [{
4194
+ selector: '[appItemHeight]',
4195
+ exportAs: 'appItemHeight'
4196
+ }]
4197
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { cssVar: [{
4198
+ type: Input
4199
+ }], calculate: [{
4200
+ type: Input
4201
+ }], inlineStyle: [{
4202
+ type: Input
4203
+ }] } });
4204
+ class ElementHeightModule {
4205
+ }
4206
+ ElementHeightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4207
+ ElementHeightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightModule, declarations: [ElementHeightDirective], exports: [ElementHeightDirective] });
4208
+ ElementHeightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightModule });
4209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ElementHeightModule, decorators: [{
4210
+ type: NgModule,
4211
+ args: [{
4212
+ declarations: [ElementHeightDirective],
4213
+ exports: [ElementHeightDirective]
4214
+ }]
4215
+ }] });
4216
+
4217
+ class CopyToClipboardDirective {
4218
+ constructor(clipboard) {
4219
+ this.clipboard = clipboard;
4220
+ }
4221
+ onClick() {
4222
+ if (this.textToCopy) {
4223
+ this.clipboard.copy(this.textToCopy);
4224
+ }
4225
+ }
4226
+ }
4227
+ CopyToClipboardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardDirective, deps: [{ token: i1$6.Clipboard }], target: i0.ɵɵFactoryTarget.Directive });
4228
+ CopyToClipboardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: CopyToClipboardDirective, selector: "[appCopyToClipboard]", inputs: { textToCopy: ["appCopyToClipboard", "textToCopy"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
4229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardDirective, decorators: [{
4230
+ type: Directive,
4231
+ args: [{
4232
+ selector: '[appCopyToClipboard]'
4233
+ }]
4234
+ }], ctorParameters: function () { return [{ type: i1$6.Clipboard }]; }, propDecorators: { textToCopy: [{
4235
+ type: Input,
4236
+ args: ['appCopyToClipboard']
4237
+ }], onClick: [{
4238
+ type: HostListener,
4239
+ args: ['click']
4240
+ }] } });
4241
+ class CopyToClipboardModule {
4242
+ }
4243
+ CopyToClipboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4244
+ CopyToClipboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardModule, declarations: [CopyToClipboardDirective], exports: [CopyToClipboardDirective] });
4245
+ CopyToClipboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardModule, imports: [[]] });
4246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyToClipboardModule, decorators: [{
4247
+ type: NgModule,
4248
+ args: [{
4249
+ declarations: [CopyToClipboardDirective],
4250
+ imports: [],
4251
+ exports: [CopyToClipboardDirective]
4252
+ }]
4253
+ }] });
4254
+
4021
4255
  /**
4022
4256
  * @title
4023
4257
  * Shared UI Components
@@ -4025,7 +4259,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4025
4259
  class LibrarySharedModule {
4026
4260
  }
4027
4261
  LibrarySharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4028
- LibrarySharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, declarations: [ReadMoreComponent, UserCardComponent, ButtonComponent, NoDataComponent, SpinnerComponent, ItemListComponent], imports: [AvatarModule,
4262
+ LibrarySharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, declarations: [ReadMoreComponent,
4263
+ UserCardComponent,
4264
+ ButtonComponent,
4265
+ NoDataComponent,
4266
+ SpinnerComponent,
4267
+ ItemListComponent], imports: [AvatarModule,
4029
4268
  CommonModule,
4030
4269
  RouterModule,
4031
4270
  TranslateModule,
@@ -4035,13 +4274,17 @@ LibrarySharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
4035
4274
  MatMenuModule,
4036
4275
  AutocompleteLibModule,
4037
4276
  DirectiveModule,
4038
- MatTooltipModule], exports: [UserCardComponent,
4277
+ MatTooltipModule,
4278
+ FluidHeightModule,
4279
+ ElementHeightModule], exports: [UserCardComponent,
4039
4280
  ReadMoreComponent,
4040
4281
  TranslateModule,
4041
4282
  ButtonComponent,
4042
4283
  NoDataComponent,
4043
4284
  SpinnerComponent,
4044
- ItemListComponent] });
4285
+ ItemListComponent,
4286
+ FluidHeightModule,
4287
+ ElementHeightModule] });
4045
4288
  LibrarySharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, imports: [[
4046
4289
  AvatarModule,
4047
4290
  CommonModule,
@@ -4053,12 +4296,23 @@ LibrarySharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
4053
4296
  MatMenuModule,
4054
4297
  AutocompleteLibModule,
4055
4298
  DirectiveModule,
4056
- MatTooltipModule
4057
- ], TranslateModule] });
4299
+ MatTooltipModule,
4300
+ FluidHeightModule,
4301
+ ElementHeightModule
4302
+ ], TranslateModule,
4303
+ FluidHeightModule,
4304
+ ElementHeightModule] });
4058
4305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LibrarySharedModule, decorators: [{
4059
4306
  type: NgModule,
4060
4307
  args: [{
4061
- declarations: [ReadMoreComponent, UserCardComponent, ButtonComponent, NoDataComponent, SpinnerComponent, ItemListComponent],
4308
+ declarations: [
4309
+ ReadMoreComponent,
4310
+ UserCardComponent,
4311
+ ButtonComponent,
4312
+ NoDataComponent,
4313
+ SpinnerComponent,
4314
+ ItemListComponent
4315
+ ],
4062
4316
  imports: [
4063
4317
  AvatarModule,
4064
4318
  CommonModule,
@@ -4070,7 +4324,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4070
4324
  MatMenuModule,
4071
4325
  AutocompleteLibModule,
4072
4326
  DirectiveModule,
4073
- MatTooltipModule
4327
+ MatTooltipModule,
4328
+ FluidHeightModule,
4329
+ ElementHeightModule
4074
4330
  ],
4075
4331
  exports: [
4076
4332
  UserCardComponent,
@@ -4079,8 +4335,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
4079
4335
  ButtonComponent,
4080
4336
  NoDataComponent,
4081
4337
  SpinnerComponent,
4082
- ItemListComponent
4083
- ],
4338
+ ItemListComponent,
4339
+ FluidHeightModule,
4340
+ ElementHeightModule
4341
+ ]
4084
4342
  }]
4085
4343
  }] });
4086
4344
 
@@ -4927,7 +5185,7 @@ class DynamicFormSelectItemComponent {
4927
5185
  }
4928
5186
  }
4929
5187
  DynamicFormSelectItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectItemComponent, deps: [{ token: i1.TranslateService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
4930
- DynamicFormSelectItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: { label: "label", bindValue: "bindValue", bindLabel: "bindLabel", data: "data", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", clear: "clear", voc: "voc", vocId: "vocId", loading: "loading" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<ng-select\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [clearable]=\"clear\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [searchFn]=\"onSearch\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"emitSelection($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n>\r\n <!-- template for viewing options in single and multi select -->\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <div class=\"option-wrapper\">\r\n <span class=\"check-box-wrapper\" *ngIf=\"multiple\">\r\n <input\r\n id=\"item-{{ index }}\"\r\n type=\"checkbox\"\r\n [ngModel]=\"item$.selected\"\r\n />\r\n <span class=\"icon-wrapper\">\r\n <span class=\"bi bi-check2 icon\"></span>\r\n </span>\r\n </span>\r\n <span *ngIf=\"!voc\" class=\"label-wrapper\">\r\n {{ item[bindLabel] | translate }}\r\n </span>\r\n <span *ngIf=\"voc\" class=\"label-wrapper\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- template for viewing single select selected value -->\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n <span *ngIf=\"!voc\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n <span *ngIf=\"voc\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- template for viewing multi select selected values -->\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items ? items : []\">\r\n <span *ngIf=\"!voc\" class=\"ng-value-label\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n <span *ngIf=\"voc\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n <span\r\n *ngIf=\"clear\"\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </ng-template>\r\n</ng-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#646f85;font-size:13px;margin-bottom:5px}.ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important;height:40px!important;box-shadow:none!important}.ng-select-container .ng-value-container{padding:0 10px!important}.ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px;margin-top:-3px}.ng-select-container .ng-value-container .ng-value{color:#495057}.ng-select-container .ng-arrow-wrapper{padding:0 20px}.ng-select-container .ng-input{left:10px;right:10px;width:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select-container.ng-has-value{border-color:#1a96c6!important}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}.rtl .ng-select .ng-select-container .ng-value-container .ng-input{padding-left:50px!important;padding-right:0!important}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i2$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
5188
+ DynamicFormSelectItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: { label: "label", bindValue: "bindValue", bindLabel: "bindLabel", data: "data", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", clear: "clear", voc: "voc", vocId: "vocId", loading: "loading" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<ng-select\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [clearable]=\"clear\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [searchFn]=\"onSearch\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n (change)=\"emitSelection($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n>\r\n <!-- template for viewing options in single and multi select -->\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <div class=\"option-wrapper\">\r\n <span class=\"check-box-wrapper\" *ngIf=\"multiple\">\r\n <input\r\n id=\"item-{{ index }}\"\r\n type=\"checkbox\"\r\n [ngModel]=\"item$.selected\"\r\n />\r\n <span class=\"icon-wrapper\">\r\n <span class=\"bi bi-check2 icon\"></span>\r\n </span>\r\n </span>\r\n <span *ngIf=\"!voc\" class=\"label-wrapper\">\r\n {{ item[bindLabel] | translate }}\r\n </span>\r\n <span *ngIf=\"voc\" class=\"label-wrapper\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- template for viewing single select selected value -->\r\n <ng-template ng-label-tmp let-item=\"item\">\r\n <span *ngIf=\"!voc\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n <span *ngIf=\"voc\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n </ng-template>\r\n\r\n <!-- template for viewing multi select selected values -->\r\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n <div class=\"ng-value\" *ngFor=\"let item of items ? items : []\">\r\n <span *ngIf=\"!voc\" class=\"ng-value-label\">\r\n {{ (bindLabel ? item[bindLabel] : item) | translate }}\r\n </span>\r\n <span *ngIf=\"voc\">\r\n {{ \"vocabulary.\" + vocId + \".\" + item[bindValue] | translate }}\r\n </span>\r\n <span\r\n *ngIf=\"clear\"\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </ng-template>\r\n</ng-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#646f85;font-size:13px;margin-bottom:5px}.ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important;height:40px!important;box-shadow:none!important}.ng-select-container .ng-value-container{padding:0 10px!important}.ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px;margin-top:-3px}.ng-select-container .ng-value-container .ng-value{color:#495057}.ng-select-container .ng-arrow-wrapper{padding:0 20px}.ng-select-container .ng-input{left:10px;right:10px;width:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select-container.ng-has-value{border-color:#1a96c6!important}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}.rtl .ng-select .ng-select-container .ng-value-container .ng-input{padding-left:50px!important;padding-right:0!important}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i2$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
4931
5189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectItemComponent, decorators: [{
4932
5190
  type: Component,
4933
5191
  args: [{
@@ -5145,7 +5403,7 @@ class DynamicFormVocabularyItemComponent {
5145
5403
  }
5146
5404
  }
5147
5405
  DynamicFormVocabularyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormVocabularyItemComponent, deps: [{ token: VocabularyApiService }, { token: i0.ChangeDetectorRef }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
5148
- DynamicFormVocabularyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: { onlyIds: "onlyIds", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", vocabularyType: "vocabularyType", label: "label", cacheable: "cacheable", shwoAllValues: "shwoAllValues" }, outputs: { onSelecting: "onSelecting" }, viewQueries: [{ propertyName: "DynamicFormSelectItemComponent", first: true, predicate: DynamicFormSelectItemComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-selectitem\r\n [voc]=\"true\"\r\n [vocId]=\"vocabularyType\"\r\n [data]=\"data\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [disabled]=\"disabled\"\r\n [hideSelectedItems]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (onSelectItems)=\"getSelecteditems($event)\"\r\n [(ngModel)]=\"selection\"\r\n></app-dynamic-form-selectitem>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [""], components: [{ type: DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: ["label", "bindValue", "bindLabel", "data", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "voc", "vocId", "loading"], outputs: ["onSelectItems"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
5406
+ DynamicFormVocabularyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: { onlyIds: "onlyIds", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", disabled: "disabled", vocabularyType: "vocabularyType", label: "label", cacheable: "cacheable", shwoAllValues: "shwoAllValues" }, outputs: { onSelecting: "onSelecting" }, viewQueries: [{ propertyName: "DynamicFormSelectItemComponent", first: true, predicate: DynamicFormSelectItemComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-selectitem\r\n [voc]=\"true\"\r\n [vocId]=\"vocabularyType\"\r\n [data]=\"data\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [disabled]=\"disabled\"\r\n [hideSelectedItems]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (onSelectItems)=\"getSelecteditems($event)\"\r\n [(ngModel)]=\"selection\"\r\n></app-dynamic-form-selectitem>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [""], components: [{ type: DynamicFormSelectItemComponent, selector: "app-dynamic-form-selectitem", inputs: ["label", "bindValue", "bindLabel", "data", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "voc", "vocId", "loading"], outputs: ["onSelectItems"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
5149
5407
  __decorate([
5150
5408
  Cacheable({
5151
5409
  maxCacheCount: 1000,
@@ -6266,11 +6524,11 @@ class DateFormatterService {
6266
6524
  return this.ToGregorianDateStruct(todayGregorian, 'YYYY/M/D');
6267
6525
  }
6268
6526
  }
6269
- DateFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateFormatterService, deps: [{ token: i1$7.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable });
6527
+ DateFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateFormatterService, deps: [{ token: i1$8.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable });
6270
6528
  DateFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateFormatterService });
6271
6529
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DateFormatterService, decorators: [{
6272
6530
  type: Injectable
6273
- }], ctorParameters: function () { return [{ type: i1$7.NgbDateParserFormatter }]; } });
6531
+ }], ctorParameters: function () { return [{ type: i1$8.NgbDateParserFormatter }]; } });
6274
6532
 
6275
6533
  function test(form) {
6276
6534
  return form;
@@ -6390,8 +6648,8 @@ class GregorianDatepickerComponent {
6390
6648
  this.selectedDateChange.emit(null);
6391
6649
  }
6392
6650
  }
6393
- GregorianDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GregorianDatepickerComponent, deps: [{ token: i1$7.NgbCalendar }, { token: i1$7.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Component });
6394
- GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GregorianDatepickerComponent, selector: "gregorian-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", emitOnBlur: "emitOnBlur", containerName: "containerName", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[container]=\"containerName\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1$7.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
6651
+ GregorianDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GregorianDatepickerComponent, deps: [{ token: i1$8.NgbCalendar }, { token: i1$8.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Component });
6652
+ GregorianDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GregorianDatepickerComponent, selector: "gregorian-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", emitOnBlur: "emitOnBlur", containerName: "containerName", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[container]=\"containerName\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1$8.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
6395
6653
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
6396
6654
  type: Component,
6397
6655
  args: [{
@@ -6400,7 +6658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
6400
6658
  styleUrls: ['./gregorian-date-picker.component.scss'],
6401
6659
  encapsulation: ViewEncapsulation.None
6402
6660
  }]
6403
- }], ctorParameters: function () { return [{ type: i1$7.NgbCalendar }, { type: i1$7.NgbDateParserFormatter }]; }, propDecorators: { datePicker: [{
6661
+ }], ctorParameters: function () { return [{ type: i1$8.NgbCalendar }, { type: i1$8.NgbDateParserFormatter }]; }, propDecorators: { datePicker: [{
6404
6662
  type: ViewChild,
6405
6663
  args: ['d']
6406
6664
  }], selectedDate: [{
@@ -6538,11 +6796,11 @@ class HijriDatepickerComponent {
6538
6796
  this.selectedDateChange.emit(null);
6539
6797
  }
6540
6798
  }
6541
- HijriDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HijriDatepickerComponent, deps: [{ token: i1$7.NgbCalendar }, { token: i1$7.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Component });
6799
+ HijriDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HijriDatepickerComponent, deps: [{ token: i1$8.NgbCalendar }, { token: i1$8.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Component });
6542
6800
  HijriDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HijriDatepickerComponent, selector: "hijri-date-picker", inputs: { selectedDate: "selectedDate", readonly: "readonly", isRequired: "isRequired", disabled: "disabled", min: "min", max: "max", name: "name", range: "range", vertical: "vertical", emitOnBlur: "emitOnBlur", containerName: "containerName", placeHolder: "placeHolder" }, outputs: { selectedDateChange: "selectedDateChange" }, providers: [
6543
6801
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
6544
6802
  { provide: NgbDatepickerI18n, useClass: IslamicI18n }
6545
- ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[container]=\"containerName\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1$7.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
6803
+ ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div provideParentForm>\r\n\t<input\r\n\t\tclass=\"form-control\"\r\n\t\t[ngClass]=\"{ hidden: range, 'input-filled': selectedDate }\"\r\n\t\t[ngModel]=\"!range && selectedDate\"\r\n\t\t(ngModelChange)=\"!range && (selectedDate = $event)\"\r\n\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\tngbDatepicker\r\n\t\t(click)=\"d.toggle()\"\r\n\t\t(keyup.enter)=\"openDatePicker()\"\r\n\t\t(dateSelect)=\"onDateSelection($event)\"\r\n\t\t#d=\"ngbDatepicker\"\r\n\t\tfirstDayOfWeek=\"7\"\r\n\t\t[readonly]=\"readonly\"\r\n\t\t[autoClose]=\"range ? 'outside' : true\"\r\n\t\t[minDate]=\"min\"\r\n\t\t[maxDate]=\"max\"\r\n\t\t[required]=\"isRequired\"\r\n\t\t[displayMonths]=\"range ? 2 : 1\"\r\n\t\t[name]=\"name\"\r\n\t\t[startDate]=\"range ? selectedDate.from! : selectedDate!\"\r\n\t\t[dayTemplate]=\"t\"\r\n\t\t(blur)=\"onBlur()\"\r\n\t\t[footerTemplate]=\"footerTemplate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[container]=\"containerName\"\r\n\t/>\r\n\t<ng-container *ngIf=\"range\">\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpFromDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpFromDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.from)\"\r\n\t\t\t\t\t(input)=\"fromDate = validateInput(selectedDate.from, dpFromDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-group ranger\" [ngClass]=\"{ vertical: vertical }\">\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<input\r\n\t\t\t\t\t#dpToDate\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t(click)=\"d.toggle()\"\r\n\t\t\t\t\t[placeholder]=\"placeHolder ? placeHolder : 'd/M/yyyy'\"\r\n\t\t\t\t\tname=\"dpToDate\"\r\n\t\t\t\t\t[value]=\"formatter.format(selectedDate.to)\"\r\n\t\t\t\t\t(input)=\"selectedDate.to = validateInput(selectedDate.to, dpToDate.value)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t<button class=\"btn btn-outline-secondary\" (click)=\"d.toggle()\" type=\"button\">\r\n\t\t\t\t\t\t<i class=\"bi bi-calendar-week icon\"></i>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n<ng-template #t let-date let-focused=\"focused\">\r\n\t<span\r\n\t\tclass=\"custom-day\"\r\n\t\t[class.focused]=\"focused || isToday(date)\"\r\n\t\t[class.range]=\"isRange(date) || isSelectedDate(date)\"\r\n\t\t[class.faded]=\"isHovered(date) || (isInside(date) && range)\"\r\n\t\t(mouseenter)=\"hoveredDate = date\"\r\n\t\t(mouseleave)=\"hoveredDate = null\"\r\n\t>\r\n\t\t{{ date.day }}\r\n\t</span>\r\n</ng-template>\r\n\r\n<ng-template #footerTemplate>\r\n\t<hr class=\"my-0\" />\r\n\t<button class=\"btn btn-secondary btn-sm m-2 float-right\" type=\"button\" (click)=\"d.close()\">\r\n\t\t{{ 'BUTTONS.CLOSE' | translate }}\r\n\t</button>\r\n\t<button class=\"btn btn-primary btn-sm m-2 float-left\" type=\"button\" (click)=\"clear()\">\r\n\t\t{{ 'BUTTONS.CLEAR' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [".date-input-container{position:relative}.date-input-container .date-input-wrapper{position:absolute;width:100%;height:100%;z-index:999999}.hijriInput{border-top-left-radius:0;border-bottom-left-radius:0}.input-filled{border-color:#1a96c6!important}.ngb-dp-weekday{width:2.1rem!important}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#0275d8;color:#fff}.custom-day.faded{background-color:#0275d880}.ranger{width:calc(50% - 5px);margin:0 2px;float:left}.ranger.vertical{width:calc(100% - 5px);margin:8px 2px}.ranger.vertical:nth-child(2){margin-top:0}.ranger.vertical:last-child{margin-bottom:0}.rtl .custom-select{background:#ffffff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") left .75rem center/8px 10px no-repeat}.rtl .ngb-dp-arrow-btn{transform:rotate(180deg)}.rtl .ranger{float:right}\n"], directives: [{ type: ProvideParentFormDirective, selector: "[provideParentForm]" }, { type: i1$8.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
6546
6804
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
6547
6805
  type: Component,
6548
6806
  args: [{
@@ -6555,7 +6813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
6555
6813
  styleUrls: ['./hijri-date-picker.component.scss'],
6556
6814
  encapsulation: ViewEncapsulation.None
6557
6815
  }]
6558
- }], ctorParameters: function () { return [{ type: i1$7.NgbCalendar }, { type: i1$7.NgbDateParserFormatter }]; }, propDecorators: { datePicker: [{
6816
+ }], ctorParameters: function () { return [{ type: i1$8.NgbCalendar }, { type: i1$8.NgbDateParserFormatter }]; }, propDecorators: { datePicker: [{
6559
6817
  type: ViewChild,
6560
6818
  args: ['d']
6561
6819
  }], selectedDate: [{
@@ -8061,7 +8319,7 @@ class DynamicFormDateItemComponent {
8061
8319
  DynamicFormDateItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i2$3.DateAdapter }, { token: UserPreferencesService }, { token: i1.TranslateService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
8062
8320
  DynamicFormDateItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDateItemComponent, selector: "app-dynamic-form-dateitem", inputs: { label: "label", disabled: "disabled", property: "property", editable: "editable", displayEmpty: "displayEmpty", min: "min", max: "max", startAt: "startAt", displayClearAction: "displayClearAction", pickerType: "pickerType", selectMode: "selectMode", isfilter: "isfilter", placeholder: "placeholder" }, providers: [
8063
8321
  { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS }
8064
- ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\">&#xE14C;</i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6$3.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$3.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$3.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe, "date": i4$1.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
8322
+ ], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datetimePicker"], descendants: true }], ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <ng-container *ngIf=\"label\">\r\n <label class=\"\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span>\r\n </label>\r\n </ng-container>\r\n <div class=\"input-container\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\r\n <button *ngIf=\"!isfilter && pickerType !== 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-calendar-week icon\"></i> </button>\r\n\r\n <button *ngIf=\"!isfilter && pickerType === 'timer'\" type=\"button\" class=\"claendar-icon\" [owlDateTimeTrigger]=\"dt3\">\r\n <i class=\"bi bi-clock icon\"></i> </button>\r\n <input\r\n class=\"form-control date\"\r\n [disabled]=\"isDisabled() || null\"\r\n (blur)=\"onTouched($event)\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [selectMode]=\"selectMode\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"valueDate\"\r\n (ngModelChange)=\"onDateChanged($event)\"\r\n autocomplete=\"false\"\r\n [owlDateTimeTrigger]=\"dt3\"\r\n [owlDateTime]=\"dt3\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n <input\r\n class=\"form-control timer\"\r\n [disabled]=\"true\"\r\n [required]=\"isRequired\"\r\n [(ngModel)]=\"displayedTime\"\r\n placeholder=\"{{ placeholder }}\"\r\n />\r\n\r\n <button type=\"button\" *ngIf=\"valueDate\" (click)=\"onDateClear()\" class=\"relative mx-1 clear-date-btn\"\r\n [ngClass]=\"{'d-none': isDisabled()}\">\r\n <i class=\"clear-date-icon material-icons flex mr-1\">&#xE14C;</i>\r\n </button>\r\n <owl-date-time\r\n [startAt]=\"startAt\"\r\n [pickerType]=\"pickerType\"\r\n #dt3\r\n ></owl-date-time>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n <span *ngIf=\"label\" class=\"mx-1\">{{ label | translate}}</span> {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ valueDate | date }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".clear-date-icon{color:#999;font-size:15px}.input-container{position:relative}.input-container .form-control{padding:0 35px}.clear-date-btn{align-items:center;background:transparent;border:0px;position:absolute;right:10px;left:auto;top:50%;margin-top:-9px}.claendar-icon{border:none;background-color:transparent;position:absolute;display:flex;justify-content:flex-start;padding-inline-end:45px;width:100%;height:40px;align-items:center}.claendar-icon .icon{font-size:20px;color:#495057}.claendar-icon:focus{outline:none}.rtl .clear-date-btn{left:10px;right:auto}.rtl .owl-dt-container-info{direction:rtl}\n"], components: [{ type: i6$3.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$3.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$3.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "value", "owlDateTime", "owlDateTimeFilter", "_disabled", "min", "max", "selectMode", "values"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe, "date": i4$1.DatePipe }, encapsulation: i0.ViewEncapsulation.None });
8065
8323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDateItemComponent, decorators: [{
8066
8324
  type: Component,
8067
8325
  args: [{
@@ -8782,7 +9040,7 @@ class DynamicFormTextItemComponent {
8782
9040
  }
8783
9041
  DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
8784
9042
  DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1.TranslateService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
8785
- DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9043
+ DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
8786
9044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
8787
9045
  type: Component,
8788
9046
  args: [{
@@ -8890,7 +9148,7 @@ class DynamicFormSlideToggleitemComponent {
8890
9148
  ngOnInit() { }
8891
9149
  }
8892
9150
  DynamicFormSlideToggleitemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSlideToggleitemComponent, deps: [{ token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
8893
- DynamicFormSlideToggleitemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: { label: "label", disabled: "disabled", checked: "checked", theme: "theme" }, outputs: { onToggle: "onToggle" }, ngImport: i0, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"], components: [{ type: i1$8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9151
+ DynamicFormSlideToggleitemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: { label: "label", disabled: "disabled", checked: "checked", theme: "theme" }, outputs: { onToggle: "onToggle" }, ngImport: i0, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"], components: [{ type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
8894
9152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSlideToggleitemComponent, decorators: [{
8895
9153
  type: Component,
8896
9154
  args: [{
@@ -9389,8 +9647,8 @@ class TreeviewSelectComponent {
9389
9647
  return _find(this.multipleSelection, (q) => _isEqual(q, item.value));
9390
9648
  }
9391
9649
  }
9392
- TreeviewSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TreeviewSelectComponent, deps: [{ token: i1$9.TreeviewI18n }, { token: TranslationService }, { token: DepartmentApiService }, { token: DepartmentManagementService$1 }, { token: RolesService }, { token: NuxeoService }, { token: GlobalAdminService }], target: i0.ɵɵFactoryTarget.Component });
9393
- TreeviewSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", config: "config", items: "items", value: "value", multiple: "multiple", defaultSelect: "defaultSelect", pp_departmentNestedTree: "pp_departmentNestedTree", useCustomAddEditAction: "useCustomAddEditAction", customPrefix: "customPrefix", customParentProperty: "customParentProperty", placeholder: "placeholder", defaultSelection: "defaultSelection", displayDepTypee: "displayDepTypee", disabled: "disabled", selectDepChildren: "selectDepChildren", displayIsAllowRecExternal: "displayIsAllowRecExternal", fixedParentNode: "fixedParentNode" }, outputs: { valueChange: "valueChange", plusClicked: "plusClicked", actionClicked: "actionClicked" }, providers: [{ provide: TreeviewI18n, useClass: DropdownTreeviewSelectI18n }], viewQueries: [{ propertyName: "dropdownTreeviewComponent", first: true, predicate: DropdownTreeviewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\r\n #itemTemplate\r\n let-item=\"item\"\r\n let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\"\r\n>\r\n <!-- single -->\r\n <div *ngIf=\"!treeview && !multiple\">\r\n <div\r\n class=\"text-nowrap row-item\"\r\n [ngClass]=\"{ active: item.value === this.value }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapseExpand()\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <!-- <label class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label> -->\r\n <label *ngIf=\"item.disabled\" class=\"form-check-label\">{{\r\n item.text\r\n }}</label>\r\n <label\r\n *ngIf=\"!item.disabled\"\r\n class=\"form-check-label\"\r\n (click)=\"select(item)\"\r\n >{{ item.text }}</label\r\n >\r\n </div>\r\n </div>\r\n <!-- Multiple -->\r\n <div *ngIf=\"!treeview && multiple\">\r\n <div\r\n class=\"text-nowrap row-item\"\r\n [ngClass]=\"{ active: item.value === this.value }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapseExpand()\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <!-- <input\r\n class=\"multiple-checkBox\"\r\n type=\"checkbox\"\r\n [checked]=\"multipleSelection.includes(item.value)\"\r\n (change)=\"selectMultiple($event.target.checked, item)\"\r\n />\r\n\r\n <label class=\"form-check-label\">{{ item.text }}</label> -->\r\n <div class=\"multiple-treeview\">\r\n <mat-checkbox\r\n [checked]=\"isItemSelected(item)\"\r\n (change)=\"selectMultiple($event.checked, item)\"\r\n >\r\n <span> {{ item.text }} </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- treeView -->\r\n <div *ngIf=\"treeview && !treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div\r\n (mouseenter)=\"hoverField.style.display = 'flex'\"\r\n (mouseleave)=\"hoverField.style.display = 'none'\"\r\n class=\"text-nowrap row-item treeview-row\"\r\n [ngClass]=\"{\r\n selected: item.value == selectedItem,\r\n treeParentNode: item.value === fixedParentNode?.value\r\n }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapsed(item)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">\r\n <ng-conteiner *ngIf=\"item.value != fixedParentNode?.value\">{{\r\n item.text\r\n }}</ng-conteiner>\r\n <ng-conteiner *ngIf=\"item.value === fixedParentNode?.value\">{{\r\n item.text | translate\r\n }}</ng-conteiner>\r\n <span #hoverField class=\"hoverField\">\r\n <span\r\n type=\"button\"\r\n matTooltip=\"{{ 'department_management.form.edit' | translate }}\"\r\n (click)=\"onAction($event, 'update', item)\"\r\n >\r\n <li class=\"bi bi-pencil\"></li>\r\n </span>\r\n\r\n <span\r\n type=\"button\"\r\n matTooltip=\"{{\r\n 'department_management.form.toolTip_message' | translate\r\n }}\"\r\n (click)=\"onAction($event, 'add', item)\"\r\n >\r\n <li class=\"bi bi-plus\"></li>\r\n </span>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n <!-- treeView as form control -->\r\n <div *ngIf=\"treeview && treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div\r\n class=\"text-nowrap row-item treeview-row-form-control\"\r\n [ngClass]=\"{ 'selected-form-control': item.value == selectedItem }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapsed(item)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\"\r\n >{{ item.text }}\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #headerTemplate\r\n let-config=\"config\"\r\n let-item=\"item\"\r\n let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\"\r\n let-onFilterTextChange=\"onFilterTextChange\"\r\n>\r\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\r\n <div class=\"col-12\">\r\n <input\r\n class=\"form-control\"\r\n type=\"text\"\r\n [placeholder]=\"i18n.getFilterPlaceholder(placeholder)\"\r\n [(ngModel)]=\"filterText\"\r\n (ngModelChange)=\"onFilterTextChange($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row\">\r\n <div class=\"col-12\">\r\n <label *ngIf=\"config.hasAllCheckBox\" (click)=\"select(item)\">\r\n <strong>{{ i18n.getAllCheckboxText() }}</strong>\r\n </label>\r\n <label\r\n *ngIf=\"config.hasCollapseExpand\"\r\n class=\"float-right\"\r\n (click)=\"onCollapseExpand()\"\r\n >\r\n <i\r\n [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-arrows-angle-expand\"></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-arrows-angle-contract\"\r\n ></span>\r\n </i>\r\n </label>\r\n </div>\r\n </div>\r\n <a *ngIf=\"defaultSelect\" class=\"select-default\" (click)=\"selectDefault()\">{{\r\n \"department_management.selectDefault\" | translate\r\n }}</a>\r\n <div\r\n *ngIf=\"config.hasDivider\"\r\n class=\"dropdown-divider\"\r\n [ngClass]=\"{ 'dropdown-divider-noMargin': defaultSelect }\"\r\n ></div>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"!treeview && !multiple\">\r\n <div class=\"dropdown-wrapper\">\r\n <ngx-dropdown-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!treeview && multiple\">\r\n <div class=\"multiple-tree-view dropdown-wrapper\">\r\n <ngx-dropdown-treeview\r\n [config]=\"config\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"treeview && !treeViewAsFormControl\">\r\n <div class=\"tree-view\">\r\n <ngx-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"treeview && treeViewAsFormControl\">\r\n <div class=\"tree-view-form-control\">\r\n <ngx-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.caret-icon{color:#6c757d;font-size:14px}.dropdown-wrapper{position:relative}.dropdown-wrapper .disable-effect{position:absolute;top:0;bottom:0;left:0;right:0;z-index:99}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element,.multiple-treeview .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.multiple-treeview mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.form-check-label-treeview{display:flex;align-items:center;justify-content:space-between;width:100%}.form-check-label-treeview .hoverField{display:none;align-items:center;text-align:center}.form-check-label-treeview .hoverField span{display:flex;align-items:center;justify-content:center;margin:0 3px;border:none;background-color:snow;background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:30px;width:30px;color:#fff;border-radius:5px;list-style:none;margin-inline-end:4px}.form-check-label-treeview .hoverField span .bi-plus{font-size:28px;display:flex;justify-content:center}.form-check-label-treeview .hoverField .add-btn{width:164px;padding:1px;display:flex;justify-content:center;align-items:center;font-size:13px;background-color:#0dbab5;border-radius:5px;border:0;color:#fff;--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.form-check-label-treeview .hoverField .plus-btn{display:flex;font-size:28px;align-items:center}.selected{background-color:#f5f6f8}.selected .hoverField{display:flex!important}.selected-form-control{background-color:#d9dce2}.selected-form-control .hoverField{display:flex!important}.treeview-item .row-item{display:flex;align-items:center;padding:5px 10px}.treeview-item .row-item .multiple-checkBox{margin-inline-start:4px;margin-inline-end:4px}.treeview-item .active{background-color:#f5f6f8}.treeview-row{display:flex;align-items:center}.treeview-row:hover{background-color:#f5f6f8}.treeview-row-form-control{display:flex;align-items:center}.treeview-row-form-control:hover{background-color:#d9dce2}label{margin-bottom:0;cursor:pointer}.bi{cursor:pointer;margin-right:.3rem}ngx-treeview .treeview-container{max-height:200px!important;overflow-x:hidden;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-y:auto}ngx-treeview .select-default{display:flex;justify-content:start;font-size:13px;cursor:pointer;margin-bottom:3px;margin-top:4px}ngx-treeview .dropdown-divider-noMargin{margin-top:0!important}.tree-view ngx-treeview .treeview-container{max-height:500px!important;overflow-x:hidden}.tree-view-form-control ngx-treeview .treeview-container{max-height:300px!important;overflow-x:hidden}ngx-dropdown-treeview .dropdown .dropdown-menu{margin-top:0!important;width:100%}ngx-dropdown-treeview .dropdown .btn-outline-secondary{background-color:#8f98aa1a;border:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:hover{color:#6c757d!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:focus{box-shadow:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:active{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}ngx-dropdown-treeview .dropdown:after{position:static!important}ngx-dropdown-treeview .show .dropdown-toggle{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}.rtl .treeview-item .treeview-item{margin-right:2rem!important;margin-left:0!important}.rtl .row-all .col-12{text-align:right}.rtl .row-all .col-12 .pull-right{float:left!important}.rtl .form-check.form-check-inline{margin-right:0!important}.rtl .btn.dropdown-toggle{margin-right:0!important}.rtl .dropdown-menu:not(ngb-datepicker){right:0px;left:unset}.rtl .dropdown :after{margin-top:.6rem;left:.6rem;right:unset!important}.rtl ngx-treeview-item{text-align:right;direction:rtl}@media (min-width: 576px){.rtl .form-inline .form-check-input{margin:3px}}.rtl .form-inline .form-check-input{margin:3px;position:inherit}.rtl .dropdown button{text-align:right!important;direction:rtl}.rtl .fa.fa-caret-right{transform:rotate(180deg)}\n"], components: [{ type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$9.DropdownTreeviewComponent, selector: "ngx-dropdown-treeview", inputs: ["buttonClass", "config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }, { type: i1$9.TreeviewComponent, selector: "ngx-treeview", inputs: ["config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9650
+ TreeviewSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TreeviewSelectComponent, deps: [{ token: i1$a.TreeviewI18n }, { token: TranslationService }, { token: DepartmentApiService }, { token: DepartmentManagementService$1 }, { token: RolesService }, { token: NuxeoService }, { token: GlobalAdminService }], target: i0.ɵɵFactoryTarget.Component });
9651
+ TreeviewSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", config: "config", items: "items", value: "value", multiple: "multiple", defaultSelect: "defaultSelect", pp_departmentNestedTree: "pp_departmentNestedTree", useCustomAddEditAction: "useCustomAddEditAction", customPrefix: "customPrefix", customParentProperty: "customParentProperty", placeholder: "placeholder", defaultSelection: "defaultSelection", displayDepTypee: "displayDepTypee", disabled: "disabled", selectDepChildren: "selectDepChildren", displayIsAllowRecExternal: "displayIsAllowRecExternal", fixedParentNode: "fixedParentNode" }, outputs: { valueChange: "valueChange", plusClicked: "plusClicked", actionClicked: "actionClicked" }, providers: [{ provide: TreeviewI18n, useClass: DropdownTreeviewSelectI18n }], viewQueries: [{ propertyName: "dropdownTreeviewComponent", first: true, predicate: DropdownTreeviewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\r\n #itemTemplate\r\n let-item=\"item\"\r\n let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\"\r\n>\r\n <!-- single -->\r\n <div *ngIf=\"!treeview && !multiple\">\r\n <div\r\n class=\"text-nowrap row-item\"\r\n [ngClass]=\"{ active: item.value === this.value }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapseExpand()\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <!-- <label class=\"form-check-label\" (click)=\"select(item)\">{{\r\n item.text\r\n }}</label> -->\r\n <label *ngIf=\"item.disabled\" class=\"form-check-label\">{{\r\n item.text\r\n }}</label>\r\n <label\r\n *ngIf=\"!item.disabled\"\r\n class=\"form-check-label\"\r\n (click)=\"select(item)\"\r\n >{{ item.text }}</label\r\n >\r\n </div>\r\n </div>\r\n <!-- Multiple -->\r\n <div *ngIf=\"!treeview && multiple\">\r\n <div\r\n class=\"text-nowrap row-item\"\r\n [ngClass]=\"{ active: item.value === this.value }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapseExpand()\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <!-- <input\r\n class=\"multiple-checkBox\"\r\n type=\"checkbox\"\r\n [checked]=\"multipleSelection.includes(item.value)\"\r\n (change)=\"selectMultiple($event.target.checked, item)\"\r\n />\r\n\r\n <label class=\"form-check-label\">{{ item.text }}</label> -->\r\n <div class=\"multiple-treeview\">\r\n <mat-checkbox\r\n [checked]=\"isItemSelected(item)\"\r\n (change)=\"selectMultiple($event.checked, item)\"\r\n >\r\n <span> {{ item.text }} </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- treeView -->\r\n <div *ngIf=\"treeview && !treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div\r\n (mouseenter)=\"hoverField.style.display = 'flex'\"\r\n (mouseleave)=\"hoverField.style.display = 'none'\"\r\n class=\"text-nowrap row-item treeview-row\"\r\n [ngClass]=\"{\r\n selected: item.value == selectedItem,\r\n treeParentNode: item.value === fixedParentNode?.value\r\n }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapsed(item)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\">\r\n <ng-conteiner *ngIf=\"item.value != fixedParentNode?.value\">{{\r\n item.text\r\n }}</ng-conteiner>\r\n <ng-conteiner *ngIf=\"item.value === fixedParentNode?.value\">{{\r\n item.text | translate\r\n }}</ng-conteiner>\r\n <span #hoverField class=\"hoverField\">\r\n <span\r\n type=\"button\"\r\n matTooltip=\"{{ 'department_management.form.edit' | translate }}\"\r\n (click)=\"onAction($event, 'update', item)\"\r\n >\r\n <li class=\"bi bi-pencil\"></li>\r\n </span>\r\n\r\n <span\r\n type=\"button\"\r\n matTooltip=\"{{\r\n 'department_management.form.toolTip_message' | translate\r\n }}\"\r\n (click)=\"onAction($event, 'add', item)\"\r\n >\r\n <li class=\"bi bi-plus\"></li>\r\n </span>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n <!-- treeView as form control -->\r\n <div *ngIf=\"treeview && treeViewAsFormControl\" class=\"tree-view-container\">\r\n <div\r\n class=\"text-nowrap row-item treeview-row-form-control\"\r\n [ngClass]=\"{ 'selected-form-control': item.value == selectedItem }\"\r\n >\r\n <i\r\n *ngIf=\"item.children\"\r\n (click)=\"onCollapsed(item)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span\r\n *ngSwitchCase=\"true\"\r\n class=\"bi bi-caret-{{ arabic ? 'left' : 'right' }}-fill caret-icon\"\r\n ></span>\r\n\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-caret-down-fill caret-icon\"\r\n ></span>\r\n </i>\r\n <label class=\"form-check-label-treeview\" (click)=\"select(item)\"\r\n >{{ item.text }}\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #headerTemplate\r\n let-config=\"config\"\r\n let-item=\"item\"\r\n let-onCollapseExpand=\"onCollapseExpand\"\r\n let-onCheckedChange=\"onCheckedChange\"\r\n let-onFilterTextChange=\"onFilterTextChange\"\r\n>\r\n <div *ngIf=\"config.hasFilter\" class=\"row row-filter\">\r\n <div class=\"col-12\">\r\n <input\r\n class=\"form-control\"\r\n type=\"text\"\r\n [placeholder]=\"i18n.getFilterPlaceholder(placeholder)\"\r\n [(ngModel)]=\"filterText\"\r\n (ngModelChange)=\"onFilterTextChange($event)\"\r\n />\r\n </div>\r\n </div>\r\n <div *ngIf=\"config.hasAllCheckBox || config.hasCollapseExpand\" class=\"row\">\r\n <div class=\"col-12\">\r\n <label *ngIf=\"config.hasAllCheckBox\" (click)=\"select(item)\">\r\n <strong>{{ i18n.getAllCheckboxText() }}</strong>\r\n </label>\r\n <label\r\n *ngIf=\"config.hasCollapseExpand\"\r\n class=\"float-right\"\r\n (click)=\"onCollapseExpand()\"\r\n >\r\n <i\r\n [title]=\"i18n.getTooltipCollapseExpandText(item.collapsed)\"\r\n aria-hidden=\"true\"\r\n [ngSwitch]=\"item.collapsed\"\r\n >\r\n <span *ngSwitchCase=\"true\" class=\"bi bi-arrows-angle-expand\"></span>\r\n <span\r\n *ngSwitchCase=\"false\"\r\n class=\"bi bi-arrows-angle-contract\"\r\n ></span>\r\n </i>\r\n </label>\r\n </div>\r\n </div>\r\n <a *ngIf=\"defaultSelect\" class=\"select-default\" (click)=\"selectDefault()\">{{\r\n \"department_management.selectDefault\" | translate\r\n }}</a>\r\n <div\r\n *ngIf=\"config.hasDivider\"\r\n class=\"dropdown-divider\"\r\n [ngClass]=\"{ 'dropdown-divider-noMargin': defaultSelect }\"\r\n ></div>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"!treeview && !multiple\">\r\n <div class=\"dropdown-wrapper\">\r\n <ngx-dropdown-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!treeview && multiple\">\r\n <div class=\"multiple-tree-view dropdown-wrapper\">\r\n <ngx-dropdown-treeview\r\n [config]=\"config\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-dropdown-treeview>\r\n <div class=\"disable-effect\" *ngIf=\"disabled\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"treeview && !treeViewAsFormControl\">\r\n <div class=\"tree-view\">\r\n <ngx-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"treeview && treeViewAsFormControl\">\r\n <div class=\"tree-view-form-control\">\r\n <ngx-treeview\r\n [config]=\"config\"\r\n [headerTemplate]=\"headerTemplate\"\r\n [items]=\"items\"\r\n [itemTemplate]=\"itemTemplate\"\r\n >\r\n </ngx-treeview>\r\n </div>\r\n</ng-container>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.caret-icon{color:#6c757d;font-size:14px}.dropdown-wrapper{position:relative}.dropdown-wrapper .disable-effect{position:absolute;top:0;bottom:0;left:0;right:0;z-index:99}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element,.multiple-treeview .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.multiple-treeview .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.multiple-treeview mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.form-check-label-treeview{display:flex;align-items:center;justify-content:space-between;width:100%}.form-check-label-treeview .hoverField{display:none;align-items:center;text-align:center}.form-check-label-treeview .hoverField span{display:flex;align-items:center;justify-content:center;margin:0 3px;border:none;background-color:snow;background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:30px;width:30px;color:#fff;border-radius:5px;list-style:none;margin-inline-end:4px}.form-check-label-treeview .hoverField span .bi-plus{font-size:28px;display:flex;justify-content:center}.form-check-label-treeview .hoverField .add-btn{width:164px;padding:1px;display:flex;justify-content:center;align-items:center;font-size:13px;background-color:#0dbab5;border-radius:5px;border:0;color:#fff;--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.form-check-label-treeview .hoverField .plus-btn{display:flex;font-size:28px;align-items:center}.selected{background-color:#f5f6f8}.selected .hoverField{display:flex!important}.selected-form-control{background-color:#d9dce2}.selected-form-control .hoverField{display:flex!important}.treeview-item .row-item{display:flex;align-items:center;padding:5px 10px}.treeview-item .row-item .multiple-checkBox{margin-inline-start:4px;margin-inline-end:4px}.treeview-item .active{background-color:#f5f6f8}.treeview-row{display:flex;align-items:center}.treeview-row:hover{background-color:#f5f6f8}.treeview-row-form-control{display:flex;align-items:center}.treeview-row-form-control:hover{background-color:#d9dce2}label{margin-bottom:0;cursor:pointer}.bi{cursor:pointer;margin-right:.3rem}ngx-treeview .treeview-container{max-height:200px!important;overflow-x:hidden;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-y:auto}ngx-treeview .select-default{display:flex;justify-content:start;font-size:13px;cursor:pointer;margin-bottom:3px;margin-top:4px}ngx-treeview .dropdown-divider-noMargin{margin-top:0!important}.tree-view ngx-treeview .treeview-container{max-height:500px!important;overflow-x:hidden}.tree-view-form-control ngx-treeview .treeview-container{max-height:300px!important;overflow-x:hidden}ngx-dropdown-treeview .dropdown .dropdown-menu{margin-top:0!important;width:100%}ngx-dropdown-treeview .dropdown .btn-outline-secondary{background-color:#8f98aa1a;border:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:hover{color:#6c757d!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:focus{box-shadow:none!important}ngx-dropdown-treeview .dropdown .btn-outline-secondary:active{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}ngx-dropdown-treeview .dropdown:after{position:static!important}ngx-dropdown-treeview .show .dropdown-toggle{background-color:#8f98aa1a!important;border:none!important;color:#6c757d!important}.rtl .treeview-item .treeview-item{margin-right:2rem!important;margin-left:0!important}.rtl .row-all .col-12{text-align:right}.rtl .row-all .col-12 .pull-right{float:left!important}.rtl .form-check.form-check-inline{margin-right:0!important}.rtl .btn.dropdown-toggle{margin-right:0!important}.rtl .dropdown-menu:not(ngb-datepicker){right:0px;left:unset}.rtl .dropdown :after{margin-top:.6rem;left:.6rem;right:unset!important}.rtl ngx-treeview-item{text-align:right;direction:rtl}@media (min-width: 576px){.rtl .form-inline .form-check-input{margin:3px}}.rtl .form-inline .form-check-input{margin:3px;position:inherit}.rtl .dropdown button{text-align:right!important;direction:rtl}.rtl .fa.fa-caret-right{transform:rotate(180deg)}\n"], components: [{ type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i1$a.DropdownTreeviewComponent, selector: "ngx-dropdown-treeview", inputs: ["buttonClass", "config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }, { type: i1$a.TreeviewComponent, selector: "ngx-treeview", inputs: ["config", "headerTemplate", "itemTemplate", "items"], outputs: ["selectedChange", "filterChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9394
9652
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TreeviewSelectComponent, decorators: [{
9395
9653
  type: Component,
9396
9654
  args: [{
@@ -9400,7 +9658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
9400
9658
  encapsulation: ViewEncapsulation.None,
9401
9659
  providers: [{ provide: TreeviewI18n, useClass: DropdownTreeviewSelectI18n }],
9402
9660
  }]
9403
- }], ctorParameters: function () { return [{ type: i1$9.TreeviewI18n }, { type: TranslationService }, { type: DepartmentApiService }, { type: DepartmentManagementService$1 }, { type: RolesService }, { type: NuxeoService }, { type: GlobalAdminService }]; }, propDecorators: { treeview: [{
9661
+ }], ctorParameters: function () { return [{ type: i1$a.TreeviewI18n }, { type: TranslationService }, { type: DepartmentApiService }, { type: DepartmentManagementService$1 }, { type: RolesService }, { type: NuxeoService }, { type: GlobalAdminService }]; }, propDecorators: { treeview: [{
9404
9662
  type: Input
9405
9663
  }], treeViewAsFormControl: [{
9406
9664
  type: Input
@@ -9615,7 +9873,7 @@ class DynamicFormDepartmentComponent {
9615
9873
  }
9616
9874
  }
9617
9875
  DynamicFormDepartmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDepartmentComponent, deps: [{ token: TranslationService }, { token: DepartmentApiService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
9618
- DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams", disabled: "disabled", nodesExpandedByDefault: "nodesExpandedByDefault", fixedParentNode: "fixedParentNode" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked", onDataLoad: "onDataLoad" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [fixedParentNode]=\"fixedParentNode\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n [disabled]=\"disabled\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{ 'input-filled': selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "defaultSelection", "displayDepTypee", "disabled", "selectDepChildren", "displayIsAllowRecExternal", "fixedParentNode"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9876
+ DynamicFormDepartmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: { treeview: "treeview", treeViewAsFormControl: "treeViewAsFormControl", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", label: "label", defaultSelect: "defaultSelect", displayDepTypee: "displayDepTypee", displayIsAllowRecExternal: "displayIsAllowRecExternal", pp_departmentNestedTree: "pp_departmentNestedTree", pp_departmentTree: "pp_departmentTree", customPrefix: "customPrefix", useCustomAddEditAction: "useCustomAddEditAction", customParentProperty: "customParentProperty", customParams: "customParams", disabled: "disabled", nodesExpandedByDefault: "nodesExpandedByDefault", fixedParentNode: "fixedParentNode" }, outputs: { onSelecting: "onSelecting", actionClicked: "actionClicked", onDataLoad: "onDataLoad" }, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<app-dynamic-form-treeview-select\r\n [treeview]=\"treeview\"\r\n [treeViewAsFormControl]=\"treeViewAsFormControl\"\r\n [defaultSelect]=\"defaultSelect\"\r\n [multiple]=\"multiple\"\r\n [items]=\"data\"\r\n [placeholder]=\"placeholder\"\r\n [displayDepTypee]=\"displayDepTypee\"\r\n [displayIsAllowRecExternal]=\"displayIsAllowRecExternal\"\r\n [pp_departmentNestedTree]=\"pp_departmentNestedTree\"\r\n [useCustomAddEditAction]=\"useCustomAddEditAction\"\r\n [fixedParentNode]=\"fixedParentNode\"\r\n [customPrefix]=\"customPrefix\"\r\n [customParentProperty]=\"customParentProperty\"\r\n (valueChange)=\"getSelecteditems($event)\"\r\n [(value)]=\"selection\"\r\n (actionClicked)=\"onAction($event)\"\r\n [disabled]=\"disabled\"\r\n class=\"dropdown-wrapper\"\r\n [ngClass]=\"{ 'input-filled': selection && selection.length > 0 }\"\r\n>\r\n</app-dynamic-form-treeview-select>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: ["app-dynamic-form-department .dropdown{border:1px solid #ccc!important;border-radius:5px!important}app-dynamic-form-department .input-filled .dropdown{border-color:#1a96c6!important}\n"], components: [{ type: TreeviewSelectComponent, selector: "app-dynamic-form-treeview-select", inputs: ["treeview", "treeViewAsFormControl", "config", "items", "value", "multiple", "defaultSelect", "pp_departmentNestedTree", "useCustomAddEditAction", "customPrefix", "customParentProperty", "placeholder", "defaultSelection", "displayDepTypee", "disabled", "selectDepChildren", "displayIsAllowRecExternal", "fixedParentNode"], outputs: ["valueChange", "plusClicked", "actionClicked"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
9619
9877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormDepartmentComponent, decorators: [{
9620
9878
  type: Component,
9621
9879
  args: [{
@@ -10510,7 +10768,7 @@ class DynamicFormSelectUserFilterComponent {
10510
10768
  }
10511
10769
  }
10512
10770
  DynamicFormSelectUserFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectUserFilterComponent, deps: [{ token: UsersInDepartmentsApiService }, { token: i1.TranslateService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
10513
- DynamicFormSelectUserFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUserFilterComponent, selector: "cts-dynamic-form-select-user-filter", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", isAsync: "isAsync", attachSource: "attachSource", source$: "source$", hideLoaded: "hideLoaded", loading: "loading", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{background-color:#8f98aa1a!important;border:1px solid #ccc!important;border-radius:5px!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
10771
+ DynamicFormSelectUserFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUserFilterComponent, selector: "cts-dynamic-form-select-user-filter", inputs: { deptTitle: "deptTitle", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", isAsync: "isAsync", attachSource: "attachSource", source$: "source$", hideLoaded: "hideLoaded", loading: "loading", disabled: "disabled", filter: "filter" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [placeholder]=\"placeholder\"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.properties?.firstName }} {{ item?.properties?.lastName }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{background-color:#8f98aa1a!important;border:1px solid #ccc!important;border-radius:5px!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
10514
10772
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectUserFilterComponent, decorators: [{
10515
10773
  type: Component,
10516
10774
  args: [{
@@ -10826,7 +11084,7 @@ class DynamicFormSelectUsersComponent {
10826
11084
  }
10827
11085
  }
10828
11086
  DynamicFormSelectUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormSelectUsersComponent, deps: [{ token: UsersInDepartmentsApiService }, { token: i1.TranslateService }, { token: TranslationService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
10829
- DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", groupName: "groupName", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", arabicBindLabel: "arabicBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter", useArabicName: "useArabicName" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"useArabicName ? (isArabic ? arabicBindLabel : bindLabel) : bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
11087
+ DynamicFormSelectUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormSelectUsersComponent, selector: "cts-dynamic-form-select-users", inputs: { deptTitle: "deptTitle", groupName: "groupName", label: "label", bindValue: "bindValue", bindLabel: "bindLabel", arabicBindLabel: "arabicBindLabel", placeholder: "placeholder", multiple: "multiple", searchable: "searchable", closeOnSelect: "closeOnSelect", hideSelectedItems: "hideSelectedItems", preSelectedValues: "preSelectedValues", usePreSelectedValue: "usePreSelectedValue", disabled: "disabled", filter: "filter", useArabicName: "useArabicName" }, outputs: { onSelectItems: "onSelectItems" }, viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: ["ngSelectComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"label\">\r\n <div>\r\n <label class=\"select-label\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n >\r\n </div>\r\n</ng-container>\r\n<div class=\"user-select\" [ngClass]=\"{ 'multiple-wrapper': multiple }\" SetRtl>\r\n <ng-select\r\n #ngSelectComponent\r\n [items]=\"buffer\"\r\n [bindLabel]=\"useArabicName ? (isArabic ? arabicBindLabel : bindLabel) : bindLabel\"\r\n [placeholder]=\"\r\n multiple && (selection && selection.length > 0) ? selectionstrg : placeholder\r\n \"\r\n [multiple]=\"multiple\"\r\n [searchable]=\"searchable\"\r\n [closeOnSelect]=\"closeOnSelect\"\r\n [hideSelected]=\"hideSelectedItems\"\r\n [loading]=\"loading\"\r\n (scrollToEnd)=\"onScrollToEnd()\"\r\n [disabled]=\"disabled\"\r\n [typeahead]=\"userNameInput$\"\r\n [compareWith]=\"compareFn\"\r\n [(ngModel)]=\"selection\"\r\n (change)=\"emitSelection($event)\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div class=\"user-name\">\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n\r\n\r\n </div>\r\n <div>\r\n <span\r\n class=\"ng-value-icon right\"\r\n (click)=\"clear(item)\"\r\n aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template\r\n ng-option-tmp\r\n let-item=\"item\"\r\n let-item$=\"item$\"\r\n let-index=\"index\"\r\n >\r\n <span\r\n style=\"\r\n display: flex;\r\n align-items: center;\r\n column-gap: 4px;\r\n font-size: 16px;\r\n \"\r\n >\r\n <mat-checkbox\r\n *ngIf=\"multiple\"\r\n id=\"item-{{ index }}\"\r\n [ngModel]=\"item$.selected\"\r\n (click)=\"(false)\"\r\n ></mat-checkbox>\r\n <div style=\"width: 30px; height: 30px\">\r\n <cts-avatar [user]=\"item\"></cts-avatar>\r\n </div>\r\n <div>\r\n {{ item?.id === 'system' ? ('SYSTEM_ADMIN' | translate) : \r\n (useArabicName ? (isArabic ? (item?.fullNameAr ? item?.fullNameAr : item?.fullName) : item?.fullName) : \r\n (item?.properties?.firstName + \" \" +item?.properties?.lastName)) }}\r\n </div>\r\n\r\n <div></div>\r\n </span>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n<mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n>\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n </ul>\r\n</mat-error>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.user-select .ng-select-container{border:1px solid #ccc!important;border-radius:5px!important;background-color:#8f98aa1a!important}.user-select .ng-select-container .ng-value-container{padding:5px 7px 0!important}.user-select .ng-select-container .ng-value-container .ng-placeholder{padding:0 5px;font-size:12px}.user-select .ng-select-container .ng-value-container .ng-value{color:#495057}.user-select .ng-select-container .ng-arrow-wrapper{padding:0 20px}.user-select .ng-select-container .ng-input{left:10px;right:10px;width:auto}.user-select .mat-checkbox-ripple .mat-ripple-element,.user-select .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.user-select .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.user-select mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.multiple-wrapper .ng-select-container{overflow:visible!important}.multiple-wrapper .ng-select-container.ng-has-value{margin-bottom:65px}.multiple-wrapper .ng-select-container .ng-value-container{position:absolute;top:40px;width:100%;max-height:65px;overflow-y:auto}.multiple-wrapper .ng-select-container .ng-value-container .ng-placeholder{display:block;position:absolute;top:-26px!important}.multiple-wrapper .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper .ng-select-container .ng-value-container .ng-value .user-name{font-size:12px}.multiple-wrapper .ng-select-container .ng-value-container .ng-input{position:absolute;top:-35px!important}.multiple-wrapper .ng-select-container .ng-clear-wrapper{display:none}.multiple-wrapper .ng-select-container .ng-arrow-wrapper{position:absolute;right:5px}.multiple-wrapper .ng-select-filtered .ng-value-container .ng-placeholder{display:none!important}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value{padding:5px 10px}.multiple-wrapper.rtl .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-left:none!important;border-right:1px solid #b8dbff}.multiple-wrapper.rtl .ng-select-container .ng-arrow-wrapper{left:5px;right:auto}.ng-select-disabled .ng-select-container{background-color:#e9ecef!important}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper{position:relative}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper input{visibility:hidden;width:20px;height:20px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper{position:absolute;top:0px;left:0px;width:20px;height:20px;border:1px solid #2e62df;display:flex;justify-content:center;align-items:center}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .option-wrapper .check-box-wrapper .icon-wrapper .icon{color:#2e62df;display:none;justify-content:center;align-items:center;font-weight:bold}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .check-box-wrapper .icon-wrapper .icon{display:flex}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option-selected .option-wrapper .label-wrapper{color:#2e62df}.ng-select .ng-select-focused:not(.ng-select-opened) .ng-select-container{border-color:#ccc;box-shadow:none}\n"], components: [{ type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: AvatarComponent, selector: "cts-avatar", inputs: ["user"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: SetRtlDirective, selector: "[SetRtl]" }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
10830
11088
  __decorate([
10831
11089
  Cacheable({
10832
11090
  maxCacheCount: 1000,
@@ -11022,7 +11280,7 @@ class DynamicFormTextareaComponent {
11022
11280
  }
11023
11281
  DynamicFormTextareaComponent.DEFAULT_SEPARATOR = ', ';
11024
11282
  DynamicFormTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextareaComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1.TranslateService }, { token: i2$4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
11025
- DynamicFormTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: { property: "property", label: "label", editable: "editable", disabled: "disabled", id: "id", placeholder: "placeholder", displayEmpty: "displayEmpty", horizontalAlign: "horizontalAlign" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\" [ngClass]=\"{ row: horizontalAlign }\">\r\n\t\t<label\r\n\t\t\t*ngIf=\"label\"\r\n\t\t\tfor=\"formGroupInputSmall\"\r\n\t\t\t[ngClass]=\"{ 'col-3': horizontalAlign }\"\r\n\t\t\t>{{ label | translate\r\n\t\t\t}}<span *ngIf=\"isRequired()\" class=\"text-danger\">*</span></label\r\n\t\t>\r\n\t\t<div [ngClass]=\"{ 'col-9': horizontalAlign }\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\tclass=\"form-control field-style\"\r\n\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t[attr.disabled]=\"isDisabled() || null\"\r\n\t\t\t\t\t#editorInput\r\n\t\t\t\t\tmatTextareaAutosize\r\n\t\t\t\t\tmatAutosizeMinRows=\"3\"\r\n\t\t\t\t\tmatAutosizeMaxRows=\"5\"\r\n\t\t\t\t\t[(ngModel)]=\"editedValue\"\r\n\t\t\t\t\t(input)=\"onTextAreaInputChange()\"\r\n\t\t\t\t\t(keyup)=\"update($event)\"\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-edittextarea-'\"\r\n\t\t\t\t></textarea>\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">\r\n\t\t\t\t\t\t\t{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-textitem-editable-error{margin-top:-15px;padding-top:0}textarea::placeholder{font-size:12px}\n"], directives: [{ type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$2.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
11283
+ DynamicFormTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: { property: "property", label: "label", editable: "editable", disabled: "disabled", id: "id", placeholder: "placeholder", displayEmpty: "displayEmpty", horizontalAlign: "horizontalAlign" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\" [ngClass]=\"{ row: horizontalAlign }\">\r\n\t\t<label\r\n\t\t\t*ngIf=\"label\"\r\n\t\t\tfor=\"formGroupInputSmall\"\r\n\t\t\t[ngClass]=\"{ 'col-3': horizontalAlign }\"\r\n\t\t\t>{{ label | translate\r\n\t\t\t}}<span *ngIf=\"isRequired()\" class=\"text-danger\">*</span></label\r\n\t\t>\r\n\t\t<div [ngClass]=\"{ 'col-9': horizontalAlign }\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\tclass=\"form-control field-style\"\r\n\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t[attr.disabled]=\"isDisabled() || null\"\r\n\t\t\t\t\t#editorInput\r\n\t\t\t\t\tmatTextareaAutosize\r\n\t\t\t\t\tmatAutosizeMinRows=\"3\"\r\n\t\t\t\t\tmatAutosizeMaxRows=\"5\"\r\n\t\t\t\t\t[(ngModel)]=\"editedValue\"\r\n\t\t\t\t\t(input)=\"onTextAreaInputChange()\"\r\n\t\t\t\t\t(keyup)=\"update($event)\"\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-edittextarea-'\"\r\n\t\t\t\t></textarea>\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">\r\n\t\t\t\t\t\t\t{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-textitem-editable-error{margin-top:-15px;padding-top:0}textarea::placeholder{font-size:12px}\n"], directives: [{ type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5$2.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
11026
11284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextareaComponent, decorators: [{
11027
11285
  type: Component,
11028
11286
  args: [{
@@ -12943,6 +13201,9 @@ class ComponentRegisterService {
12943
13201
  hasComponentById(id) {
12944
13202
  return !!this.getComponentById(id);
12945
13203
  }
13204
+ getComponents() {
13205
+ return this.components;
13206
+ }
12946
13207
  }
12947
13208
  ComponentRegisterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ComponentRegisterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12948
13209
  ComponentRegisterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ComponentRegisterService, providedIn: 'root' });
@@ -13679,7 +13940,7 @@ class ModeTogglerComponent {
13679
13940
  }
13680
13941
  }
13681
13942
  ModeTogglerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ModeTogglerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13682
- ModeTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModeTogglerComponent, selector: "mode-toggler", inputs: { modesList: "modesList", mode: "mode" }, outputs: { modeChanged: "modeChanged" }, host: { classAttribute: "mode-toggle" }, ngImport: i0, template: "<mat-button-toggle-group [value]=\"mode\" (change)=\"changeMode($event)\" class=\"mode-toggle__group\">\r\n\t<mat-button-toggle\r\n\t\t*ngFor=\"let item of modesList\"\r\n\t\t[value]=\"item.value\"\r\n\t\t[title]=\"item?.key ? (item.key | translate) : ''\"\r\n\t>\r\n\t\t<mat-icon>{{ item.icon }}</mat-icon>\r\n\t</mat-button-toggle>\r\n</mat-button-toggle-group>\r\n", styles: ["::ng-deep .mode-toggle__group .mat-button-toggle-label-content{line-height:var(--toggle-line-height, 36px)}\n"], components: [{ type: i1$a.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1$a.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13943
+ ModeTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModeTogglerComponent, selector: "mode-toggler", inputs: { modesList: "modesList", mode: "mode" }, outputs: { modeChanged: "modeChanged" }, host: { classAttribute: "mode-toggle" }, ngImport: i0, template: "<mat-button-toggle-group [value]=\"mode\" (change)=\"changeMode($event)\" class=\"mode-toggle__group\">\r\n\t<mat-button-toggle\r\n\t\t*ngFor=\"let item of modesList\"\r\n\t\t[value]=\"item.value\"\r\n\t\t[title]=\"item?.key ? (item.key | translate) : ''\"\r\n\t>\r\n\t\t<mat-icon>{{ item.icon }}</mat-icon>\r\n\t</mat-button-toggle>\r\n</mat-button-toggle-group>\r\n", styles: ["::ng-deep .mode-toggle__group .mat-button-toggle-label-content{line-height:var(--toggle-line-height, 36px)}\n"], components: [{ type: i1$b.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1$b.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13683
13944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ModeTogglerComponent, decorators: [{
13684
13945
  type: Component,
13685
13946
  args: [{
@@ -13714,7 +13975,7 @@ class SortingListComponent extends BaseComponent {
13714
13975
  }
13715
13976
  }
13716
13977
  SortingListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortingListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13717
- SortingListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SortingListComponent, selector: "table-sorting-list", inputs: { sortList: "sortList" }, outputs: { sortChanged: "sortChanged" }, host: { classAttribute: "sort-list" }, usesInheritance: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"sort-list__button\">\r\n\t<mat-icon inline> sort </mat-icon>\r\n\t{{ 'TABLE.sortBy' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<span [dir]=\"direction\" class=\"sort-list__menu\">\r\n\t\t<button mat-menu-item *ngFor=\"let item of sortList\" (click)=\"changeSort(item)\" [class.selected]=\"item.selected\">\r\n\t\t\t{{ item.key | translate }}\r\n\t\t</button>\r\n\t</span>\r\n</mat-menu>\r\n", styles: [".sort-list__menu{max-height:var(--sort-max-height, 250px);overflow-y:auto}.sort-list__menu .mat-menu-item{line-height:var(--sort-item-height, 36px);height:var(--sort-item-height, 36px)}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13978
+ SortingListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SortingListComponent, selector: "table-sorting-list", inputs: { sortList: "sortList" }, outputs: { sortChanged: "sortChanged" }, host: { classAttribute: "sort-list" }, usesInheritance: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"sort-list__button\">\r\n\t<mat-icon inline> sort </mat-icon>\r\n\t{{ 'TABLE.sortBy' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<span [dir]=\"direction\" class=\"sort-list__menu\">\r\n\t\t<button mat-menu-item *ngFor=\"let item of sortList\" (click)=\"changeSort(item)\" [class.selected]=\"item.selected\">\r\n\t\t\t{{ item.key | translate }}\r\n\t\t</button>\r\n\t</span>\r\n</mat-menu>\r\n", styles: [".sort-list__menu{max-height:var(--sort-max-height, 250px);overflow-y:auto}.sort-list__menu .mat-menu-item{line-height:var(--sort-item-height, 36px);height:var(--sort-item-height, 36px)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13718
13979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortingListComponent, decorators: [{
13719
13980
  type: Component,
13720
13981
  args: [{
@@ -13816,7 +14077,7 @@ class TableColumnsTogglerComponent extends BaseComponent {
13816
14077
  }
13817
14078
  }
13818
14079
  TableColumnsTogglerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableColumnsTogglerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13819
- TableColumnsTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableColumnsTogglerComponent, selector: "table-columns-toggler", inputs: { prefix: "prefix", sortable: "sortable", columns: "columns" }, outputs: { columnsChanged: "columnsChanged" }, host: { classAttribute: "columns-toggler" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"columns-toggler__button\">\r\n\t<mat-icon inline> tune </mat-icon>\r\n\t{{ 'TABLE.toggleColumns' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<div\r\n\t\tclass=\"flex justify-between mb-2 border-bottom border-primary-100 top-0 pb-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t>\r\n\t\t<mat-checkbox\r\n\t\t\t*ngIf=\"!!columns?.length && !enableSorting\"\r\n\t\t\t(change)=\"onCheckAllChange($event)\"\r\n\t\t\t[checked]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length === columns?.length\"\r\n\t\t\t[indeterminate]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length < columns?.length\"\r\n\t\t>\r\n\t\t\t{{ 'FILTERS.all' | translate }}\r\n\t\t</mat-checkbox>\r\n\r\n\t\t<button class=\"action-btn apply-sorting-btn\" *ngIf=\"enableSorting\" (click)=\"applySort()\">\r\n\t\t\t{{ 'TABLE.applySorting' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<mat-icon\r\n\t\t\trole=\"button\"\r\n\t\t\t(click)=\"toggleSorting()\"\r\n\t\t\t*ngIf=\"sortEnabled\"\r\n\t\t\t[title]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\t[matTooltip]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\tclass=\"columns-toggler__sort-icon\"\r\n\t\t>\r\n\t\t\t{{ enableSorting ? 'playlist_remove' : 'format_line_spacing' }}\r\n\t\t</mat-icon>\r\n\t</div>\r\n\r\n\t<ul\r\n\t\tclass=\"columns-toggler__columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t[dir]=\"direction\"\r\n\t\tcdkDropList\r\n\t\t[cdkDropListDisabled]=\"!enableSorting && !sortEnabled\"\r\n\t\t(cdkDropListDropped)=\"drop($event)\"\r\n\t>\r\n\t\t<li\r\n\t\t\t*ngFor=\"let col of columns\"\r\n\t\t\tclass=\"mb-2 column-control\"\r\n\t\t\tcdkDrag\r\n\t\t\t[cdkDragDisabled]=\"!enableSorting\"\r\n\t\t\t[class.sorting-enabled]=\"enableSorting\"\r\n\t\t\t[class.column-control__hidden]=\"!columnsSelection.isSelected(col)\"\r\n\t\t>\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n\t<ul\r\n\t\tclass=\"columns-toggler__frozen-columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t*ngIf=\"sortEnabled && frozenColumns?.length\"\r\n\t>\r\n\t\t<li *ngFor=\"let col of frozenColumns\" class=\"column-control\">\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n</mat-menu>\r\n", styles: [".columns-toggler__sort-icon{color:var(--sort-icon-color, #000)}.columns-toggler__columns{max-height:var(--cols-max-height, 275px);overflow-y:auto}.columns-toggler__columns .check-all-box{background:var(--check-background-color, #fff)}.columns-toggler__columns .column-control.sorting-enabled ::ng-deep,.columns-toggler__columns .column-control.sorting-enabled ::ng-deep .mat-checkbox-label{cursor:move}.columns-toggler__columns .column-control.sorting-enabled.cdk-drag-disabled{cursor:not-allowed;background:var(--drag-disabled-background, transparent);box-shadow:0 0 0 3px var(--drag-disabled-background, transparent)}.columns-toggler__columns .column-control__hidden{opacity:.7}.columns-toggler__columns .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}.columns-toggler__columns .cdk-drag-placeholder{opacity:0}.columns-toggler__frozen-columns{border-top:var(--frozen-cols-border-top, 2px solid #ccc);max-height:var(--frozen-cols--max-height, 150px);overflow-y:auto}::ng-deep .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.columns-toggler__sort-icon{color:var(--icon-color)!important}.apply-sorting-btn{background-color:var(--logo-button-bg);color:var(--main-text)}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i7$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
14080
+ TableColumnsTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableColumnsTogglerComponent, selector: "table-columns-toggler", inputs: { prefix: "prefix", sortable: "sortable", columns: "columns" }, outputs: { columnsChanged: "columnsChanged" }, host: { classAttribute: "columns-toggler" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"columns-toggler__button\">\r\n\t<mat-icon inline> tune </mat-icon>\r\n\t{{ 'TABLE.toggleColumns' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<div\r\n\t\tclass=\"flex justify-between mb-2 border-bottom border-primary-100 top-0 pb-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t>\r\n\t\t<mat-checkbox\r\n\t\t\t*ngIf=\"!!columns?.length && !enableSorting\"\r\n\t\t\t(change)=\"onCheckAllChange($event)\"\r\n\t\t\t[checked]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length === columns?.length\"\r\n\t\t\t[indeterminate]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length < columns?.length\"\r\n\t\t>\r\n\t\t\t{{ 'FILTERS.all' | translate }}\r\n\t\t</mat-checkbox>\r\n\r\n\t\t<button class=\"action-btn apply-sorting-btn\" *ngIf=\"enableSorting\" (click)=\"applySort()\">\r\n\t\t\t{{ 'TABLE.applySorting' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<mat-icon\r\n\t\t\trole=\"button\"\r\n\t\t\t(click)=\"toggleSorting()\"\r\n\t\t\t*ngIf=\"sortEnabled\"\r\n\t\t\t[title]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\t[matTooltip]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\tclass=\"columns-toggler__sort-icon\"\r\n\t\t>\r\n\t\t\t{{ enableSorting ? 'playlist_remove' : 'format_line_spacing' }}\r\n\t\t</mat-icon>\r\n\t</div>\r\n\r\n\t<ul\r\n\t\tclass=\"columns-toggler__columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t[dir]=\"direction\"\r\n\t\tcdkDropList\r\n\t\t[cdkDropListDisabled]=\"!enableSorting && !sortEnabled\"\r\n\t\t(cdkDropListDropped)=\"drop($event)\"\r\n\t>\r\n\t\t<li\r\n\t\t\t*ngFor=\"let col of columns\"\r\n\t\t\tclass=\"mb-2 column-control\"\r\n\t\t\tcdkDrag\r\n\t\t\t[cdkDragDisabled]=\"!enableSorting\"\r\n\t\t\t[class.sorting-enabled]=\"enableSorting\"\r\n\t\t\t[class.column-control__hidden]=\"!columnsSelection.isSelected(col)\"\r\n\t\t>\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n\t<ul\r\n\t\tclass=\"columns-toggler__frozen-columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t*ngIf=\"sortEnabled && frozenColumns?.length\"\r\n\t>\r\n\t\t<li *ngFor=\"let col of frozenColumns\" class=\"column-control\">\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n</mat-menu>\r\n", styles: [".columns-toggler__sort-icon{color:var(--sort-icon-color, #000)}.columns-toggler__columns{max-height:var(--cols-max-height, 275px);overflow-y:auto}.columns-toggler__columns .check-all-box{background:var(--check-background-color, #fff)}.columns-toggler__columns .column-control.sorting-enabled ::ng-deep,.columns-toggler__columns .column-control.sorting-enabled ::ng-deep .mat-checkbox-label{cursor:move}.columns-toggler__columns .column-control.sorting-enabled.cdk-drag-disabled{cursor:not-allowed;background:var(--drag-disabled-background, transparent);box-shadow:0 0 0 3px var(--drag-disabled-background, transparent)}.columns-toggler__columns .column-control__hidden{opacity:.7}.columns-toggler__columns .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}.columns-toggler__columns .cdk-drag-placeholder{opacity:0}.columns-toggler__frozen-columns{border-top:var(--frozen-cols-border-top, 2px solid #ccc);max-height:var(--frozen-cols--max-height, 150px);overflow-y:auto}::ng-deep .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.columns-toggler__sort-icon{color:var(--icon-color)!important}.apply-sorting-btn{background-color:var(--logo-button-bg);color:var(--main-text)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i7$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13820
14081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableColumnsTogglerComponent, decorators: [{
13821
14082
  type: Component,
13822
14083
  args: [{
@@ -13857,7 +14118,7 @@ class TableExportComponent {
13857
14118
  }
13858
14119
  }
13859
14120
  TableExportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableExportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13860
- TableExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableExportComponent, selector: "ndf-table-export", inputs: { config: "config" }, outputs: { onExport: "onExport" }, ngImport: i0, template: "<button\r\n\tmat-stroked-button\r\n\t[matTooltip]=\"'TABLE.EXPORT.export' | translate\"\r\n\t(click)=\"export()\"\r\n\t*ngIf=\"!config?.allowedTypes\"\r\n>\r\n\t<mat-icon>file_download</mat-icon>\r\n</button>\r\n\r\n<button\r\n\tmat-stroked-button\r\n\t*ngIf=\"config?.allowedTypes\"\r\n\t[matTooltip]=\"'TABLE.EXPORT.export' | translate\"\r\n\t[matMenuTriggerFor]=\"menu\"\r\n\t[attr.aria-label]=\"'TABLE.EXPORT.export' | translate\"\r\n>\r\n\t<mat-icon>file_download</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n\t<button mat-menu-item *ngFor=\"let type of config?.allowedTypes\" (click)=\"export(type.value)\">\r\n\t\t<span>{{ type.label | translate }}</span>\r\n\t</button>\r\n</mat-menu>\r\n", styles: [""], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe } });
14121
+ TableExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableExportComponent, selector: "ndf-table-export", inputs: { config: "config" }, outputs: { onExport: "onExport" }, ngImport: i0, template: "<button\r\n\tmat-stroked-button\r\n\t[matTooltip]=\"'TABLE.EXPORT.export' | translate\"\r\n\t(click)=\"export()\"\r\n\t*ngIf=\"!config?.allowedTypes\"\r\n>\r\n\t<mat-icon>file_download</mat-icon>\r\n</button>\r\n\r\n<button\r\n\tmat-stroked-button\r\n\t*ngIf=\"config?.allowedTypes\"\r\n\t[matTooltip]=\"'TABLE.EXPORT.export' | translate\"\r\n\t[matMenuTriggerFor]=\"menu\"\r\n\t[attr.aria-label]=\"'TABLE.EXPORT.export' | translate\"\r\n>\r\n\t<mat-icon>file_download</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n\t<button mat-menu-item *ngFor=\"let type of config?.allowedTypes\" (click)=\"export(type.value)\">\r\n\t\t<span>{{ type.label | translate }}</span>\r\n\t</button>\r\n</mat-menu>\r\n", styles: [""], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe } });
13861
14122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableExportComponent, decorators: [{
13862
14123
  type: Component,
13863
14124
  args: [{
@@ -15242,7 +15503,7 @@ InputDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
15242
15503
  useExisting: forwardRef(() => InputDateComponent),
15243
15504
  multi: true
15244
15505
  }
15245
- ], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"localState.appearance\" class=\"input-date-field\" (click)=\"openPicker(picker)\">\r\n\t<input\r\n\t\tmatInput\r\n\t\t[matDatepicker]=\"picker\"\r\n\t\t[formControl]=\"dateControl\"\r\n\t\t[placeholder]=\"localState.placeholder\"\r\n\t\t[readonly]=\"true\"\r\n\t\t[min]=\"localState.min\"\r\n\t\t[max]=\"localState.max\"\r\n\t\t[matDatepickerFilter]=\"localState.dateFilter\"\r\n\t/>\r\n\r\n\t<div matSuffix class=\"suffix-input\">\r\n\t\t<mat-icon class=\"search-box__icon\" *ngIf=\"dateControl?.value && !disabled\" (click)=\"clearInput($event)\"\r\n\t\t\t>close\r\n\t\t</mat-icon>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<mat-datepicker\r\n\t\t#picker\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[startView]=\"localState.startView\"\r\n\t\t[startAt]=\"localState.startAt\"\r\n\t\t[panelClass]=\"localState.panelClass\"\r\n\t\t(yearSelected)=\"yearSelected($event)\"\r\n\t\t(monthSelected)=\"monthSelected($event)\"\r\n\t>\r\n\t\t<mat-datepicker-actions *ngIf=\"localState.showActions\">\r\n\t\t\t<button mat-button matDatepickerCancel>\r\n\t\t\t\t{{ 'DATE_PICKER.cancel' | translate }}\r\n\t\t\t</button>\r\n\t\t\t<button mat-button color=\"primary\" class=\"action-btn action-btn_1\" matDatepickerApply>\r\n\t\t\t\t{{ 'DATE_PICKER.apply' | translate }}\r\n\t\t\t</button>\r\n\t\t</mat-datepicker-actions>\r\n\t</mat-datepicker>\r\n</mat-form-field>\r\n", styles: [".input-date-field{width:var(--idf-width, 100%);max-width:var(--idf-max-width, 400px)}.suffix-input{display:flex;align-items:center;justify-content:end;grid-gap:var(--suffix-gap, .2rem);gap:var(--suffix-gap, .2rem);min-width:var(--suffix-width, 62px);cursor:pointer}\n"], components: [{ type: i1$6.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i2$6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i2$6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$6.MatSuffix, selector: "[matSuffix]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { type: i2$6.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
15506
+ ], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"localState.appearance\" class=\"input-date-field\" (click)=\"openPicker(picker)\">\r\n\t<input\r\n\t\tmatInput\r\n\t\t[matDatepicker]=\"picker\"\r\n\t\t[formControl]=\"dateControl\"\r\n\t\t[placeholder]=\"localState.placeholder\"\r\n\t\t[readonly]=\"true\"\r\n\t\t[min]=\"localState.min\"\r\n\t\t[max]=\"localState.max\"\r\n\t\t[matDatepickerFilter]=\"localState.dateFilter\"\r\n\t/>\r\n\r\n\t<div matSuffix class=\"suffix-input\">\r\n\t\t<mat-icon class=\"search-box__icon\" *ngIf=\"dateControl?.value && !disabled\" (click)=\"clearInput($event)\"\r\n\t\t\t>close\r\n\t\t</mat-icon>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<mat-datepicker\r\n\t\t#picker\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[startView]=\"localState.startView\"\r\n\t\t[startAt]=\"localState.startAt\"\r\n\t\t[panelClass]=\"localState.panelClass\"\r\n\t\t(yearSelected)=\"yearSelected($event)\"\r\n\t\t(monthSelected)=\"monthSelected($event)\"\r\n\t>\r\n\t\t<mat-datepicker-actions *ngIf=\"localState.showActions\">\r\n\t\t\t<button mat-button matDatepickerCancel>\r\n\t\t\t\t{{ 'DATE_PICKER.cancel' | translate }}\r\n\t\t\t</button>\r\n\t\t\t<button mat-button color=\"primary\" class=\"action-btn action-btn_1\" matDatepickerApply>\r\n\t\t\t\t{{ 'DATE_PICKER.apply' | translate }}\r\n\t\t\t</button>\r\n\t\t</mat-datepicker-actions>\r\n\t</mat-datepicker>\r\n</mat-form-field>\r\n", styles: [".input-date-field{width:var(--idf-width, 100%);max-width:var(--idf-max-width, 400px)}.suffix-input{display:flex;align-items:center;justify-content:end;grid-gap:var(--suffix-gap, .2rem);gap:var(--suffix-gap, .2rem);min-width:var(--suffix-width, 62px);cursor:pointer}\n"], components: [{ type: i1$7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i2$6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i2$6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1$7.MatSuffix, selector: "[matSuffix]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { type: i2$6.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
15246
15507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InputDateComponent, decorators: [{
15247
15508
  type: Component,
15248
15509
  args: [{
@@ -15353,7 +15614,7 @@ InputRangeDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15353
15614
  useExisting: forwardRef(() => InputRangeDateComponent),
15354
15615
  multi: true
15355
15616
  }
15356
- ], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"localState.appearance\" (click)=\"openPicker(picker)\" class=\"input-date-field\">\r\n\t<mat-date-range-input\r\n\t\t[formGroup]=\"rangeControl\"\r\n\t\t[rangePicker]=\"picker\"\r\n\t\t[min]=\"localState.min\"\r\n\t\t[max]=\"localState.max\"\r\n\t\t[dateFilter]=\"localState.dateFilter\"\r\n\t\t[disabled]=\"localState.disabled\"\r\n\t>\r\n\t\t<input\r\n\t\t\tmatStartDate\r\n\t\t\tformControlName=\"from\"\r\n\t\t\t[placeholder]=\"localState.startDatePlaceholder || localState.placeholder || 'Start date'\"\r\n\t\t\treadonly\r\n\t\t/>\r\n\t\t<input\r\n\t\t\tmatEndDate\r\n\t\t\tformControlName=\"to\"\r\n\t\t\t[placeholder]=\"localState.endDatePlaceholder || localState.placeholder || 'End date'\"\r\n\t\t\treadonly\r\n\t\t/>\r\n\t</mat-date-range-input>\r\n\t<div matSuffix class=\"suffix-input\">\r\n\t\t<mat-icon\r\n\t\t\tclass=\"search-box__icon\"\r\n\t\t\t*ngIf=\"(rangeControl.value?.from || rangeControl.value?.to) && !disabled\"\r\n\t\t\t(click)=\"clearInput($event)\"\r\n\t\t\t>close\r\n\t\t</mat-icon>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<mat-date-range-picker\r\n\t\t#picker\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[startView]=\"localState.startView\"\r\n\t\t[startAt]=\"localState.startAt\"\r\n\t\t[panelClass]=\"localState.panelClass\"\r\n\t\t(yearSelected)=\"yearSelected($event)\"\r\n\t\t(monthSelected)=\"monthSelected($event)\"\r\n\t>\r\n\t\t<mat-date-range-picker-actions *ngIf=\"localState.showActions\">\r\n\t\t\t<button mat-button matDatepickerCancel>\r\n\t\t\t\t{{ 'DATE_PICKER.cancel' | translate }}\r\n\t\t\t</button>\r\n\t\t\t<button mat-button color=\"primary\" class=\"action-btn action-btn_1\" matDatepickerApply>\r\n\t\t\t\t{{ 'DATE_PICKER.apply' | translate }}\r\n\t\t\t</button>\r\n\t\t</mat-date-range-picker-actions>\r\n\t</mat-date-range-picker>\r\n</mat-form-field>\r\n", styles: [".input-date-field{width:var(--idf-width, 100%);max-width:var(--idf-max-width, 400px)}.suffix-input{display:flex;align-items:center;justify-content:end;grid-gap:var(--suffix-gap, .2rem);gap:var(--suffix-gap, .2rem);min-width:var(--suffix-width, 62px);cursor:pointer}\n"], components: [{ type: i1$6.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$6.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["separator", "comparisonStart", "comparisonEnd", "rangePicker", "required", "dateFilter", "min", "max", "disabled"], exportAs: ["matDateRangeInput"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$6.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { type: i2$6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$6.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$6.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { type: i1$6.MatSuffix, selector: "[matSuffix]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { type: i2$6.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
15617
+ ], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"localState.appearance\" (click)=\"openPicker(picker)\" class=\"input-date-field\">\r\n\t<mat-date-range-input\r\n\t\t[formGroup]=\"rangeControl\"\r\n\t\t[rangePicker]=\"picker\"\r\n\t\t[min]=\"localState.min\"\r\n\t\t[max]=\"localState.max\"\r\n\t\t[dateFilter]=\"localState.dateFilter\"\r\n\t\t[disabled]=\"localState.disabled\"\r\n\t>\r\n\t\t<input\r\n\t\t\tmatStartDate\r\n\t\t\tformControlName=\"from\"\r\n\t\t\t[placeholder]=\"localState.startDatePlaceholder || localState.placeholder || 'Start date'\"\r\n\t\t\treadonly\r\n\t\t/>\r\n\t\t<input\r\n\t\t\tmatEndDate\r\n\t\t\tformControlName=\"to\"\r\n\t\t\t[placeholder]=\"localState.endDatePlaceholder || localState.placeholder || 'End date'\"\r\n\t\t\treadonly\r\n\t\t/>\r\n\t</mat-date-range-input>\r\n\t<div matSuffix class=\"suffix-input\">\r\n\t\t<mat-icon\r\n\t\t\tclass=\"search-box__icon\"\r\n\t\t\t*ngIf=\"(rangeControl.value?.from || rangeControl.value?.to) && !disabled\"\r\n\t\t\t(click)=\"clearInput($event)\"\r\n\t\t\t>close\r\n\t\t</mat-icon>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<mat-date-range-picker\r\n\t\t#picker\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[startView]=\"localState.startView\"\r\n\t\t[startAt]=\"localState.startAt\"\r\n\t\t[panelClass]=\"localState.panelClass\"\r\n\t\t(yearSelected)=\"yearSelected($event)\"\r\n\t\t(monthSelected)=\"monthSelected($event)\"\r\n\t>\r\n\t\t<mat-date-range-picker-actions *ngIf=\"localState.showActions\">\r\n\t\t\t<button mat-button matDatepickerCancel>\r\n\t\t\t\t{{ 'DATE_PICKER.cancel' | translate }}\r\n\t\t\t</button>\r\n\t\t\t<button mat-button color=\"primary\" class=\"action-btn action-btn_1\" matDatepickerApply>\r\n\t\t\t\t{{ 'DATE_PICKER.apply' | translate }}\r\n\t\t\t</button>\r\n\t\t</mat-date-range-picker-actions>\r\n\t</mat-date-range-picker>\r\n</mat-form-field>\r\n", styles: [".input-date-field{width:var(--idf-width, 100%);max-width:var(--idf-max-width, 400px)}.suffix-input{display:flex;align-items:center;justify-content:end;grid-gap:var(--suffix-gap, .2rem);gap:var(--suffix-gap, .2rem);min-width:var(--suffix-width, 62px);cursor:pointer}\n"], components: [{ type: i1$7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2$6.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["separator", "comparisonStart", "comparisonEnd", "rangePicker", "required", "dateFilter", "min", "max", "disabled"], exportAs: ["matDateRangeInput"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$6.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { type: i2$6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$6.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { type: i2$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$6.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { type: i1$7.MatSuffix, selector: "[matSuffix]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { type: i2$6.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
15357
15618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InputRangeDateComponent, decorators: [{
15358
15619
  type: Component,
15359
15620
  args: [{
@@ -16251,7 +16512,7 @@ class ActiveUserSwitchComponent extends BaseCustomField {
16251
16512
  }
16252
16513
  }
16253
16514
  ActiveUserSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16254
- ActiveUserSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActiveUserSwitchComponent, selector: "active-user-switch", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle\r\n\tclass=\"filter-switch__item\"\r\n\t[checked]=\"isUserSelected\"\r\n\t(change)=\"toggle($event)\"\r\n\t[class.checkedBox]=\"isUserSelected\"\r\n\t[class.unCheckedBox]=\"!isUserSelected\"\r\n>\r\n\t{{ renderOptions?.text || field?.label | translate }}\r\n</mat-slide-toggle>\r\n", styles: [""], components: [{ type: i1$8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe } });
16515
+ ActiveUserSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActiveUserSwitchComponent, selector: "active-user-switch", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle\r\n\tclass=\"filter-switch__item\"\r\n\t[checked]=\"isUserSelected\"\r\n\t(change)=\"toggle($event)\"\r\n\t[class.checkedBox]=\"isUserSelected\"\r\n\t[class.unCheckedBox]=\"!isUserSelected\"\r\n>\r\n\t{{ renderOptions?.text || field?.label | translate }}\r\n</mat-slide-toggle>\r\n", styles: [""], components: [{ type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe } });
16255
16516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, decorators: [{
16256
16517
  type: Component,
16257
16518
  args: [{
@@ -17295,7 +17556,7 @@ AggregationDateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
17295
17556
  useExisting: forwardRef(() => AggregationDateListComponent),
17296
17557
  multi: true
17297
17558
  }
17298
- ], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-date-list__label\">{{\r\n\t\tfieldConfig.label | translate\r\n\t}}</field-header>\r\n\r\n\t<div class=\"filter-date-list__wrapper\">\r\n\t\t<ng-container *ngIf=\"!renderOptions?.view || renderOptions.view === viewLayout.list\">\r\n\t\t\t<mat-radio-button\r\n\t\t\t\tclass=\"filter-date-list__item\"\r\n\t\t\t\t*ngFor=\"let option of options; index as index\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-radio-button>\r\n\r\n\t\t\t<button *ngIf=\"selectionModel.hasValue()\" mat-flat-button class=\"mb-2\" (click)=\"clearSelected()\">\r\n\t\t\t\t{{ 'FILTERS.clear' | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngIf=\"renderOptions.view === viewLayout.dropdown\">\r\n\t\t\t<ng-select\r\n\t\t\t\tclass=\"filter-date-list__select\"\r\n\t\t\t\t[items]=\"options\"\r\n\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[ngModel]=\"internalValue\"\r\n\t\t\t\t(ngModelChange)=\"updateSelectValue($event)\"\r\n\t\t\t\t[notFoundText]=\"emptyPlaceholder || 'SELECT.notFoundText' | translate\"\r\n\t\t\t\t[placeholder]=\"'SELECT.placeholder' | translate\"\r\n\t\t\t\t[clearAllText]=\"'SELECT.clearAllText' | translate\"\r\n\t\t\t\t[typeToSearchText]=\"'SELECT.typeToSearchText' | translate\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template ng-option-tmp let-item=\"item\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, fieldConfig, aggregation }\"\r\n\t\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n\t\t\t\t\t<div *ngFor=\"let item of items\" class=\"ng-value\">\r\n\t\t\t\t\t\t<span class=\"ng-value-label\">{{ item | localizedLabel : language }}</span>\r\n\t\t\t\t\t\t<button class=\"ng-value-icon left\" (click)=\"clear(item)\" aria-hidden=\"true\">\u00D7</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-label-tmp let-item=\"item\">\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-select>\r\n\t\t</ng-container>\r\n\r\n\t\t<filter-date-range\r\n\t\t\tclass=\"filter-date-list__range\"\r\n\t\t\t*ngIf=\"renderOptions?.minMax\"\r\n\t\t\t[formControl]=\"minMaxDateCtrl\"\r\n\t\t></filter-date-range>\r\n\t</div>\r\n</div>\r\n", styles: [".filter-date-list{display:var(--fdl-display, block)}.filter-date-list__label{display:var(--fdl-label-display, block);margin-block:var(--fdl-label-margin-block, 0 .5rem);margin-inline:var(--fdl-label-margin-inline, 0 .2rem);padding:var(--fdl-padding, .2rem);font-weight:var(--fdl-weight, 600)}.filter-date-list__wrapper{display:var(--fdl-wrapper-display, flex);flex-direction:var(--fdl-wrapper-direction, column)}.filter-date-list__item{padding-inline-start:.5rem;margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__item .mat-radio-label{display:flex}.filter-date-list__item .mat-radio-label .mat-radio-label-content{flex-grow:1}.filter-date-list__select{margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__range{margin-top:var(--fdl-range-margin-top, .5rem);display:var(--fdl-range-display, flex);flex-direction:var(--fdl-range-direction, column)}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: i2$5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: FilterDateRangeComponent, selector: "filter-date-range" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "localizedLabel": LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
17559
+ ], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-date-list__label\">{{\r\n\t\tfieldConfig.label | translate\r\n\t}}</field-header>\r\n\r\n\t<div class=\"filter-date-list__wrapper\">\r\n\t\t<ng-container *ngIf=\"!renderOptions?.view || renderOptions.view === viewLayout.list\">\r\n\t\t\t<mat-radio-button\r\n\t\t\t\tclass=\"filter-date-list__item\"\r\n\t\t\t\t*ngFor=\"let option of options; index as index\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-radio-button>\r\n\r\n\t\t\t<button *ngIf=\"selectionModel.hasValue()\" mat-flat-button class=\"mb-2\" (click)=\"clearSelected()\">\r\n\t\t\t\t{{ 'FILTERS.clear' | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngIf=\"renderOptions.view === viewLayout.dropdown\">\r\n\t\t\t<ng-select\r\n\t\t\t\tclass=\"filter-date-list__select\"\r\n\t\t\t\t[items]=\"options\"\r\n\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[ngModel]=\"internalValue\"\r\n\t\t\t\t(ngModelChange)=\"updateSelectValue($event)\"\r\n\t\t\t\t[notFoundText]=\"emptyPlaceholder || 'SELECT.notFoundText' | translate\"\r\n\t\t\t\t[placeholder]=\"'SELECT.placeholder' | translate\"\r\n\t\t\t\t[clearAllText]=\"'SELECT.clearAllText' | translate\"\r\n\t\t\t\t[typeToSearchText]=\"'SELECT.typeToSearchText' | translate\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template ng-option-tmp let-item=\"item\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, fieldConfig, aggregation }\"\r\n\t\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n\t\t\t\t\t<div *ngFor=\"let item of items\" class=\"ng-value\">\r\n\t\t\t\t\t\t<span class=\"ng-value-label\">{{ item | localizedLabel : language }}</span>\r\n\t\t\t\t\t\t<button class=\"ng-value-icon left\" (click)=\"clear(item)\" aria-hidden=\"true\">\u00D7</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-label-tmp let-item=\"item\">\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-select>\r\n\t\t</ng-container>\r\n\r\n\t\t<filter-date-range\r\n\t\t\tclass=\"filter-date-list__range\"\r\n\t\t\t*ngIf=\"renderOptions?.minMax\"\r\n\t\t\t[formControl]=\"minMaxDateCtrl\"\r\n\t\t></filter-date-range>\r\n\t</div>\r\n</div>\r\n", styles: [".filter-date-list{display:var(--fdl-display, block)}.filter-date-list__label{display:var(--fdl-label-display, block);margin-block:var(--fdl-label-margin-block, 0 .5rem);margin-inline:var(--fdl-label-margin-inline, 0 .2rem);padding:var(--fdl-padding, .2rem);font-weight:var(--fdl-weight, 600)}.filter-date-list__wrapper{display:var(--fdl-wrapper-display, flex);flex-direction:var(--fdl-wrapper-direction, column)}.filter-date-list__item{padding-inline-start:.5rem;margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__item .mat-radio-label{display:flex}.filter-date-list__item .mat-radio-label .mat-radio-label-content{flex-grow:1}.filter-date-list__select{margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__range{margin-top:var(--fdl-range-margin-top, .5rem);display:var(--fdl-range-display, flex);flex-direction:var(--fdl-range-direction, column)}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: i2$5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: FilterDateRangeComponent, selector: "filter-date-range" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "localizedLabel": LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
17299
17560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationDateListComponent, decorators: [{
17300
17561
  type: Component,
17301
17562
  args: [{
@@ -17475,7 +17736,7 @@ AggregationSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
17475
17736
  useExisting: forwardRef(() => AggregationSwitchComponent),
17476
17737
  multi: true
17477
17738
  }
17478
- ], queries: [{ propertyName: "switchTemplate", first: true, predicate: SWITCH_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-switch__label\">\r\n\t\t<span>\r\n\t\t\t{{ fieldConfig.label | translate }}\r\n\t\t</span>\r\n\t\t<filter-options-sort *ngIf=\"renderOptions?.sort\" (sortChange)=\"sortChange($event)\"></filter-options-sort>\r\n\t</field-header>\r\n\r\n\t<filter-search-input\r\n\t\tclass=\"filter-switch__filter\"\r\n\t\t*ngIf=\"renderOptions?.filter\"\r\n\t\t[(searchText)]=\"searchText\"\r\n\t></filter-search-input>\r\n\r\n\t<filter-autocomplete-input\r\n\t\t*ngIf=\"renderOptions?.search\"\r\n\t\t[fieldConfig]=\"fieldConfig\"\r\n\t\t[language]=\"language\"\r\n\t\t[direction]=\"direction\"\r\n\t\t(searchChange)=\"emitValue($event)\"\r\n\t></filter-autocomplete-input>\r\n\r\n\t<ng-container *ngIf=\"options | filter: searchText as filteredOptions\">\r\n\t\t<div class=\"filter-switch__wrapper\">\r\n\t\t\t<mat-slide-toggle\r\n\t\t\t\t*ngFor=\"let option of filteredOptions; index as index\"\r\n\t\t\t\tclass=\"filter-switch__item\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.hidden]=\"renderOptions?.collapse && index + 1 > visibleItemsCount\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, config, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-slide-toggle>\r\n\t\t</div>\r\n\r\n\t\t<filter-empty-message *ngIf=\"!filteredOptions.length\" class=\"filter-switch__empty\"></filter-empty-message>\r\n\r\n\t\t<filter-collapse-control\r\n\t\t\tclass=\"filter-switch__collapse\"\r\n\t\t\t*ngIf=\"renderOptions?.collapse\"\r\n\t\t\t[minCount]=\"expandedCount\"\r\n\t\t\t[(visibleCount)]=\"visibleItemsCount\"\r\n\t\t\t[totalItems]=\"filteredOptions.length\"\r\n\t\t></filter-collapse-control>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".filter-switch{display:var(--fSwitch-display, block)}.filter-switch__wrapper{display:var(--fSwitch-wrapper-display, flex);flex-direction:var(--fSwitch-wrapper-direction, column)}.filter-switch__item{padding-inline-start:.5rem;margin-bottom:var(--filter-row-margin-bottom, .5rem)}.filter-switch__item.hidden{display:none}.filter-switch__item .mat-slide-toggle-content{flex-grow:1}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: FilterOptionsSortComponent, selector: "filter-options-sort", inputs: ["options", "sort"], outputs: ["sortChange"] }, { type: FilterSearchInputComponent, selector: "filter-search-input", inputs: ["searchText"], outputs: ["searchTextChange"] }, { type: FilterAutocompleteInputComponent, selector: "filter-autocomplete-input", inputs: ["direction", "language", "fieldConfig"], outputs: ["searchChange"] }, { type: i1$8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: FilterEmptyMessageComponent, selector: "filter-empty-message", inputs: ["message"] }, { type: FilterCollapseControlComponent, selector: "filter-collapse-control", inputs: ["minCount", "totalItems", "visibleCount"], outputs: ["visibleCountChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "filter": FilterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17739
+ ], queries: [{ propertyName: "switchTemplate", first: true, predicate: SWITCH_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-switch__label\">\r\n\t\t<span>\r\n\t\t\t{{ fieldConfig.label | translate }}\r\n\t\t</span>\r\n\t\t<filter-options-sort *ngIf=\"renderOptions?.sort\" (sortChange)=\"sortChange($event)\"></filter-options-sort>\r\n\t</field-header>\r\n\r\n\t<filter-search-input\r\n\t\tclass=\"filter-switch__filter\"\r\n\t\t*ngIf=\"renderOptions?.filter\"\r\n\t\t[(searchText)]=\"searchText\"\r\n\t></filter-search-input>\r\n\r\n\t<filter-autocomplete-input\r\n\t\t*ngIf=\"renderOptions?.search\"\r\n\t\t[fieldConfig]=\"fieldConfig\"\r\n\t\t[language]=\"language\"\r\n\t\t[direction]=\"direction\"\r\n\t\t(searchChange)=\"emitValue($event)\"\r\n\t></filter-autocomplete-input>\r\n\r\n\t<ng-container *ngIf=\"options | filter: searchText as filteredOptions\">\r\n\t\t<div class=\"filter-switch__wrapper\">\r\n\t\t\t<mat-slide-toggle\r\n\t\t\t\t*ngFor=\"let option of filteredOptions; index as index\"\r\n\t\t\t\tclass=\"filter-switch__item\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.hidden]=\"renderOptions?.collapse && index + 1 > visibleItemsCount\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, config, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-slide-toggle>\r\n\t\t</div>\r\n\r\n\t\t<filter-empty-message *ngIf=\"!filteredOptions.length\" class=\"filter-switch__empty\"></filter-empty-message>\r\n\r\n\t\t<filter-collapse-control\r\n\t\t\tclass=\"filter-switch__collapse\"\r\n\t\t\t*ngIf=\"renderOptions?.collapse\"\r\n\t\t\t[minCount]=\"expandedCount\"\r\n\t\t\t[(visibleCount)]=\"visibleItemsCount\"\r\n\t\t\t[totalItems]=\"filteredOptions.length\"\r\n\t\t></filter-collapse-control>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".filter-switch{display:var(--fSwitch-display, block)}.filter-switch__wrapper{display:var(--fSwitch-wrapper-display, flex);flex-direction:var(--fSwitch-wrapper-direction, column)}.filter-switch__item{padding-inline-start:.5rem;margin-bottom:var(--filter-row-margin-bottom, .5rem)}.filter-switch__item.hidden{display:none}.filter-switch__item .mat-slide-toggle-content{flex-grow:1}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }, { type: FilterOptionsSortComponent, selector: "filter-options-sort", inputs: ["options", "sort"], outputs: ["sortChange"] }, { type: FilterSearchInputComponent, selector: "filter-search-input", inputs: ["searchText"], outputs: ["searchTextChange"] }, { type: FilterAutocompleteInputComponent, selector: "filter-autocomplete-input", inputs: ["direction", "language", "fieldConfig"], outputs: ["searchChange"] }, { type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: FilterEmptyMessageComponent, selector: "filter-empty-message", inputs: ["message"] }, { type: FilterCollapseControlComponent, selector: "filter-collapse-control", inputs: ["minCount", "totalItems", "visibleCount"], outputs: ["visibleCountChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "filter": FilterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17479
17740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationSwitchComponent, decorators: [{
17480
17741
  type: Component,
17481
17742
  args: [{
@@ -18188,7 +18449,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
18188
18449
  }
18189
18450
  }
18190
18451
  FiltersPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersPanelComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
18191
- FiltersPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FiltersPanelComponent, selector: "app-filters-panel", inputs: { aggregations: "aggregations", fields: "fields", activeQuery: "activeQuery" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" class=\"filters-panel\" [dir]=\"direction$ | async\">\r\n\t<div class=\"reset-filter flex reset-container\">\r\n\t\t<button mat-stroked-button class=\"w-full\" (click)=\"resetFilters()\" [disabled]=\"!hasValues\">\r\n\t\t\t{{ 'BUTTONS.clearFilter' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n\t<ng-container *ngFor=\"let field of fields | filterByRoles; trackBy: trackByFieldKey\">\r\n\t\t<ng-container *permission=\"{ name: field.config?.permission }\">\r\n\t\t\t<app-predicate-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.predicate\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t></app-predicate-field>\r\n\t\t\t<app-aggregation-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.aggregation && !!aggregations\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[aggregation]=\"aggregations[field.config.aggregation]\"\r\n\t\t\t\t[contentTemplate]=\"getContentTemplate(field.config.render.type)\"\r\n\t\t\t></app-aggregation-field>\r\n\t\t\t<app-custom-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.custom\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t></app-custom-field>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</div>\r\n", styles: [".filters-panel{display:var(--filters-panel-display, flex);flex-direction:var(--filters-panel-direction, column);grid-gap:var(--filters-panel-gap, .5rem);gap:var(--filters-panel-gap, .5rem);flex-wrap:var(--filters-panel-wrap, wrap);max-width:100%;box-sizing:border-box}.aggregation-field{padding-inline:var(--af-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--af-padding-block, var(--ff-padding-block, 0));max-width:100%}.reset-container{padding:.5rem;position:sticky;top:-8px;z-index:4;background:var(--reset-filter-panel-bg, #fff)}.reset-container button.mat-button-base{background-color:var(--reset-filter-panel-btn-bg, transparent);border-color:var(--reset-filter-panel-btn-bg, #e2e8f0);color:var(--reset-filter-panel-btn-color, currentColor)}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: PredicateFieldComponent, selector: "app-predicate-field" }, { type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: ["aggregation", "contentTemplate"] }, { type: CustomFieldComponent, selector: "app-custom-field", inputs: ["aggregations"] }], directives: [{ type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "filterByRoles": FiltersByRolesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
18452
+ FiltersPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FiltersPanelComponent, selector: "app-filters-panel", inputs: { aggregations: "aggregations", fields: "fields", activeQuery: "activeQuery" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" class=\"filters-panel\" [dir]=\"direction$ | async\">\r\n\t<div class=\"reset-filter flex reset-container\">\r\n\t\t<button mat-stroked-button class=\"w-full\" (click)=\"resetFilters()\" [disabled]=\"!hasValues\">\r\n\t\t\t{{ 'BUTTONS.clearFilter' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n\t<ng-container *ngFor=\"let field of fields | filterByRoles; trackBy: trackByFieldKey\">\r\n\t\t<ng-container *permission=\"{ name: field.config?.permission }\">\r\n\t\t\t<app-predicate-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.predicate\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t></app-predicate-field>\r\n\t\t\t<app-aggregation-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.aggregation && !!aggregations\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[aggregation]=\"aggregations[field.config.aggregation]\"\r\n\t\t\t\t[contentTemplate]=\"getContentTemplate(field.config.render.type)\"\r\n\t\t\t></app-aggregation-field>\r\n\t\t\t<app-custom-field\r\n\t\t\t\t*ngIf=\"field.type == fieldTypes.custom\"\r\n\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t></app-custom-field>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</div>\r\n", styles: [".filters-panel{display:var(--filters-panel-display, flex);flex-direction:var(--filters-panel-direction, column);grid-gap:var(--filters-panel-gap, .5rem);gap:var(--filters-panel-gap, .5rem);flex-wrap:var(--filters-panel-wrap, wrap);max-width:100%;box-sizing:border-box}.aggregation-field{padding-inline:var(--af-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--af-padding-block, var(--ff-padding-block, 0));max-width:100%}.reset-container{padding:.5rem;position:sticky;top:-8px;z-index:4;background:var(--reset-filter-panel-bg, #fff)}.reset-container button.mat-button-base{background-color:var(--reset-filter-panel-btn-bg, transparent);border-color:var(--reset-filter-panel-btn-bg, #e2e8f0);color:var(--reset-filter-panel-btn-color, currentColor)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: PredicateFieldComponent, selector: "app-predicate-field" }, { type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: ["aggregation", "contentTemplate"] }, { type: CustomFieldComponent, selector: "app-custom-field", inputs: ["aggregations"] }], directives: [{ type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "filterByRoles": FiltersByRolesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
18192
18453
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersPanelComponent, decorators: [{
18193
18454
  type: Component,
18194
18455
  args: [{
@@ -18550,115 +18811,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18550
18811
  }]
18551
18812
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
18552
18813
 
18553
- class FluidHeightDirective {
18554
- constructor(renderer, elementRef, ngZone) {
18555
- this.renderer = renderer;
18556
- this.elementRef = elementRef;
18557
- this.ngZone = ngZone;
18558
- this.minHeight = 0;
18559
- this.topOffset = 0;
18560
- this.subtractItems = [];
18561
- this.decrease = 0;
18562
- this.delay = 200;
18563
- this.calculate = true;
18564
- this._inlineStyle = false;
18565
- this._domElement = this.elementRef.nativeElement;
18566
- this._resizeListener = () => this.onResize();
18567
- this.ngZone.runOutsideAngular(() => {
18568
- window.addEventListener('resize', this._resizeListener);
18569
- });
18570
- }
18571
- get inlineStyle() {
18572
- return this._inlineStyle;
18573
- }
18574
- set inlineStyle(value) {
18575
- this._inlineStyle = coerceBooleanProperty(value);
18576
- }
18577
- ngAfterViewInit() {
18578
- this.scheduleSetHeight();
18579
- }
18580
- scheduleSetHeight(delay = this.delay) {
18581
- setTimeout(() => this.setHeight(), delay);
18582
- }
18583
- onResize() {
18584
- if (this._animationId) {
18585
- cancelAnimationFrame(this._animationId);
18586
- }
18587
- this._animationId = requestAnimationFrame(() => this.setHeight());
18588
- }
18589
- setHeight() {
18590
- if (!this.calculate) {
18591
- return;
18592
- }
18593
- const windowHeight = window.innerHeight;
18594
- const topOffset = this.topOffset || this._calcTopOffset();
18595
- let height = windowHeight - topOffset;
18596
- this.subtractItems.forEach((selector) => {
18597
- height -= this._getSelectorHeight(selector);
18598
- });
18599
- height = Math.max(height - this.decrease, this.minHeight);
18600
- if (this.inlineStyle) {
18601
- this.renderer.setStyle(this._domElement, 'height', `${height}px`);
18602
- }
18603
- else {
18604
- this.renderer.setAttribute(this._domElement, 'style', `--ndf-table-height : ${height}px`);
18605
- }
18606
- }
18607
- _getSelectorHeight(selector) {
18608
- const element = document.querySelector(selector);
18609
- return element ? element.clientHeight : 0;
18610
- }
18611
- _calcTopOffset() {
18612
- try {
18613
- const rect = this._domElement.getBoundingClientRect();
18614
- const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
18615
- return rect.top + scrollTop;
18616
- }
18617
- catch (_a) {
18618
- return 0;
18619
- }
18620
- }
18621
- ngOnDestroy() {
18622
- window.removeEventListener('resize', this._resizeListener);
18623
- }
18624
- }
18625
- FluidHeightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
18626
- FluidHeightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: { minHeight: "minHeight", topOffset: ["ndfFluidHeight", "topOffset"], subtractItems: "subtractItems", decrease: "decrease", delay: "delay", calculate: "calculate", inlineStyle: "inlineStyle" }, exportAs: ["ndfFluidHeight"], ngImport: i0 });
18627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightDirective, decorators: [{
18628
- type: Directive,
18629
- args: [{
18630
- selector: '[ndfFluidHeight]',
18631
- exportAs: 'ndfFluidHeight'
18632
- }]
18633
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { minHeight: [{
18634
- type: Input
18635
- }], topOffset: [{
18636
- type: Input,
18637
- args: ['ndfFluidHeight']
18638
- }], subtractItems: [{
18639
- type: Input
18640
- }], decrease: [{
18641
- type: Input
18642
- }], delay: [{
18643
- type: Input
18644
- }], calculate: [{
18645
- type: Input
18646
- }], inlineStyle: [{
18647
- type: Input
18648
- }] } });
18649
- class FluidHeightModule {
18650
- }
18651
- FluidHeightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18652
- FluidHeightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, declarations: [FluidHeightDirective], exports: [FluidHeightDirective] });
18653
- FluidHeightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule });
18654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FluidHeightModule, decorators: [{
18655
- type: NgModule,
18656
- args: [{
18657
- declarations: [FluidHeightDirective],
18658
- exports: [FluidHeightDirective]
18659
- }]
18660
- }] });
18661
-
18662
18814
  const FILTER_CUSTOM_TEMPLATE = new InjectionToken('FilterCustomTemplateDirective');
18663
18815
  class FilterCustomTemplateDirective {
18664
18816
  constructor(template) {
@@ -18704,6 +18856,21 @@ const PAGE_SIZE = [
18704
18856
  }
18705
18857
  ];
18706
18858
 
18859
+ const CONFIG_EDITOR_MODE = {
18860
+ EDIT: 'edit',
18861
+ PREVIEW: 'preview'
18862
+ };
18863
+
18864
+ const NDF_EDITOR_TYPE = {
18865
+ REPORTS: 'reports',
18866
+ TABLES: 'tables'
18867
+ };
18868
+
18869
+ const PARAMS_KEYS = {
18870
+ TYPE: 'type',
18871
+ KEY: 'key'
18872
+ };
18873
+
18707
18874
  class NxQlQuery extends NxQL {
18708
18875
  static preparePayloadItem(value, field) {
18709
18876
  var _a;
@@ -19496,6 +19663,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
19496
19663
  }]
19497
19664
  }] });
19498
19665
 
19666
+ const PROJECT_BASE_HREF = new InjectionToken('PROJECT_BASE_HREF');
19667
+
19668
+ class EditorButtonComponent {
19669
+ constructor(environment, router, baseAppUrl, configService) {
19670
+ var _a;
19671
+ this.environment = environment;
19672
+ this.router = router;
19673
+ this.baseAppUrl = baseAppUrl;
19674
+ this.configService = configService;
19675
+ this.isFeatureEnabled = false;
19676
+ this.editorConfig = (_a = this.configService.myConfiguration) === null || _a === void 0 ? void 0 : _a.configEditor;
19677
+ this.isFeatureEnabled = environment.configEditor === 'YES';
19678
+ }
19679
+ ngOnInit() { }
19680
+ navigate() {
19681
+ var _a;
19682
+ const config = (_a = this.editorConfig) === null || _a === void 0 ? void 0 : _a.types[this.type];
19683
+ if (!config || !this.key || !this.type) {
19684
+ return;
19685
+ }
19686
+ const navigateUrl = config.navigateUrl;
19687
+ if (!navigateUrl) {
19688
+ return;
19689
+ }
19690
+ const url = `${this.baseAppUrl || ''}${navigateUrl}`;
19691
+ this.router.navigate([url], {
19692
+ queryParams: {
19693
+ [PARAMS_KEYS.TYPE]: this.type,
19694
+ [PARAMS_KEYS.KEY]: this.key
19695
+ }
19696
+ });
19697
+ }
19698
+ }
19699
+ EditorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorButtonComponent, deps: [{ token: 'environment' }, { token: i1$5.Router }, { token: PROJECT_BASE_HREF }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component });
19700
+ EditorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorButtonComponent, selector: "app-editor-button", inputs: { type: "type", key: "key" }, ngImport: i0, template: `
19701
+ <ng-container *ngIf="isFeatureEnabled && editorConfig?.enabled && editorConfig?.types?.tables?.enabled">
19702
+ <button
19703
+ mat-stroked-button
19704
+ [matTooltip]="'JSON_EDITOR.navigateToEditor' | translate"
19705
+ (click)="navigate()"
19706
+ *permission="{ name: item?.permission }"
19707
+ >
19708
+ <mat-icon>edit</mat-icon>
19709
+ </button>
19710
+ </ng-container>
19711
+ `, isInline: true, components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i1.TranslatePipe } });
19712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorButtonComponent, decorators: [{
19713
+ type: Component,
19714
+ args: [{
19715
+ selector: 'app-editor-button',
19716
+ template: `
19717
+ <ng-container *ngIf="isFeatureEnabled && editorConfig?.enabled && editorConfig?.types?.tables?.enabled">
19718
+ <button
19719
+ mat-stroked-button
19720
+ [matTooltip]="'JSON_EDITOR.navigateToEditor' | translate"
19721
+ (click)="navigate()"
19722
+ *permission="{ name: item?.permission }"
19723
+ >
19724
+ <mat-icon>edit</mat-icon>
19725
+ </button>
19726
+ </ng-container>
19727
+ `
19728
+ }]
19729
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
19730
+ type: Inject,
19731
+ args: ['environment']
19732
+ }] }, { type: i1$5.Router }, { type: undefined, decorators: [{
19733
+ type: Inject,
19734
+ args: [PROJECT_BASE_HREF]
19735
+ }] }, { type: AppConfigService }]; }, propDecorators: { type: [{
19736
+ type: Input
19737
+ }], key: [{
19738
+ type: Input
19739
+ }] } });
19740
+ class EditorNavigateButton {
19741
+ }
19742
+ EditorNavigateButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19743
+ EditorNavigateButton.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, declarations: [EditorButtonComponent], imports: [CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule], exports: [EditorButtonComponent] });
19744
+ EditorNavigateButton.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, imports: [[CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule]] });
19745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorNavigateButton, decorators: [{
19746
+ type: NgModule,
19747
+ args: [{
19748
+ declarations: [EditorButtonComponent],
19749
+ exports: [EditorButtonComponent],
19750
+ imports: [CommonModule, TranslateModule, MatButtonModule, MatIconModule, MatTooltipModule, DirectiveModule]
19751
+ }]
19752
+ }] });
19753
+
19499
19754
  class NoDataFoundComponent {
19500
19755
  constructor() {
19501
19756
  this.message = 'table_noData';
@@ -19560,6 +19815,7 @@ class NdfTableComponent extends DestroySubject {
19560
19815
  this.autoCalculateHeight = true;
19561
19816
  this.emptyMessage = 'table_noData';
19562
19817
  this.configPath = 'tables';
19818
+ this.jsonEditorEnabled = false;
19563
19819
  this.onRowSelected = new EventEmitter();
19564
19820
  this.onRowIndexSelected = new EventEmitter();
19565
19821
  this.actionOnRow = new EventEmitter();
@@ -19584,6 +19840,7 @@ class NdfTableComponent extends DestroySubject {
19584
19840
  pageSize: 10,
19585
19841
  length: 0
19586
19842
  };
19843
+ this.editorType = NDF_EDITOR_TYPE.TABLES;
19587
19844
  this._translateService.onLangChange
19588
19845
  .pipe(startWith({ lang: this._translateService.currentLang }), takeUntil(this.destroy$))
19589
19846
  .subscribe((res) => {
@@ -19879,7 +20136,7 @@ class NdfTableComponent extends DestroySubject {
19879
20136
  }
19880
20137
  }
19881
20138
  NdfTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableComponent, deps: [{ token: FiltersMapperService }, { token: DynamicTableService }, { token: i1.TranslateService }, { token: NdfTableService }, { token: CustomToastrService }, { token: NdfTableConfigurationService }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
19882
- NdfTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTableComponent, selector: "app-ndf-table", inputs: { rows: "rows", totalRecords: "totalRecords", autoCalculateHeight: "autoCalculateHeight", emptyMessage: "emptyMessage", activeQuery: "activeQuery", configPath: "configPath", configTransformer: "configTransformer", tableKey: "tableKey", config: "config", customCriteria: "customCriteria", searchTerm: "searchTerm" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", onPage: "onPage", onInitialized: "onInitialized", onLoaded: "onLoaded", onQueryChange: "onQueryChange", onSort: "onSort" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-table" }, queries: [{ propertyName: "actionsTableTemplate", first: true, predicate: ACTIONS_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "searchTableTemplate", first: true, predicate: SEARCH_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "filterCustomTemplate", first: true, predicate: FILTER_CUSTOM_TEMPLATE, descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "\r\n<div\r\n\t*ngIf=\"tableConfig\"\r\n\tclass=\"ndf-table__container\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tndfFluidHeight\r\n\t[calculate]=\"autoCalculateHeight\"\r\n>\r\n\t<div class=\"ndf-table__panel\" *ngIf=\"filtersConfig?.fields\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig.fields\"\r\n\t\t\t[aggregations]=\"aggregations$ | async\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeQuery\"\r\n\t\t\tclass=\"ndf-table__filters\"\r\n\t\t\t[customTemplateRef]=\"filterCustomTemplate\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\t<div class=\"ndf-table__content\">\r\n\t\t<div class=\"ndf-table__header flex\">\r\n\t\t\t<div class=\"ndf-table__header__custom-actions flex gap-x-4 items-center\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"searchTableTemplate || defaultActionTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: tableConfig,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultActionTemplate>\r\n\t\t\t\t\t<button mat-stroked-button *ngIf=\"isPanelToggleAvailable\" class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<app-text-search\r\n\t\t\t\t\t\t*ngIf=\"textSearchConfig\"\r\n\t\t\t\t\t\t[searchConfig]=\"textSearchConfig\"\r\n\t\t\t\t\t\t(openModal)=\"openSearchModal()\"\r\n\t\t\t\t\t\t[search]=\"textSearch$ | async\"\r\n\t\t\t\t\t\t(searchChange)=\"onTextSearch($event)\"\r\n\t\t\t\t\t\t(clear)=\"onClearSearch()\"\r\n\t\t\t\t\t></app-text-search>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"ndf-table__header__actions flex gap-x-4 items-center\">\r\n\t\t\t\t<ndf-table-export\r\n\t\t\t\t\t*ngIf=\"exportTableConfig?.enabled\"\r\n\t\t\t\t\t[config]=\"exportTableConfig\"\r\n\t\t\t\t\t(onExport)=\"exportTable($event)\"\r\n\t\t\t\t></ndf-table-export>\r\n\r\n\t\t\t\t<table-sorting-list\r\n\t\t\t\t\t*ngIf=\"!!sortList?.length\"\r\n\t\t\t\t\t[sortList]=\"sortList\"\r\n\t\t\t\t\t(sortChanged)=\"sortChanged($event)\"\r\n\t\t\t\t></table-sorting-list>\r\n\t\t\t\t<table-columns-toggler\r\n\t\t\t\t\t*ngIf=\"columnToggle\"\r\n\t\t\t\t\t[columns]=\"tableConfig.columns\"\r\n\t\t\t\t\t[prefix]=\"tableConfig.prefix\"\r\n\t\t\t\t\t[sortable]=\"columnsOptions?.sortable\"\r\n\t\t\t\t\t(columnsChanged)=\"columnsChanged($event)\"\r\n\t\t\t\t></table-columns-toggler>\r\n\t\t\t\t<mode-toggler\r\n\t\t\t\t\t*ngIf=\"tableMode?.toggleMode\"\r\n\t\t\t\t\t[mode]=\"tableMode.mode || 'list'\"\r\n\t\t\t\t\t[modesList]=\"tableMode?.availableMode\"\r\n\t\t\t\t\t(modeChanged)=\"modeChanged($event)\"\r\n\t\t\t\t></mode-toggler>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"actionsTableTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: tableConfig,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<cts-dynamic-table\r\n\t\t\t*ngIf=\"!tableConfig.isDataProvided\"\r\n\t\t\tclass=\"ndf-table__table table-style\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[fullWidth]=\"tableConfig.fullWidth || 'auto'\"\r\n\t\t\t[pageSize]=\"tableConfig.pageSize || 10\"\r\n\t\t\t[pageNumber]=\"tableConfig.pageNumber || 1\"\r\n\t\t\t[pageProvider]=\"tableConfig.pageProvider\"\r\n\t\t\t[customUrl]=\"tableConfig.customUrl\"\r\n\t\t\t[quickFilter]=\"tableConfig.quickFilters ? { quickFilters: tableConfig.quickFilters } : undefined\"\r\n\t\t\t[defultSort]=\"tableConfig.defaultSort || defaultSort\"\r\n\t\t\t[sortingBy]=\"sortOption$ | async\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[fields]=\"tableConfig.fields\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[range]=\"tableConfig?.range\"\r\n\t\t\t[isSearchPage]=\"tableConfig?.isSearchPage\"\r\n\t\t\t[multiSelectRows]=\"tableConfig?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"tableConfig?.customFirstRow\"\r\n\t\t\t[highlightSelectedCard]=\"tableConfig?.highlightSelectedCard\"\r\n\t\t\t[showActionsAsMenu]=\"tableConfig?.showActionsAsMenu\"\r\n\t\t\t[filterParams]=\"tableConfig?.filterParams\"\r\n\t\t\t[format]=\"tableConfig?.format || 'MMMM d, y'\"\r\n\t\t\t[pageSizes]=\"tableConfig?.pageSizes || defaultPageSizes\"\r\n\t\t\t[prefix]=\"tableConfig.prefix || ''\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[queryParam]=\"tableConfig.queryParam\"\r\n\t\t\t[customFilters]=\"searchAndFilters$ | async\"\r\n\t\t\t[tableActions]=\"tableConfig.tableActions\"\r\n\t\t\t[headers]=\"tableConfig.headers\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onGettingData)=\"onGettingData.emit($event)\"\r\n\t\t\t(onLoad)=\"onLoad($event)\"\r\n\t\t\t(onInitialize)=\"onInitialize($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(onLoading)=\"onLoading.emit($event)\"\r\n\t\t\t(onPage)=\"onPageChanged($event)\"\r\n\t\t\t[isLegacyMode]=\"false\"\r\n\t\t\t[showTotalRecord]=\"true\"\r\n\t\t\t(sortChanged)=\"onSortChanged($event)\"\r\n\t\t>\r\n\t\t\t<ng-template emptyTemplate let-isLoading let-rows=\"rows\" let-initialized=\"initialized\">\r\n\t\t\t\t<div class=\"loading-data\" *ngIf=\"isLoading && initialized\">\r\n\t\t\t\t\t<mat-spinner></mat-spinner>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex items-center justify-center h-5/6\" *ngIf=\"!isLoading && !rows.length\">\r\n\t\t\t\t\t<app-no-data-found class=\"mt-4\" [message]=\"emptyMessage\"></app-no-data-found>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</cts-dynamic-table>\r\n\r\n\t\t<cts-table\r\n\t\t\t*ngIf=\"tableConfig.isDataProvided\"\r\n\t\t\t[rows]=\"rows\"\r\n\t\t\t[totalRecords]=\"totalRecords\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[fullWidth]=\"tableConfig.fullWidth || 'auto'\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[prefix]=\"tableConfig.prefix || ''\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[multiSelectRows]=\"tableConfig?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"tableConfig?.customFirstRow\"\r\n\t\t\t[tableActions]=\"tableConfig.tableActions\"\r\n\t\t\t[showActionsAsMenu]=\"tableConfig?.showActionsAsMenu\"\r\n\t\t\t[defultSort]=\"tableConfig.defaultSort || defaultSort\"\r\n\t\t\t[format]=\"tableConfig?.format || 'MMMM d, y'\"\r\n\t\t\t[highlightSelectedCard]=\"tableConfig?.highlightSelectedCard\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onSorting)=\"onSortChanged($event)\"\r\n\t\t></cts-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-tbl-inline-padding, 1rem);padding-block:var(--ndf-tbl-block-padding, 1rem);border:var(--ndf-tbl-border, solid transparent);border-width:var(--ndf-table-border-width, 0);border-radius:var(--ndf-tbl-border-radius, 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-tbl-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host [dir=ltr]{--ndf-tbl-panel-translateX: -100%}:host:before,:host:after{box-sizing:border-box}::ng-deep .wrapping,::ng-deep .wrapping .table-reposition{overflow:visible}.ndf-table__container{--table-div-height: auto;--table-reposition-overflow-y: visible;--table-div-overflow: visible;--panel-width: var(--ndf-tbl-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-tbl-height, calc(var(--ndf-table-height, auto) - calc(var(--ndf-tbl-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-table__container.panel-opened{--ndf-tbl-panel-translateX: 0;--ndf-tbl-content-pis: var(--panel-width)}.ndf-table__panel,.ndf-table__content{overflow:auto;transition:all .2s}.ndf-table__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-tbl-panel-translateX, 100%));padding-inline:var(--ndf-tbl-panel-inline-padding, .5rem);padding-block:var(--ndf-tbl-panel-block-padding, .5rem);background:var(--ndf-tbl-panel-background, #fff);z-index:1}.ndf-table__content{flex-grow:1;padding-inline-start:var(--ndf-tbl-content-pis, 0);padding-block-end:var(--ndf-tbl-content-pbe, 1rem);overflow-y:var(--ndf-tbl-content-overflow-y, auto);max-height:var(--ndf-tbl-content-max-height, var(--ndf-table-height));display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content}.ndf-table__header{background-color:var(--ndf-tbl-background, #fff);flex-direction:var(--ndf-tbl-header-direction, row);justify-content:var(--ndf-tbl-header-justify, space-between);align-items:var(--ndf-tbl-header-items, center);padding-inline:var(--ndf-tbl-header-padding-inline, .5rem);padding-block:var(--ndf-tbl-header-padding-block, 0 .5rem);position:var(--ndf-tbl-header-position, sticky);top:0;z-index:1}.ndf-table__header__actions{justify-content:var(--ndf-tbl-actions-justify, flex-end)}.ndf-table__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-table__table{flex-grow:1;display:flex;flex-direction:column}.ndf-table__table.no-data{--table-div-height: auto}.loading-data{position:absolute;inset:0;display:grid;place-items:center;background:var(--loading-data-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-data-backdrop-filter, blur(3px));backdrop-filter:var(--loading-data-backdrop-filter, blur(3px))}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: TextSearchComponent, selector: "app-text-search", inputs: ["searchConfig", "search"], outputs: ["searchChange", "openModal", "clear"] }, { type: TableExportComponent, selector: "ndf-table-export", inputs: ["config"], outputs: ["onExport"] }, { type: SortingListComponent, selector: "table-sorting-list", inputs: ["sortList"], outputs: ["sortChanged"] }, { type: TableColumnsTogglerComponent, selector: "table-columns-toggler", inputs: ["prefix", "sortable", "columns"], outputs: ["columnsChanged"] }, { type: ModeTogglerComponent, selector: "mode-toggler", inputs: ["modesList", "mode"], outputs: ["modeChanged"] }, { type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "isLegacyMode", "showTotalRecord", "pageNumber", "sortingBy", "queryParam", "customFilters", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "componentName", "tableActions", "defultSort", "range", "isSearchPage", "multiSelectRows", "customFirstRow", "highlightSelectedCard", "showActionsAsMenu", "filterParams", "skipAggregation", "customUrl", "format", "pageSizes"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "sortChanged", "onPageChange", "onPage", "onLoad", "onInitialize"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }, { type: TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: EmptyTemplateDirective, selector: "[emptyTemplate]" }], pipes: { "async": i4$1.AsyncPipe } });
20139
+ NdfTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTableComponent, selector: "app-ndf-table", inputs: { rows: "rows", totalRecords: "totalRecords", autoCalculateHeight: "autoCalculateHeight", emptyMessage: "emptyMessage", activeQuery: "activeQuery", configPath: "configPath", configTransformer: "configTransformer", tableKey: "tableKey", jsonEditorEnabled: "jsonEditorEnabled", config: "config", customCriteria: "customCriteria", searchTerm: "searchTerm" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", onPage: "onPage", onInitialized: "onInitialized", onLoaded: "onLoaded", onQueryChange: "onQueryChange", onSort: "onSort" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-table" }, queries: [{ propertyName: "actionsTableTemplate", first: true, predicate: ACTIONS_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "searchTableTemplate", first: true, predicate: SEARCH_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "filterCustomTemplate", first: true, predicate: FILTER_CUSTOM_TEMPLATE, descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"tableConfig\"\r\n\tclass=\"ndf-table__container\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tndfFluidHeight\r\n\tcssVar=\"--ndf-table-height\"\r\n\t[calculate]=\"autoCalculateHeight\"\r\n>\r\n\t<div class=\"ndf-table__panel\" *ngIf=\"filtersConfig?.fields\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig.fields\"\r\n\t\t\t[aggregations]=\"aggregations$ | async\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeQuery\"\r\n\t\t\tclass=\"ndf-table__filters\"\r\n\t\t\t[customTemplateRef]=\"filterCustomTemplate\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\t<div class=\"ndf-table__content\">\r\n\t\t<div class=\"ndf-table__header flex\">\r\n\t\t\t<div class=\"ndf-table__header__custom-actions flex gap-x-4 items-center\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"searchTableTemplate || defaultActionTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: tableConfig,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultActionTemplate>\r\n\t\t\t\t\t<button mat-stroked-button *ngIf=\"isPanelToggleAvailable\" class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<app-text-search\r\n\t\t\t\t\t\t*ngIf=\"textSearchConfig\"\r\n\t\t\t\t\t\t[searchConfig]=\"textSearchConfig\"\r\n\t\t\t\t\t\t(openModal)=\"openSearchModal()\"\r\n\t\t\t\t\t\t[search]=\"textSearch$ | async\"\r\n\t\t\t\t\t\t(searchChange)=\"onTextSearch($event)\"\r\n\t\t\t\t\t\t(clear)=\"onClearSearch()\"\r\n\t\t\t\t\t></app-text-search>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"ndf-table__header__actions flex gap-x-4 items-center\">\r\n\t\t\t\t<app-editor-button\r\n\t\t\t\t\t*ngIf=\"jsonEditorEnabled && (tableKey || tableConfig?.key)\"\r\n\t\t\t\t\t[key]=\"tableKey || tableConfig?.key\"\r\n [type]=\"editorType\"\r\n\t\t\t\t></app-editor-button>\r\n\t\t\t\t<ndf-table-export\r\n\t\t\t\t\t*ngIf=\"exportTableConfig?.enabled\"\r\n\t\t\t\t\t[config]=\"exportTableConfig\"\r\n\t\t\t\t\t(onExport)=\"exportTable($event)\"\r\n\t\t\t\t></ndf-table-export>\r\n\r\n\t\t\t\t<table-sorting-list\r\n\t\t\t\t\t*ngIf=\"!!sortList?.length\"\r\n\t\t\t\t\t[sortList]=\"sortList\"\r\n\t\t\t\t\t(sortChanged)=\"sortChanged($event)\"\r\n\t\t\t\t></table-sorting-list>\r\n\t\t\t\t<table-columns-toggler\r\n\t\t\t\t\t*ngIf=\"columnToggle\"\r\n\t\t\t\t\t[columns]=\"tableConfig.columns\"\r\n\t\t\t\t\t[prefix]=\"tableConfig.prefix\"\r\n\t\t\t\t\t[sortable]=\"columnsOptions?.sortable\"\r\n\t\t\t\t\t(columnsChanged)=\"columnsChanged($event)\"\r\n\t\t\t\t></table-columns-toggler>\r\n\t\t\t\t<mode-toggler\r\n\t\t\t\t\t*ngIf=\"tableMode?.toggleMode\"\r\n\t\t\t\t\t[mode]=\"tableMode.mode || 'list'\"\r\n\t\t\t\t\t[modesList]=\"tableMode?.availableMode\"\r\n\t\t\t\t\t(modeChanged)=\"modeChanged($event)\"\r\n\t\t\t\t></mode-toggler>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"actionsTableTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: tableConfig,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<cts-dynamic-table\r\n\t\t\t*ngIf=\"!tableConfig.isDataProvided\"\r\n\t\t\tclass=\"ndf-table__table table-style\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[fullWidth]=\"tableConfig.fullWidth || 'auto'\"\r\n\t\t\t[pageSize]=\"tableConfig.pageSize || 10\"\r\n\t\t\t[pageNumber]=\"tableConfig.pageNumber || 1\"\r\n\t\t\t[pageProvider]=\"tableConfig.pageProvider\"\r\n\t\t\t[customUrl]=\"tableConfig.customUrl\"\r\n\t\t\t[quickFilter]=\"tableConfig.quickFilters ? { quickFilters: tableConfig.quickFilters } : undefined\"\r\n\t\t\t[defultSort]=\"tableConfig.defaultSort || defaultSort\"\r\n\t\t\t[sortingBy]=\"sortOption$ | async\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[fields]=\"tableConfig.fields\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[range]=\"tableConfig?.range\"\r\n\t\t\t[isSearchPage]=\"tableConfig?.isSearchPage\"\r\n\t\t\t[multiSelectRows]=\"tableConfig?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"tableConfig?.customFirstRow\"\r\n\t\t\t[highlightSelectedCard]=\"tableConfig?.highlightSelectedCard\"\r\n\t\t\t[showActionsAsMenu]=\"tableConfig?.showActionsAsMenu\"\r\n\t\t\t[filterParams]=\"tableConfig?.filterParams\"\r\n\t\t\t[format]=\"tableConfig?.format || 'MMMM d, y'\"\r\n\t\t\t[pageSizes]=\"tableConfig?.pageSizes || defaultPageSizes\"\r\n\t\t\t[prefix]=\"tableConfig.prefix || ''\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[queryParam]=\"tableConfig.queryParam\"\r\n\t\t\t[customFilters]=\"searchAndFilters$ | async\"\r\n\t\t\t[tableActions]=\"tableConfig.tableActions\"\r\n\t\t\t[headers]=\"tableConfig.headers\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onGettingData)=\"onGettingData.emit($event)\"\r\n\t\t\t(onLoad)=\"onLoad($event)\"\r\n\t\t\t(onInitialize)=\"onInitialize($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(onLoading)=\"onLoading.emit($event)\"\r\n\t\t\t(onPage)=\"onPageChanged($event)\"\r\n\t\t\t[isLegacyMode]=\"false\"\r\n\t\t\t[showTotalRecord]=\"true\"\r\n\t\t\t(sortChanged)=\"onSortChanged($event)\"\r\n\t\t>\r\n\t\t\t<ng-template emptyTemplate let-isLoading let-rows=\"rows\" let-initialized=\"initialized\">\r\n\t\t\t\t<div class=\"loading-data\" *ngIf=\"isLoading && initialized\">\r\n\t\t\t\t\t<mat-spinner></mat-spinner>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex items-center justify-center h-5/6\" *ngIf=\"!isLoading && !rows.length\">\r\n\t\t\t\t\t<app-no-data-found class=\"mt-4\" [message]=\"emptyMessage\"></app-no-data-found>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</cts-dynamic-table>\r\n\r\n\t\t<cts-table\r\n\t\t\t*ngIf=\"tableConfig.isDataProvided\"\r\n\t\t\t[rows]=\"rows\"\r\n\t\t\t[totalRecords]=\"totalRecords\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[fullWidth]=\"tableConfig.fullWidth || 'auto'\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[prefix]=\"tableConfig.prefix || ''\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[multiSelectRows]=\"tableConfig?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"tableConfig?.customFirstRow\"\r\n\t\t\t[tableActions]=\"tableConfig.tableActions\"\r\n\t\t\t[showActionsAsMenu]=\"tableConfig?.showActionsAsMenu\"\r\n\t\t\t[defultSort]=\"tableConfig.defaultSort || defaultSort\"\r\n\t\t\t[format]=\"tableConfig?.format || 'MMMM d, y'\"\r\n\t\t\t[highlightSelectedCard]=\"tableConfig?.highlightSelectedCard\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onSorting)=\"onSortChanged($event)\"\r\n\t\t></cts-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-tbl-inline-padding, 1rem);padding-block:var(--ndf-tbl-block-padding, 1rem);border:var(--ndf-tbl-border, solid transparent);border-width:var(--ndf-table-border-width, 0);border-radius:var(--ndf-tbl-border-radius, 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-tbl-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host [dir=ltr]{--ndf-tbl-panel-translateX: -100%}:host:before,:host:after{box-sizing:border-box}::ng-deep .wrapping,::ng-deep .wrapping .table-reposition{overflow:visible}.ndf-table__container{--table-div-height: auto;--table-reposition-overflow-y: visible;--table-div-overflow: visible;--panel-width: var(--ndf-tbl-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-tbl-height, calc(var(--ndf-table-height, auto) - calc(var(--ndf-tbl-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-table__container.panel-opened{--ndf-tbl-panel-translateX: 0;--ndf-tbl-content-pis: var(--panel-width)}.ndf-table__panel,.ndf-table__content{overflow:auto;transition:all .2s}.ndf-table__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-tbl-panel-translateX, 100%));padding-inline:var(--ndf-tbl-panel-inline-padding, .5rem);padding-block:var(--ndf-tbl-panel-block-padding, .5rem);background:var(--ndf-tbl-panel-background, #fff);z-index:1}.ndf-table__content{flex-grow:1;padding-inline-start:var(--ndf-tbl-content-pis, 0);padding-block-end:var(--ndf-tbl-content-pbe, 1rem);overflow-y:var(--ndf-tbl-content-overflow-y, auto);max-height:var(--ndf-tbl-content-max-height, var(--ndf-table-height));display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content}.ndf-table__header{background-color:var(--ndf-tbl-background, #fff);flex-direction:var(--ndf-tbl-header-direction, row);justify-content:var(--ndf-tbl-header-justify, space-between);align-items:var(--ndf-tbl-header-items, center);padding-inline:var(--ndf-tbl-header-padding-inline, .5rem);padding-block:var(--ndf-tbl-header-padding-block, 0 .5rem);position:var(--ndf-tbl-header-position, sticky);top:0;z-index:1}.ndf-table__header__actions{justify-content:var(--ndf-tbl-actions-justify, flex-end)}.ndf-table__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-table__table{flex-grow:1;display:flex;flex-direction:column}.ndf-table__table.no-data{--table-div-height: auto}.loading-data{position:absolute;inset:0;display:grid;place-items:center;background:var(--loading-data-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-data-backdrop-filter, blur(3px));backdrop-filter:var(--loading-data-backdrop-filter, blur(3px))}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: TextSearchComponent, selector: "app-text-search", inputs: ["searchConfig", "search"], outputs: ["searchChange", "openModal", "clear"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: TableExportComponent, selector: "ndf-table-export", inputs: ["config"], outputs: ["onExport"] }, { type: SortingListComponent, selector: "table-sorting-list", inputs: ["sortList"], outputs: ["sortChanged"] }, { type: TableColumnsTogglerComponent, selector: "table-columns-toggler", inputs: ["prefix", "sortable", "columns"], outputs: ["columnsChanged"] }, { type: ModeTogglerComponent, selector: "mode-toggler", inputs: ["modesList", "mode"], outputs: ["modeChanged"] }, { type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "isLegacyMode", "showTotalRecord", "pageNumber", "sortingBy", "queryParam", "customFilters", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "componentName", "tableActions", "defultSort", "range", "isSearchPage", "multiSelectRows", "customFirstRow", "highlightSelectedCard", "showActionsAsMenu", "filterParams", "skipAggregation", "customUrl", "format", "pageSizes"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "sortChanged", "onPageChange", "onPage", "onLoad", "onInitialize"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }, { type: TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: EmptyTemplateDirective, selector: "[emptyTemplate]" }], pipes: { "async": i4$1.AsyncPipe } });
19883
20140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableComponent, decorators: [{
19884
20141
  type: Component,
19885
20142
  args: [{
@@ -19907,6 +20164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
19907
20164
  type: Input
19908
20165
  }], tableKey: [{
19909
20166
  type: Input
20167
+ }], jsonEditorEnabled: [{
20168
+ type: Input
19910
20169
  }], config: [{
19911
20170
  type: Input
19912
20171
  }], customCriteria: [{
@@ -19991,7 +20250,9 @@ NdfTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
19991
20250
  MatTooltipModule,
19992
20251
  TableModule,
19993
20252
  DragDropModule,
19994
- NoDataModule], exports: [NdfTableComponent,
20253
+ NoDataModule,
20254
+ DirectiveModule,
20255
+ EditorNavigateButton], exports: [NdfTableComponent,
19995
20256
  SortingListComponent,
19996
20257
  TableColumnsTogglerComponent,
19997
20258
  ModeTogglerComponent,
@@ -20013,7 +20274,9 @@ NdfTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
20013
20274
  MatTooltipModule,
20014
20275
  TableModule,
20015
20276
  DragDropModule,
20016
- NoDataModule
20277
+ NoDataModule,
20278
+ DirectiveModule,
20279
+ EditorNavigateButton
20017
20280
  ]] });
20018
20281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableModule, decorators: [{
20019
20282
  type: NgModule,
@@ -20036,7 +20299,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20036
20299
  MatTooltipModule,
20037
20300
  TableModule,
20038
20301
  DragDropModule,
20039
- NoDataModule
20302
+ NoDataModule,
20303
+ DirectiveModule,
20304
+ EditorNavigateButton
20040
20305
  ],
20041
20306
  exports: [COMPONENTS$3, DIRECTIVES$2]
20042
20307
  }]
@@ -20293,10 +20558,10 @@ class DynamicSearchComponent {
20293
20558
  searchTerm: term
20294
20559
  };
20295
20560
  if (this.globalAdminService.isGlobalAdmin) {
20296
- params['path'] = '/' + this.globalAdminService.activeTenant + '/';
20561
+ params['path'] = this.globalAdminService.activeTenant;
20297
20562
  }
20298
20563
  else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
20299
- params['path'] = '/' + this.nuxeoService.nuxeoClient.user.properties.tenantId + '/';
20564
+ params['path'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
20300
20565
  }
20301
20566
  return from(this.nuxeoService.nuxeoClient
20302
20567
  .operation(this.suggesterApi ? this.suggesterApi : 'Search.CustomSuggestersLauncher', {
@@ -29943,7 +30208,7 @@ class DynamicTabsComponent {
29943
30208
  }
29944
30209
  }
29945
30210
  DynamicTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29946
- DynamicTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTabsComponent, selector: "app-dynamic-tabs", inputs: { tabs: "tabs", selectedIndex: "selectedIndex" }, viewQueries: [{ propertyName: "dynamicTabs", first: true, predicate: ["dynamicTabs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-tab-group #dynamicTabs class=\"h-full\" *ngIf=\"tabs.length > 0\">\r\n <mat-tab *ngFor=\"let tab of tabs\">\r\n <ng-template mat-tab-label *ngIf=\"tab.titleTemplate;else normalTitle\">\r\n <ng-content *ngTemplateOutlet=\"tab.titleTemplate\"></ng-content>\r\n </ng-template>\r\n <ng-template mat-tab-label #normalTitle class=\"flex flex-col items-center justify-center\">\r\n <mat-icon class=\"example-tab-icon\">{{tab.icon}}</mat-icon>\r\n <span>{{'tabs.' + tab.label | translate}}</span>\r\n </ng-template>\r\n\r\n <ng-template matTabContent>\r\n <ng-content *ngTemplateOutlet=\"tab.template\"></ng-content>\r\n </ng-template>\r\n </mat-tab>\r\n</mat-tab-group>", styles: [".mat-tab-group .mat-tab-header .mat-tab-header-pagination-before{display:none}.mat-tab-group .mat-tab-header .mat-tab-header-pagination-after{display:none}.mat-tab-group .mat-tab-header .mat-tab-label-container{padding:0!important;overflow-x:auto}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list{@apply min-w-100 !important;}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels{height:50px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label{height:100%!important;border-bottom:1px solid lightgray;margin:0!important}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label .mat-tab-label-content{display:flex;flex-direction:column;font-size:12px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label .mat-tab-label-content .mat-icon{font-size:20px;min-height:16px;min-width:16px;height:16px;width:16px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label-active{border-bottom:2px solid black;opacity:1}.mat-tab-group .mat-tab-body-wrapper{padding:0 10px!important;height:calc(100% - 60px)}.mat-tab-group .mat-tab-body-wrapper .mat-tab-body .mat-tab-body-content{padding:0;overflow:hidden}.theme-dgda .mat-tab-group .mat-tab-header .mat-tab-label-container{@apply bg-transparent;}\n"], components: [{ type: i1$c.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i1$c.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$c.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$c.MatTabContent, selector: "[matTabContent]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
30211
+ DynamicTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTabsComponent, selector: "app-dynamic-tabs", inputs: { tabs: "tabs", selectedIndex: "selectedIndex" }, viewQueries: [{ propertyName: "dynamicTabs", first: true, predicate: ["dynamicTabs"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-tab-group #dynamicTabs class=\"h-full\" *ngIf=\"tabs.length > 0\">\r\n <mat-tab *ngFor=\"let tab of tabs\">\r\n <ng-template mat-tab-label *ngIf=\"tab.titleTemplate;else normalTitle\">\r\n <ng-content *ngTemplateOutlet=\"tab.titleTemplate\"></ng-content>\r\n </ng-template>\r\n <ng-template mat-tab-label #normalTitle class=\"flex flex-col items-center justify-center\">\r\n <mat-icon class=\"example-tab-icon\">{{tab.icon}}</mat-icon>\r\n <span>{{'tabs.' + tab.label | translate}}</span>\r\n </ng-template>\r\n\r\n <ng-template matTabContent>\r\n <ng-content *ngTemplateOutlet=\"tab.template\"></ng-content>\r\n </ng-template>\r\n </mat-tab>\r\n</mat-tab-group>", styles: [".mat-tab-group .mat-tab-header .mat-tab-header-pagination-before{display:none}.mat-tab-group .mat-tab-header .mat-tab-header-pagination-after{display:none}.mat-tab-group .mat-tab-header .mat-tab-label-container{padding:0!important;overflow-x:auto}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list{@apply min-w-100 !important;}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels{height:50px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label{height:100%!important;border-bottom:1px solid lightgray;margin:0!important}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label .mat-tab-label-content{display:flex;flex-direction:column;font-size:12px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label .mat-tab-label-content .mat-icon{font-size:20px;min-height:16px;min-width:16px;height:16px;width:16px}.mat-tab-group .mat-tab-header .mat-tab-label-container .mat-tab-list .mat-tab-labels .mat-tab-label-active{border-bottom:2px solid black;opacity:1}.mat-tab-group .mat-tab-body-wrapper{padding:0 10px!important;height:calc(100% - 60px)}.mat-tab-group .mat-tab-body-wrapper .mat-tab-body .mat-tab-body-content{padding:0;overflow:hidden}.theme-dgda .mat-tab-group .mat-tab-header .mat-tab-label-container{@apply bg-transparent;}\n"], components: [{ type: i1$d.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i1$d.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$d.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$d.MatTabContent, selector: "[matTabContent]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
29947
30212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTabsComponent, decorators: [{
29948
30213
  type: Component,
29949
30214
  args: [{
@@ -35144,7 +35409,7 @@ class NuxeoCoreModule {
35144
35409
  }
35145
35410
  }
35146
35411
  NuxeoCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35147
- NuxeoCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoCoreModule, imports: [CommonModule, i1$9.TreeviewModule, HttpClientModule, i1.TranslateModule, i1$1.ToastrModule, KeycloakAngularModule,
35412
+ NuxeoCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NuxeoCoreModule, imports: [CommonModule, i1$a.TreeviewModule, HttpClientModule, i1.TranslateModule, i1$1.ToastrModule, KeycloakAngularModule,
35148
35413
  RxReactiveFormsModule], exports: [KeycloakAngularModule,
35149
35414
  HttpClientModule,
35150
35415
  TranslateModule,
@@ -36412,7 +36677,7 @@ RemoveButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
36412
36677
  >
36413
36678
  <mat-icon>close</mat-icon>
36414
36679
  </button>
36415
- `, isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\t--size: var(--remove-icon-size, 30px);\n\t\t\t\tposition: var(--remove-icon-position, absolute);\n\t\t\t\tinset: var(--remove-icon-inset, 0 0 auto auto);\n\t\t\t\topacity: var(--remove-icon-opacity, 0);\n\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\twidth: var(--size);\n\t\t\t\theight: var(--size);\n\t\t\t\tline-height: var(var(--remove-icon-size), calc(var(--size) - 6));\n\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\tz-index: 2;\n\t\t\t\t.remove-icon {\n\t\t\t\t\tborder: 1px solid currentColor;\n\t\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\t\twidth: var(--size);\n\t\t\t\t\theight: var(--size);\n\t\t\t\t\tline-height: var(--remove-icon-size, 24px);\n\t\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\t\t\t}\n\t\t"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
36680
+ `, isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\t--size: var(--remove-icon-size, 30px);\n\t\t\t\tposition: var(--remove-icon-position, absolute);\n\t\t\t\tinset: var(--remove-icon-inset, 0 0 auto auto);\n\t\t\t\topacity: var(--remove-icon-opacity, 0);\n\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\twidth: var(--size);\n\t\t\t\theight: var(--size);\n\t\t\t\tline-height: var(var(--remove-icon-size), calc(var(--size) - 6));\n\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\tz-index: 2;\n\t\t\t\t.remove-icon {\n\t\t\t\t\tborder: 1px solid currentColor;\n\t\t\t\t\tborder-radius: var(--remove-icon-radius, 50%);\n\t\t\t\t\twidth: var(--size);\n\t\t\t\t\theight: var(--size);\n\t\t\t\t\tline-height: var(--remove-icon-size, 24px);\n\t\t\t\t\tbackground: var(--remove-icon-background, #fff);\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\t\t\t}\n\t\t"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
36416
36681
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveButtonComponent, decorators: [{
36417
36682
  type: Component,
36418
36683
  args: [{
@@ -37041,7 +37306,7 @@ ZoomControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
37041
37306
  <button mat-flat-button (click)="zoomIn()">
37042
37307
  <mat-icon>zoom_in</mat-icon>
37043
37308
  </button>
37044
- `, isInline: true, styles: ["\n :host {\n position: var(--diagram-zoom-position, absolute);\n inset-inline: var(--diagram-zoom-inline, auto 5px);\n inset-block: var(--diagram-zoom-block, 5px auto);\n background: var(--diagram-zoom-background, #f8f8ff);\n border-radius: var(--diagram-zoom-radius, 4px);\n border: var(--diagram-zoom-border, 1px solid #dcdce4);\n display: var(--diagram-zoom-display, inline-flex);\n flex-direction: var(--diagram-zoom-direction, row);\n box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);\n .mat-flat-button {\n background-color: transparent;\n min-width: 36px;\n }\n }\n "], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
37309
+ `, isInline: true, styles: ["\n :host {\n position: var(--diagram-zoom-position, absolute);\n inset-inline: var(--diagram-zoom-inline, auto 5px);\n inset-block: var(--diagram-zoom-block, 5px auto);\n background: var(--diagram-zoom-background, #f8f8ff);\n border-radius: var(--diagram-zoom-radius, 4px);\n border: var(--diagram-zoom-border, 1px solid #dcdce4);\n display: var(--diagram-zoom-display, inline-flex);\n flex-direction: var(--diagram-zoom-direction, row);\n box-shadow: var(--diagram-zoom-shadow, 0 0 0 0 #eee);\n .mat-flat-button {\n background-color: transparent;\n min-width: 36px;\n }\n }\n "], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
37045
37310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ZoomControlComponent, decorators: [{
37046
37311
  type: Component,
37047
37312
  args: [{
@@ -37314,7 +37579,7 @@ class NotificationItemComponent extends DestroySubject {
37314
37579
  }
37315
37580
  }
37316
37581
  NotificationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37317
- NotificationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { iconOptions: "iconOptions", currentLang: "currentLang", notification: "notification" }, outputs: { markAsUnread: "markAsUnread", markAsRead: "markAsRead", markAsDeleted: "markAsDeleted" }, usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"notification?.properties as properties\"\r\n\tclass=\"notification-item\"\r\n\t[class.new-item]=\"properties['notif_cnt:status'] == status.new\"\r\n\t[class.unread-item]=\"properties['notif_cnt:status'] == status.unRead\"\r\n>\r\n\t<div class=\"notification-item__icon\">\r\n\t\t<div class=\"notification-item__icon__wrapper\" *ngIf=\"iconOptions?.active\">\r\n\t\t\t<i [class]=\"notification | getIcon : iconOptions\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"notification-item__content\">\r\n\t\t<p class=\"notification-item__message line-clamp-2\">\r\n\t\t\t{{\r\n\t\t\t\tcurrentLang === 'ar-AR'\r\n\t\t\t\t\t? properties['notif_cnt:arMessage']\r\n\t\t\t\t\t: properties['notif_cnt:enMessage']\r\n\t\t\t}}\r\n\t\t</p>\r\n\t\t<button\r\n\t\t\tclass=\"mat-icon-button\"\r\n\t\t\t[matMenuTriggerFor]=\"appMenu\"\r\n\t\t\tmat-icon-button\r\n\t\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"mat-24\">more_horiz</mat-icon>\r\n\t\t</button>\r\n\t\t<span class=\"notification-item__date\">{{\r\n\t\t\tproperties['dc:created'] | timeAgo : currentLang\r\n\t\t}}</span>\r\n\t</div>\r\n\r\n\t<mat-menu\r\n\t\tclass=\"notification-item__actions\"\r\n\t\t#appMenu=\"matMenu\"\r\n\t\t[attr.dir.rtl]=\"currentLang === 'ar-AR'\"\r\n\t>\r\n\t\t<span\r\n\t\t\t(click)=\"closeMenu($event, appMenu)\"\r\n\t\t\t[attr.dir.rtl]=\"currentLang === 'ar-AR'\"\r\n\t\t>\r\n\t\t\t<button\r\n\t\t\t\t*ngIf=\"properties['notif_cnt:status'] == status.read\"\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t\t(click)=\"markAsUnread.emit(notification)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"mx-1\">{{ 'notifications.markAsUnread' | translate }}</span>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\t*ngIf=\"\r\n\t\t\t\t\tproperties['notif_cnt:status'] == status.new ||\r\n\t\t\t\t\tproperties['notif_cnt:status'] == status.unRead\r\n\t\t\t\t\"\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t\t(click)=\"markAsRead.emit(notification)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"mx-1\">{{ 'notifications.markAsRead' | translate }}</span>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\t(click)=\"markAsDeleted.emit(notification)\"\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t>\r\n\t\t\t\t<span>{{ 'notifications.delete' | translate }}</span>\r\n\t\t\t</button>\r\n\t\t</span>\r\n\t</mat-menu>\r\n</div>\r\n", styles: [".notification-item{display:var(--n-item-display, grid);grid-template-columns:var(--n-item-columns, auto 1fr);grid-gap:var(--n-item-gap, .5rem);gap:var(--n-item-gap, .5rem);padding:var(--n-items-padding, .5rem 1rem);border:var(--n-item-border, solid #eee);border-width:var(--n-item-border-width, 0 0 1px 0);background:var(--n-item-background, transparent);min-height:var(--n-item-height, 85px);position:relative}.notification-item.new-item{--n-item-background: var(--n-status-new-color, #ecf8fe)}.notification-item.unread-item{--n-item-background: var(--n-status-unread-color, #ecf8fe)}.notification-item.unread-item:before{content:\"\";position:absolute;inset-inline-start:var(--n-item-unread-inline, 6px);inset-block-start:var(--n-item-unread-block, 6px);width:var(--n-item-unread-width, 8px);height:var(--n-item-unread-height, 8px);background:var(--n-item-unread-background, #39559d);border-radius:50%}.notification-item__icon{display:var(--n-item-icon-display, flex);align-items:var(--n-item-icon-align-items, center)}.notification-item__icon__wrapper{width:var(--n-item-icon-width, 56px);height:var(--n-item-icon-height, 56px);background:var(--n-item-icon-background, rgba(0, 0, 0, .025));color:var(--n-item-icon-color, #636363);font-size:var(--n-item-icon-size, 1.5rem);border-radius:var(--n-item-icon-radius, 50%);display:grid;place-items:center}.notification-item__content{display:var(--n-item-content-display, grid);grid-template-columns:var(--n-item-content-columns, 1fr auto);grid-gap:var(--n-item-gap, .2rem);gap:var(--n-item-gap, .2rem)}.notification-item__message{margin-bottom:0;font-size:var(--n-item-font-size, .9rem);color:var(--n-item-message-color)}.notification-item__date{font-size:var(--n-item-date-size, .8rem);text-align:var(--n-item-date-align, end);grid-column:var(--n-item-date-column, span 2);padding:var(--n-item-date-padding, 0 11px);color:var(--n-item-date-color)}.notification-item__actions{border-radius:var(--n-actions-radius, 4px);background:var(--n-actions-background, #fff);box-shadow:var(--n-actions-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notification-item__actions .mat-menu-content:not(:empty){padding:var(--n-actions--menu-padding, .5rem)}.notification-item__actions__item{text-align:var(--action-item-align, start)!important;background:var(--action-item-background, transparent)!important;color:var(--action-item-color, #28282d);padding:var(--action-item-padding, .4rem);height:var(--action-item-height, 38px);line-height:var(--action-item-line, 38px);border-radius:var(--action-item-radius, 4px);font-size:var(--action-item-size, 14px)}.notification-item__actions__item:hover{--action-item-background: var(--action-hover-background, #e6f7ff);--action-item-color: var(--action-hover-color, #005fdb)}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "getIcon": GetIconPipe, "timeAgo": TimeAgoPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37582
+ NotificationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationItemComponent, selector: "app-notification-item", inputs: { iconOptions: "iconOptions", currentLang: "currentLang", notification: "notification" }, outputs: { markAsUnread: "markAsUnread", markAsRead: "markAsRead", markAsDeleted: "markAsDeleted" }, usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"notification?.properties as properties\"\r\n\tclass=\"notification-item\"\r\n\t[class.new-item]=\"properties['notif_cnt:status'] == status.new\"\r\n\t[class.unread-item]=\"properties['notif_cnt:status'] == status.unRead\"\r\n>\r\n\t<div class=\"notification-item__icon\">\r\n\t\t<div class=\"notification-item__icon__wrapper\" *ngIf=\"iconOptions?.active\">\r\n\t\t\t<i [class]=\"notification | getIcon : iconOptions\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"notification-item__content\">\r\n\t\t<p class=\"notification-item__message line-clamp-2\">\r\n\t\t\t{{\r\n\t\t\t\tcurrentLang === 'ar-AR'\r\n\t\t\t\t\t? properties['notif_cnt:arMessage']\r\n\t\t\t\t\t: properties['notif_cnt:enMessage']\r\n\t\t\t}}\r\n\t\t</p>\r\n\t\t<button\r\n\t\t\tclass=\"mat-icon-button\"\r\n\t\t\t[matMenuTriggerFor]=\"appMenu\"\r\n\t\t\tmat-icon-button\r\n\t\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t>\r\n\t\t\t<mat-icon class=\"mat-24\">more_horiz</mat-icon>\r\n\t\t</button>\r\n\t\t<span class=\"notification-item__date\">{{\r\n\t\t\tproperties['dc:created'] | timeAgo : currentLang\r\n\t\t}}</span>\r\n\t</div>\r\n\r\n\t<mat-menu\r\n\t\tclass=\"notification-item__actions\"\r\n\t\t#appMenu=\"matMenu\"\r\n\t\t[attr.dir.rtl]=\"currentLang === 'ar-AR'\"\r\n\t>\r\n\t\t<span\r\n\t\t\t(click)=\"closeMenu($event, appMenu)\"\r\n\t\t\t[attr.dir.rtl]=\"currentLang === 'ar-AR'\"\r\n\t\t>\r\n\t\t\t<button\r\n\t\t\t\t*ngIf=\"properties['notif_cnt:status'] == status.read\"\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t\t(click)=\"markAsUnread.emit(notification)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"mx-1\">{{ 'notifications.markAsUnread' | translate }}</span>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\t*ngIf=\"\r\n\t\t\t\t\tproperties['notif_cnt:status'] == status.new ||\r\n\t\t\t\t\tproperties['notif_cnt:status'] == status.unRead\r\n\t\t\t\t\"\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t\t(click)=\"markAsRead.emit(notification)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"mx-1\">{{ 'notifications.markAsRead' | translate }}</span>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tmat-menu-item\r\n\t\t\t\t(click)=\"markAsDeleted.emit(notification)\"\r\n\t\t\t\tclass=\"notification-item__actions__item\"\r\n\t\t\t>\r\n\t\t\t\t<span>{{ 'notifications.delete' | translate }}</span>\r\n\t\t\t</button>\r\n\t\t</span>\r\n\t</mat-menu>\r\n</div>\r\n", styles: [".notification-item{display:var(--n-item-display, grid);grid-template-columns:var(--n-item-columns, auto 1fr);grid-gap:var(--n-item-gap, .5rem);gap:var(--n-item-gap, .5rem);padding:var(--n-items-padding, .5rem 1rem);border:var(--n-item-border, solid #eee);border-width:var(--n-item-border-width, 0 0 1px 0);background:var(--n-item-background, transparent);min-height:var(--n-item-height, 85px);position:relative}.notification-item.new-item{--n-item-background: var(--n-status-new-color, #ecf8fe)}.notification-item.unread-item{--n-item-background: var(--n-status-unread-color, #ecf8fe)}.notification-item.unread-item:before{content:\"\";position:absolute;inset-inline-start:var(--n-item-unread-inline, 6px);inset-block-start:var(--n-item-unread-block, 6px);width:var(--n-item-unread-width, 8px);height:var(--n-item-unread-height, 8px);background:var(--n-item-unread-background, #39559d);border-radius:50%}.notification-item__icon{display:var(--n-item-icon-display, flex);align-items:var(--n-item-icon-align-items, center)}.notification-item__icon__wrapper{width:var(--n-item-icon-width, 56px);height:var(--n-item-icon-height, 56px);background:var(--n-item-icon-background, rgba(0, 0, 0, .025));color:var(--n-item-icon-color, #636363);font-size:var(--n-item-icon-size, 1.5rem);border-radius:var(--n-item-icon-radius, 50%);display:grid;place-items:center}.notification-item__content{display:var(--n-item-content-display, grid);grid-template-columns:var(--n-item-content-columns, 1fr auto);grid-gap:var(--n-item-gap, .2rem);gap:var(--n-item-gap, .2rem)}.notification-item__message{margin-bottom:0;font-size:var(--n-item-font-size, .9rem);color:var(--n-item-message-color)}.notification-item__date{font-size:var(--n-item-date-size, .8rem);text-align:var(--n-item-date-align, end);grid-column:var(--n-item-date-column, span 2);padding:var(--n-item-date-padding, 0 11px);color:var(--n-item-date-color)}.notification-item__actions{border-radius:var(--n-actions-radius, 4px);background:var(--n-actions-background, #fff);box-shadow:var(--n-actions-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notification-item__actions .mat-menu-content:not(:empty){padding:var(--n-actions--menu-padding, .5rem)}.notification-item__actions__item{text-align:var(--action-item-align, start)!important;background:var(--action-item-background, transparent)!important;color:var(--action-item-color, #28282d);padding:var(--action-item-padding, .4rem);height:var(--action-item-height, 38px);line-height:var(--action-item-line, 38px);border-radius:var(--action-item-radius, 4px);font-size:var(--action-item-size, 14px)}.notification-item__actions__item:hover{--action-item-background: var(--action-hover-background, #e6f7ff);--action-item-color: var(--action-hover-color, #005fdb)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "getIcon": GetIconPipe, "timeAgo": TimeAgoPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37318
37583
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationItemComponent, decorators: [{
37319
37584
  type: Component,
37320
37585
  args: [{
@@ -37624,7 +37889,7 @@ class NotificationSourceSelectComponent extends BaseNotification {
37624
37889
  }
37625
37890
  }
37626
37891
  NotificationSourceSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationSourceSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37627
- NotificationSourceSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationSourceSelectComponent, selector: "app-notification-source-select", outputs: { typeChanged: "typeChanged" }, usesInheritance: true, ngImport: i0, template: "<span [dir]=\"direction$ | async\" *ngIf=\"sourceTypes$ | async as sourceTypes\">\r\n <button\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"type-filter-trigger px-2\"\r\n [matMenuTriggerFor]=\"filterTypeMenu\"\r\n #filterTypeMenuTrigger=\"matMenuTrigger\"\r\n mat-stroked-button\r\n >\r\n <span>{{\r\n (selectedFilterType\r\n ? 'vocabulary.VOC_Notf_SourceTypes.' + selectedFilterType.properties.id\r\n : 'notifications.allTypes'\r\n ) | translate\r\n }}</span>\r\n <span class=\"icon icon-chevron-down\"></span>\r\n </button>\r\n <mat-menu class=\"source-type-select-menu\" #filterTypeMenu=\"matMenu\">\r\n <span (click)=\"$event.stopPropagation()\">\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n (click)=\"selectFilterType(null); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.all' | translate }}</span>\r\n </button>\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n *ngFor=\"let type of sourceTypes\"\r\n (click)=\"selectFilterType(type); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{\r\n 'vocabulary.VOC_Notf_SourceTypes.' + type?.properties.id | translate\r\n }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".source-type-select-menu{box-shadow:var(--source-type-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.source-type-select-menu .mat-menu-content:not(:empty){padding:var(--source-type-menu-padding, .5rem)}.source-type-select-menu__option{background:var(--source-type-option-background, transparent)!important;border-radius:var(--source-type-option-radius, 4px);font-size:var(--source-type-option-size, 14px);color:var(--source-type-option-color, #28282d);height:var(--source-type-option-height, 38px);line-height:var(--source-type-option-line-height, 38px)}.source-type-select-menu__option:hover{--source-type-option-background: var(--source-type-option-hover-background, #e6f7ff);--source-type-option-color: var(--source-type-option-hover-color, #005fdb)}.source-type-select-menu__option .mat-icon{color:currentColor}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37892
+ NotificationSourceSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationSourceSelectComponent, selector: "app-notification-source-select", outputs: { typeChanged: "typeChanged" }, usesInheritance: true, ngImport: i0, template: "<span [dir]=\"direction$ | async\" *ngIf=\"sourceTypes$ | async as sourceTypes\">\r\n <button\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"type-filter-trigger px-2\"\r\n [matMenuTriggerFor]=\"filterTypeMenu\"\r\n #filterTypeMenuTrigger=\"matMenuTrigger\"\r\n mat-stroked-button\r\n >\r\n <span>{{\r\n (selectedFilterType\r\n ? 'vocabulary.VOC_Notf_SourceTypes.' + selectedFilterType.properties.id\r\n : 'notifications.allTypes'\r\n ) | translate\r\n }}</span>\r\n <span class=\"icon icon-chevron-down\"></span>\r\n </button>\r\n <mat-menu class=\"source-type-select-menu\" #filterTypeMenu=\"matMenu\">\r\n <span (click)=\"$event.stopPropagation()\">\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n (click)=\"selectFilterType(null); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.all' | translate }}</span>\r\n </button>\r\n <button\r\n mat-menu-item\r\n class=\"source-type-select-menu__option\"\r\n *ngFor=\"let type of sourceTypes\"\r\n (click)=\"selectFilterType(type); filterTypeMenuTrigger.closed.emit()\"\r\n >\r\n <span>{{\r\n 'vocabulary.VOC_Notf_SourceTypes.' + type?.properties.id | translate\r\n }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".source-type-select-menu{box-shadow:var(--source-type-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.source-type-select-menu .mat-menu-content:not(:empty){padding:var(--source-type-menu-padding, .5rem)}.source-type-select-menu__option{background:var(--source-type-option-background, transparent)!important;border-radius:var(--source-type-option-radius, 4px);font-size:var(--source-type-option-size, 14px);color:var(--source-type-option-color, #28282d);height:var(--source-type-option-height, 38px);line-height:var(--source-type-option-line-height, 38px)}.source-type-select-menu__option:hover{--source-type-option-background: var(--source-type-option-hover-background, #e6f7ff);--source-type-option-color: var(--source-type-option-hover-color, #005fdb)}.source-type-select-menu__option .mat-icon{color:currentColor}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37628
37893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationSourceSelectComponent, decorators: [{
37629
37894
  type: Component,
37630
37895
  args: [{
@@ -37645,7 +37910,7 @@ class NotificationStatusToggleComponent {
37645
37910
  }
37646
37911
  }
37647
37912
  NotificationStatusToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationStatusToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37648
- NotificationStatusToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationStatusToggleComponent, selector: "app-notification-status-toggle", inputs: { status: "status" }, outputs: { statusChanged: "statusChanged" }, ngImport: i0, template: "<div class=\"notification-toggle\" (click)=\"$event.stopPropagation()\">\r\n <mat-slide-toggle [checked]=\"status\" (change)=\"statusChanged.emit($event)\">\r\n <small class=\"px-2\">{{ 'notifications.read' | translate }}</small>\r\n </mat-slide-toggle>\r\n</div>\r\n", styles: [":host{display:var(--n-status-toggle-display, flex);flex-direction:var(--n-status-toggle-direction, column);justify-content:var(--n-status-toggle-content, center)}:host ::ng-deep .mat-slide-toggle-label{margin-bottom:0}\n"], components: [{ type: i1$8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37913
+ NotificationStatusToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationStatusToggleComponent, selector: "app-notification-status-toggle", inputs: { status: "status" }, outputs: { statusChanged: "statusChanged" }, ngImport: i0, template: "<div class=\"notification-toggle\" (click)=\"$event.stopPropagation()\">\r\n <mat-slide-toggle [checked]=\"status\" (change)=\"statusChanged.emit($event)\">\r\n <small class=\"px-2\">{{ 'notifications.read' | translate }}</small>\r\n </mat-slide-toggle>\r\n</div>\r\n", styles: [":host{display:var(--n-status-toggle-display, flex);flex-direction:var(--n-status-toggle-direction, column);justify-content:var(--n-status-toggle-content, center)}:host ::ng-deep .mat-slide-toggle-label{margin-bottom:0}\n"], components: [{ type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37649
37914
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationStatusToggleComponent, decorators: [{
37650
37915
  type: Component,
37651
37916
  args: [{
@@ -38027,7 +38292,7 @@ class NotificationsDateSelectComponent extends BaseNotification {
38027
38292
  }
38028
38293
  }
38029
38294
  NotificationsDateSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsDateSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38030
- NotificationsDateSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsDateSelectComponent, selector: "app-notifications-date-select", outputs: { dateChanged: "dateChanged" }, usesInheritance: true, ngImport: i0, template: "<span [dir]=\"direction$ | async\">\r\n <button\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"date-select-button\"\r\n mat-stroked-button\r\n [matMenuTriggerFor]=\"datesMenu\"\r\n #filterTypeMenuTrigger=\"matMenuTrigger\"\r\n >\r\n <span>\r\n {{\r\n (selectedDate\r\n ? 'notifications.dates.' + selectedDate.key\r\n : 'notifications.dates.all'\r\n ) | translate\r\n }}\r\n </span>\r\n <span class=\"icon icon-chevron-down\"></span>\r\n </button>\r\n <mat-menu class=\"dates-select-menu\" #datesMenu=\"matMenu\">\r\n <span (click)=\"$event.stopPropagation()\">\r\n <button\r\n mat-menu-item\r\n class=\"dates-select-menu__option\"\r\n (click)=\"selectDate(null); datesMenu.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.dates.all' | translate }}</span>\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let date of dates\"\r\n class=\"dates-select-menu__option\"\r\n (click)=\"selectDate(date); datesMenu.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.dates.' + date.key | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".dates-select-menu{box-shadow:var(--dates-select-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.dates-select-menu .mat-menu-content:not(:empty){padding:var(--dates-select-menu-padding, .5rem)}.dates-select-menu__option{background:var(--dates-select-option-background, transparent)!important;border-radius:var(--dates-select-option-radius, 4px);font-size:var(--dates-select-option-size, 14px);color:var(--dates-select-option-color, #28282d);height:var(--dates-select-option-height, 38px);line-height:var(--dates-select-option-line-height, 38px)}.dates-select-menu__option:hover{--dates-select-option-background: var(--dates-select-option-hover-background, #e6f7ff);--dates-select-option-color: var(--dates-select-option-hover-color, #005fdb)}.dates-select-menu__option .mat-icon{color:currentColor}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38295
+ NotificationsDateSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsDateSelectComponent, selector: "app-notifications-date-select", outputs: { dateChanged: "dateChanged" }, usesInheritance: true, ngImport: i0, template: "<span [dir]=\"direction$ | async\">\r\n <button\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"date-select-button\"\r\n mat-stroked-button\r\n [matMenuTriggerFor]=\"datesMenu\"\r\n #filterTypeMenuTrigger=\"matMenuTrigger\"\r\n >\r\n <span>\r\n {{\r\n (selectedDate\r\n ? 'notifications.dates.' + selectedDate.key\r\n : 'notifications.dates.all'\r\n ) | translate\r\n }}\r\n </span>\r\n <span class=\"icon icon-chevron-down\"></span>\r\n </button>\r\n <mat-menu class=\"dates-select-menu\" #datesMenu=\"matMenu\">\r\n <span (click)=\"$event.stopPropagation()\">\r\n <button\r\n mat-menu-item\r\n class=\"dates-select-menu__option\"\r\n (click)=\"selectDate(null); datesMenu.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.dates.all' | translate }}</span>\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngFor=\"let date of dates\"\r\n class=\"dates-select-menu__option\"\r\n (click)=\"selectDate(date); datesMenu.closed.emit()\"\r\n >\r\n <span>{{ 'notifications.dates.' + date.key | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".dates-select-menu{box-shadow:var(--dates-select-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.dates-select-menu .mat-menu-content:not(:empty){padding:var(--dates-select-menu-padding, .5rem)}.dates-select-menu__option{background:var(--dates-select-option-background, transparent)!important;border-radius:var(--dates-select-option-radius, 4px);font-size:var(--dates-select-option-size, 14px);color:var(--dates-select-option-color, #28282d);height:var(--dates-select-option-height, 38px);line-height:var(--dates-select-option-line-height, 38px)}.dates-select-menu__option:hover{--dates-select-option-background: var(--dates-select-option-hover-background, #e6f7ff);--dates-select-option-color: var(--dates-select-option-hover-color, #005fdb)}.dates-select-menu__option .mat-icon{color:currentColor}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38031
38296
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsDateSelectComponent, decorators: [{
38032
38297
  type: Component,
38033
38298
  args: [{
@@ -38054,7 +38319,7 @@ class NotificationsListActionsComponent {
38054
38319
  }
38055
38320
  }
38056
38321
  NotificationsListActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsListActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38057
- NotificationsListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsListActionsComponent, selector: "app-notifications-list-actions", inputs: { options: "options", direction: "direction" }, outputs: { markAllAsRead: "markAllAsRead", openSettings: "openSettings", openNotifications: "openNotifications" }, ngImport: i0, template: "<span [dir]=\"direction\" *ngIf=\"options?.active\">\r\n <button\r\n [matMenuTriggerFor]=\"actions\"\r\n mat-icon-button\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu #actions=\"matMenu\" class=\"notifications-actions-menu\">\r\n <span (click)=\"closeMenu($event, actions)\">\r\n <button\r\n *ngIf=\"options.updateState\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"markAllAsRead.emit($event)\"\r\n >\r\n <mat-icon>done_all</mat-icon>\r\n <span>{{ 'notifications.markAllAsRead' | translate }}</span>\r\n </button>\r\n <button\r\n *ngIf=\"options.openSetting\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"openSettings.emit($event)\"\r\n >\r\n <mat-icon>tune</mat-icon>\r\n <span>{{ 'notifications.notificationSettings' | translate }}</span>\r\n </button>\r\n <button\r\n *ngIf=\"options.openNotification\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"openNotifications.emit($event)\"\r\n >\r\n <mat-icon>open_in_browser</mat-icon>\r\n <span>{{ 'notifications.openNotifications' | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".notifications-actions-menu{box-shadow:var(--n-actions-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notifications-actions-menu .mat-menu-content:not(:empty){padding:var(--n-actions-menu-padding, .5rem)}.notifications-actions-menu__action{background:var(--n-menu-action-background, transparent)!important;border-radius:var(--n-menu-action-radius, 4px);font-size:var(--n-menu-action-size, 14px);color:var(--n-menu-action-color, #28282d);height:var(--n-menu-action-height, 40px);line-height:var(--n-menu-action-line-height, 40px)}.notifications-actions-menu__action:hover{--n-menu-action-background: var(--n-menu-action-hover-background, #e6f7ff);--n-menu-action-color: var(--n-menu-action-hover-color, #005fdb)}.notifications-actions-menu__action .mat-icon{color:currentColor}\n"], components: [{ type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38322
+ NotificationsListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsListActionsComponent, selector: "app-notifications-list-actions", inputs: { options: "options", direction: "direction" }, outputs: { markAllAsRead: "markAllAsRead", openSettings: "openSettings", openNotifications: "openNotifications" }, ngImport: i0, template: "<span [dir]=\"direction\" *ngIf=\"options?.active\">\r\n <button\r\n [matMenuTriggerFor]=\"actions\"\r\n mat-icon-button\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu #actions=\"matMenu\" class=\"notifications-actions-menu\">\r\n <span (click)=\"closeMenu($event, actions)\">\r\n <button\r\n *ngIf=\"options.updateState\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"markAllAsRead.emit($event)\"\r\n >\r\n <mat-icon>done_all</mat-icon>\r\n <span>{{ 'notifications.markAllAsRead' | translate }}</span>\r\n </button>\r\n <button\r\n *ngIf=\"options.openSetting\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"openSettings.emit($event)\"\r\n >\r\n <mat-icon>tune</mat-icon>\r\n <span>{{ 'notifications.notificationSettings' | translate }}</span>\r\n </button>\r\n <button\r\n *ngIf=\"options.openNotification\"\r\n mat-menu-item\r\n class=\"notifications-actions-menu__action\"\r\n (click)=\"openNotifications.emit($event)\"\r\n >\r\n <mat-icon>open_in_browser</mat-icon>\r\n <span>{{ 'notifications.openNotifications' | translate }}</span>\r\n </button>\r\n </span>\r\n </mat-menu>\r\n</span>\r\n", styles: [".notifications-actions-menu{box-shadow:var(--n-actions-menu-shadow, 0px 1px 4px -1px rgba(28, 52, 84, .26))}.notifications-actions-menu .mat-menu-content:not(:empty){padding:var(--n-actions-menu-padding, .5rem)}.notifications-actions-menu__action{background:var(--n-menu-action-background, transparent)!important;border-radius:var(--n-menu-action-radius, 4px);font-size:var(--n-menu-action-size, 14px);color:var(--n-menu-action-color, #28282d);height:var(--n-menu-action-height, 40px);line-height:var(--n-menu-action-line-height, 40px)}.notifications-actions-menu__action:hover{--n-menu-action-background: var(--n-menu-action-hover-background, #e6f7ff);--n-menu-action-color: var(--n-menu-action-hover-color, #005fdb)}.notifications-actions-menu__action .mat-icon{color:currentColor}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], pipes: { "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38058
38323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsListActionsComponent, decorators: [{
38059
38324
  type: Component,
38060
38325
  args: [{
@@ -38716,7 +38981,7 @@ class NotificationsSettingsComponent extends BaseNotification {
38716
38981
  }
38717
38982
  }
38718
38983
  NotificationsSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsSettingsComponent, deps: [{ token: i0.Injector }, { token: TranslationService }, { token: i0.ChangeDetectorRef }, { token: CustomToastrService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component });
38719
- NotificationsSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsSettingsComponent, selector: "app-notifications-settings", inputs: { channel: "channel" }, outputs: { onSubscribe: "onSubscribe", onUnsubscribe: "onUnsubscribe" }, usesInheritance: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-4 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n<div *ngIf=\"settings$ | async as settings\" class=\"notifications-settings\">\r\n <ng-container *ngIf=\"!isLoadingResult && settings.definitions\">\r\n <div\r\n *ngFor=\"let group of settings.definitions | keyvalue\"\r\n class=\"notifications-settings__section notifications-settings__section--{{\r\n group.key\r\n }}\"\r\n >\r\n <div class=\"notifications-settings__section__title\">\r\n <mat-icon> tune </mat-icon>\r\n <strong> {{ 'vocabulary.VOC_Notf_SourceTypes.' + group.key | translate }}</strong>\r\n </div>\r\n <div class=\"notifications-settings__section__content\">\r\n <div *ngFor=\"let definition of group.value\" class=\"notifications-settings__group\">\r\n <mat-slide-toggle\r\n [name]=\"definition.title\"\r\n [checked]=\"\r\n definition.autoSubscription\r\n ? true\r\n : (definition | checkIfSubscribed : settings.subscriptions)\r\n \"\r\n class=\"notifications-settings__group__toggle\"\r\n [class.is-loading]=\"changingItemId === definition.uid\"\r\n [disabled]=\"definition.autoSubscription\"\r\n (change)=\"settingChanged(definition, $event)\"\r\n >\r\n </mat-slide-toggle>\r\n <span class=\"notifications-settings__group__title\"\r\n >{{ currentLang == 'ar' ? definition?.arTitle : definition?.enTitle }}\r\n </span>\r\n\r\n <p class=\"notifications-settings__group__description\">\r\n {{\r\n currentLang == 'ar' ? definition?.arDescription : definition?.enDescription\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".notifications-settings{padding:var(--notifications-settings-padding, 1rem 0)}.notifications-settings__section{border:var(--setting-section-border, 1px solid #f0f0f0);border-radius:var(--setting-section-radius, 6px);padding:var(--settings-section-padding, 1rem);margin-block:var(--settings-section-margin-block, 0 1.5rem);margin-inline:var(--settings-section-margin-inline, 0)}.notifications-settings__section__title{display:var(--setting-section-title-display, flex);align-items:var(--setting-section-title-items, center);grid-gap:var(--setting-section-title-gap, .5rem);gap:var(--setting-section-title-gap, .5rem);padding-block:var(--setting-section-title-padding-block, .5rem);border-bottom:var(--setting-section-title-border-bottom, 1px solid #f0f0f0);background:var(--setting-section-title-background, transparent);color:var(--setting-section-title-color, #2f258a)}.notifications-settings__section__content{padding-block:var(--setting-section-content-padding-block, 1rem 0);display:var(--setting-section-content-display, grid);grid-template-columns:var(--setting-section-content-columns, repeat(auto-fit, minmax(490px, 1fr)));grid-gap:var(--setting-section-content-gap, 1rem);gap:var(--setting-section-content-gap, 1rem)}.notifications-settings__group{display:var(--setting-group-display, grid);grid-template-columns:var(--setting-group-columns, auto 1fr);background:var(--setting-group-background, transparent);padding:var(--setting-group-padding, .2rem 0);grid-gap:var(--setting-group-gap, .1rem 1rem);gap:var(--setting-group-gap, .1rem 1rem)}.notifications-settings__group__toggle{order:var(--setting-toggle-order)}.notifications-settings__group__toggle.is-loading{--loading-color: var(--setting-toggle-loader-color, #9189dd36);opacity:.5}.notifications-settings__group__toggle.is-loading ::ng-deep{pointer-events:none}.notifications-settings__group__toggle.is-loading ::ng-deep .mat-slide-toggle-thumb{animation:animateLoader 1.5s linear infinite}.notifications-settings__group__toggle.is-loading ::ng-deep label{margin-bottom:0}.notifications-settings__group__description{color:var(--setting-option-description-color, #666);font-size:var(--setting-option-description-size, .8rem);grid-column:var(--setting-option-description-column, 2)}@keyframes animateLoader{0%{box-shadow:0 0 0 2px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 6px var(--loading-color),0 0 0 8px var(--loading-color)}50%{box-shadow:0 0 0 1px var(--loading-color),0 0 0 3px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 5px var(--loading-color),0 0 0 6px var(--loading-color)}to{box-shadow:0 0 0 2px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 6px var(--loading-color),0 0 0 8px var(--loading-color)}}\n"], components: [{ type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "keyvalue": i4$1.KeyValuePipe, "translate": i1.TranslatePipe, "checkIfSubscribed": CheckIfSubscribedPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38984
+ NotificationsSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsSettingsComponent, selector: "app-notifications-settings", inputs: { channel: "channel" }, outputs: { onSubscribe: "onSubscribe", onUnsubscribe: "onUnsubscribe" }, usesInheritance: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-4 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n<div *ngIf=\"settings$ | async as settings\" class=\"notifications-settings\">\r\n <ng-container *ngIf=\"!isLoadingResult && settings.definitions\">\r\n <div\r\n *ngFor=\"let group of settings.definitions | keyvalue\"\r\n class=\"notifications-settings__section notifications-settings__section--{{\r\n group.key\r\n }}\"\r\n >\r\n <div class=\"notifications-settings__section__title\">\r\n <mat-icon> tune </mat-icon>\r\n <strong> {{ 'vocabulary.VOC_Notf_SourceTypes.' + group.key | translate }}</strong>\r\n </div>\r\n <div class=\"notifications-settings__section__content\">\r\n <div *ngFor=\"let definition of group.value\" class=\"notifications-settings__group\">\r\n <mat-slide-toggle\r\n [name]=\"definition.title\"\r\n [checked]=\"\r\n definition.autoSubscription\r\n ? true\r\n : (definition | checkIfSubscribed : settings.subscriptions)\r\n \"\r\n class=\"notifications-settings__group__toggle\"\r\n [class.is-loading]=\"changingItemId === definition.uid\"\r\n [disabled]=\"definition.autoSubscription\"\r\n (change)=\"settingChanged(definition, $event)\"\r\n >\r\n </mat-slide-toggle>\r\n <span class=\"notifications-settings__group__title\"\r\n >{{ currentLang == 'ar' ? definition?.arTitle : definition?.enTitle }}\r\n </span>\r\n\r\n <p class=\"notifications-settings__group__description\">\r\n {{\r\n currentLang == 'ar' ? definition?.arDescription : definition?.enDescription\r\n }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".notifications-settings{padding:var(--notifications-settings-padding, 1rem 0)}.notifications-settings__section{border:var(--setting-section-border, 1px solid #f0f0f0);border-radius:var(--setting-section-radius, 6px);padding:var(--settings-section-padding, 1rem);margin-block:var(--settings-section-margin-block, 0 1.5rem);margin-inline:var(--settings-section-margin-inline, 0)}.notifications-settings__section__title{display:var(--setting-section-title-display, flex);align-items:var(--setting-section-title-items, center);grid-gap:var(--setting-section-title-gap, .5rem);gap:var(--setting-section-title-gap, .5rem);padding-block:var(--setting-section-title-padding-block, .5rem);border-bottom:var(--setting-section-title-border-bottom, 1px solid #f0f0f0);background:var(--setting-section-title-background, transparent);color:var(--setting-section-title-color, #2f258a)}.notifications-settings__section__content{padding-block:var(--setting-section-content-padding-block, 1rem 0);display:var(--setting-section-content-display, grid);grid-template-columns:var(--setting-section-content-columns, repeat(auto-fit, minmax(490px, 1fr)));grid-gap:var(--setting-section-content-gap, 1rem);gap:var(--setting-section-content-gap, 1rem)}.notifications-settings__group{display:var(--setting-group-display, grid);grid-template-columns:var(--setting-group-columns, auto 1fr);background:var(--setting-group-background, transparent);padding:var(--setting-group-padding, .2rem 0);grid-gap:var(--setting-group-gap, .1rem 1rem);gap:var(--setting-group-gap, .1rem 1rem)}.notifications-settings__group__toggle{order:var(--setting-toggle-order)}.notifications-settings__group__toggle.is-loading{--loading-color: var(--setting-toggle-loader-color, #9189dd36);opacity:.5}.notifications-settings__group__toggle.is-loading ::ng-deep{pointer-events:none}.notifications-settings__group__toggle.is-loading ::ng-deep .mat-slide-toggle-thumb{animation:animateLoader 1.5s linear infinite}.notifications-settings__group__toggle.is-loading ::ng-deep label{margin-bottom:0}.notifications-settings__group__description{color:var(--setting-option-description-color, #666);font-size:var(--setting-option-description-size, .8rem);grid-column:var(--setting-option-description-column, 2)}@keyframes animateLoader{0%{box-shadow:0 0 0 2px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 6px var(--loading-color),0 0 0 8px var(--loading-color)}50%{box-shadow:0 0 0 1px var(--loading-color),0 0 0 3px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 5px var(--loading-color),0 0 0 6px var(--loading-color)}to{box-shadow:0 0 0 2px var(--loading-color),0 0 0 4px var(--loading-color),0 0 0 6px var(--loading-color),0 0 0 8px var(--loading-color)}}\n"], components: [{ type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4$1.AsyncPipe, "keyvalue": i4$1.KeyValuePipe, "translate": i1.TranslatePipe, "checkIfSubscribed": CheckIfSubscribedPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38720
38985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsSettingsComponent, decorators: [{
38721
38986
  type: Component,
38722
38987
  args: [{
@@ -38775,7 +39040,7 @@ class NotificationsSettingsContainerComponent extends BaseNotification {
38775
39040
  }
38776
39041
  }
38777
39042
  NotificationsSettingsContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsSettingsContainerComponent, deps: [{ token: i0.Injector }, { token: TranslationService }, { token: i1$1.ToastrService }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
38778
- NotificationsSettingsContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsSettingsContainerComponent, selector: "app-notifications-settings-container", outputs: { onSubscribe: "onSubscribe", onUnsubscribe: "onUnsubscribe" }, usesInheritance: true, ngImport: i0, template: "<div class=\"notifications-settings\">\r\n <nav\r\n mat-tab-nav-bar\r\n *ngIf=\"channels$ | async as channels\"\r\n class=\"notifications-settings__links\"\r\n >\r\n <a\r\n *ngFor=\"let channel of channels\"\r\n mat-tab-link\r\n (click)=\"selectChannel(channel)\"\r\n [active]=\"selectedChannel?.id == channel.id\"\r\n class=\"notifications-settings__link\"\r\n >\r\n {{\r\n 'vocabulary.VOC_Notf_NotificationChannels.' + channel.properties.label | translate\r\n }}\r\n </a>\r\n </nav>\r\n\r\n <app-notifications-settings\r\n *ngIf=\"selectedChannel\"\r\n [channel]=\"selectedChannel\"\r\n (onSubscribe)=\"onSubscribe.emit($event)\"\r\n (onUnsubscribe)=\"onUnsubscribe.emit($event)\"\r\n ></app-notifications-settings>\r\n\r\n <div class=\"notifications-reset\">\r\n <h6 class=\"notifications-reset__title\">\r\n <mat-icon> restore </mat-icon>\r\n <strong>{{ 'notifications.resetToDefault.title' | translate }}</strong>\r\n </h6>\r\n <span class=\"notifications-reset__container\">\r\n <p class=\"notifications-reset__description\">\r\n {{ 'notifications.resetToDefault.description' | translate }}\r\n </p>\r\n <button\r\n mat-stroked-button\r\n class=\"notifications-reset__button\"\r\n (click)=\"resetSubscriptions()\"\r\n >\r\n <span class=\"px-4\"> {{ 'notifications.resetToDefault.reset' | translate }}</span>\r\n </button>\r\n </span>\r\n </div>\r\n</div>\r\n", styles: [".notifications-settings{--setting-color: var(--settings-main-color, #2f258a)}.notifications-settings__links{background:var(--set-links-background, transparent);border:var(--set-links-border, solid rgba(0, 0, 0, .12));border-width:var(--set-links-border-width, 0 0 1px 0)}.notifications-settings ::ng-deep .mat-ink-bar{height:var(--mat-ink-bar-height, 2px);display:var(--mat-ink-bar-display, unset);background-color:var(--mat-ink-bar-background, var(--setting-color))!important}.notifications-settings__link{background:var(--set-link-background, transparent);color:var(--set-link-color, rgba(0, 0, 0, .87));border-radius:var(--set-link-radius, 6px);opacity:1}.notifications-settings__link:hover{--set-link-color: var( --set-link-hover-color, var(--setting-color) );--set-link-background: var( --set-link-hover-background, rgba(221, 221, 221, .301) )}.notifications-settings__link.mat-tab-label-active{--set-link-color: var( --set-link-active-color, var(--setting-color) );--set-link-background: var(--set-link-active-background, transparent)}.notifications-reset{--border: var(--setting-section-border, 1px solid #f0f0f0);border:var(--border);border-radius:var(--setting-section-radius, 6px);padding:var(--settings-section-padding, 1rem)}.notifications-reset__title{color:var(--setting-section-title-color, var(--setting-color));display:flex;align-items:center;border-bottom:var(--border);grid-gap:.5rem;gap:.5rem;padding-bottom:1rem}.notifications-reset__container{padding-block:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center}\n"], components: [{ type: i1$c.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { type: NotificationsSettingsComponent, selector: "app-notifications-settings", inputs: ["channel"], outputs: ["onSubscribe", "onUnsubscribe"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$c.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
39043
+ NotificationsSettingsContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationsSettingsContainerComponent, selector: "app-notifications-settings-container", outputs: { onSubscribe: "onSubscribe", onUnsubscribe: "onUnsubscribe" }, usesInheritance: true, ngImport: i0, template: "<div class=\"notifications-settings\">\r\n <nav\r\n mat-tab-nav-bar\r\n *ngIf=\"channels$ | async as channels\"\r\n class=\"notifications-settings__links\"\r\n >\r\n <a\r\n *ngFor=\"let channel of channels\"\r\n mat-tab-link\r\n (click)=\"selectChannel(channel)\"\r\n [active]=\"selectedChannel?.id == channel.id\"\r\n class=\"notifications-settings__link\"\r\n >\r\n {{\r\n 'vocabulary.VOC_Notf_NotificationChannels.' + channel.properties.label | translate\r\n }}\r\n </a>\r\n </nav>\r\n\r\n <app-notifications-settings\r\n *ngIf=\"selectedChannel\"\r\n [channel]=\"selectedChannel\"\r\n (onSubscribe)=\"onSubscribe.emit($event)\"\r\n (onUnsubscribe)=\"onUnsubscribe.emit($event)\"\r\n ></app-notifications-settings>\r\n\r\n <div class=\"notifications-reset\">\r\n <h6 class=\"notifications-reset__title\">\r\n <mat-icon> restore </mat-icon>\r\n <strong>{{ 'notifications.resetToDefault.title' | translate }}</strong>\r\n </h6>\r\n <span class=\"notifications-reset__container\">\r\n <p class=\"notifications-reset__description\">\r\n {{ 'notifications.resetToDefault.description' | translate }}\r\n </p>\r\n <button\r\n mat-stroked-button\r\n class=\"notifications-reset__button\"\r\n (click)=\"resetSubscriptions()\"\r\n >\r\n <span class=\"px-4\"> {{ 'notifications.resetToDefault.reset' | translate }}</span>\r\n </button>\r\n </span>\r\n </div>\r\n</div>\r\n", styles: [".notifications-settings{--setting-color: var(--settings-main-color, #2f258a)}.notifications-settings__links{background:var(--set-links-background, transparent);border:var(--set-links-border, solid rgba(0, 0, 0, .12));border-width:var(--set-links-border-width, 0 0 1px 0)}.notifications-settings ::ng-deep .mat-ink-bar{height:var(--mat-ink-bar-height, 2px);display:var(--mat-ink-bar-display, unset);background-color:var(--mat-ink-bar-background, var(--setting-color))!important}.notifications-settings__link{background:var(--set-link-background, transparent);color:var(--set-link-color, rgba(0, 0, 0, .87));border-radius:var(--set-link-radius, 6px);opacity:1}.notifications-settings__link:hover{--set-link-color: var( --set-link-hover-color, var(--setting-color) );--set-link-background: var( --set-link-hover-background, rgba(221, 221, 221, .301) )}.notifications-settings__link.mat-tab-label-active{--set-link-color: var( --set-link-active-color, var(--setting-color) );--set-link-background: var(--set-link-active-background, transparent)}.notifications-reset{--border: var(--setting-section-border, 1px solid #f0f0f0);border:var(--border);border-radius:var(--setting-section-radius, 6px);padding:var(--settings-section-padding, 1rem)}.notifications-reset__title{color:var(--setting-section-title-color, var(--setting-color));display:flex;align-items:center;border-bottom:var(--border);grid-gap:.5rem;gap:.5rem;padding-bottom:1rem}.notifications-reset__container{padding-block:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center}\n"], components: [{ type: i1$d.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { type: NotificationsSettingsComponent, selector: "app-notifications-settings", inputs: ["channel"], outputs: ["onSubscribe", "onUnsubscribe"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$d.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38779
39044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsSettingsContainerComponent, decorators: [{
38780
39045
  type: Component,
38781
39046
  args: [{
@@ -39945,7 +40210,7 @@ class DataChartComponent extends BaseChartComponent {
39945
40210
  translatePrefix: this.translatePrefix,
39946
40211
  bindValue: this.bindValue
39947
40212
  });
39948
- this.chartData$ = this._rebuildTrigger$.pipe(filter$1(Boolean), switchMap((params) => this._preparedData(params)));
40213
+ this.chartData$ = this._rebuildTrigger$.pipe(switchMap((params) => this._preparedData(params)));
39949
40214
  this._subscribeToLanguage();
39950
40215
  }
39951
40216
  _subscribeToLanguage() {
@@ -40858,6 +41123,20 @@ class ChartDataTransformers {
40858
41123
  registerGraphTransformer(key, Transformer) {
40859
41124
  this.graphTransformers.set(key, Transformer);
40860
41125
  }
41126
+ /**
41127
+ * Gets all registered graph Transformers
41128
+ * @returns A map of all registered graph Transformers
41129
+ */
41130
+ getGraphTransformers() {
41131
+ return this.graphTransformers;
41132
+ }
41133
+ /**
41134
+ * Gets all registered digits Transformers
41135
+ * @returns A map of all registered digits Transformers
41136
+ */
41137
+ getDigitsTransformers() {
41138
+ return this.digitsTransformers;
41139
+ }
40861
41140
  /**
40862
41141
  * Gets a graph Transformer function by its key
40863
41142
  * @param key The unique identifier for the Transformer
@@ -41084,6 +41363,14 @@ class ChartPluginsRegistry {
41084
41363
  this._plugins.set(key, plugin);
41085
41364
  }
41086
41365
  }
41366
+ /**
41367
+ * Returns all registered chart plugins as a read-only map.
41368
+ *
41369
+ * @returns {ReadonlyMap<string, Plugin<ChartType>>} A map of plugin keys to plugin instances.
41370
+ */
41371
+ getAll() {
41372
+ return this._plugins;
41373
+ }
41087
41374
  /**
41088
41375
  * Check if a plugin exists with the given key
41089
41376
  * @param key The plugin key to check
@@ -42113,6 +42400,8 @@ class NdfReportsComponent extends DestroySubject {
42113
42400
  this._reportDetailsSubject = new BehaviorSubject(null);
42114
42401
  this.reportDetails$ = this._reportDetailsSubject.asObservable();
42115
42402
  this.isDetailsOpened = false;
42403
+ this.jsonEditorEnabled = false;
42404
+ this.editorType = NDF_EDITOR_TYPE.REPORTS;
42116
42405
  this.navigateRoute = [];
42117
42406
  this.onQueryChange = new EventEmitter();
42118
42407
  this.trackByFn = (_, report) => {
@@ -42277,7 +42566,7 @@ class NdfReportsComponent extends DestroySubject {
42277
42566
  }
42278
42567
  }
42279
42568
  NdfReportsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, deps: [{ token: i1.TranslateService }, { token: FiltersMapperService }, { token: NdfReportsService }, { token: ChartManagerService }, { token: ReportTransformService }, { token: i0.ChangeDetectorRef }, { token: FilterQueryService }, { token: ReportsStateService }, { token: i1$5.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
42280
- NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"reports?.response?.aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[class.col-small]=\"config?.layout?.width === 'small'\"\r\n\t\t\t\t[class.col-medium]=\"config?.layout?.width === 'medium'\"\r\n\t\t\t\t[class.col-half]=\"config?.layout?.width === 'half'\"\r\n\t\t\t\t[class.col-wide]=\"config?.layout?.width === 'wide'\"\r\n\t\t\t\t[class.col-extra-wide]=\"config?.layout?.width === 'extra'\"\r\n\t\t\t\t[class.col-full]=\"config?.layout?.width === 'full'\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }}\"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-table-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 6;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}@media screen{.reports-grid__item{grid-column:var(--col-span, span var(--grid-column, 2));grid-row:span var(--row-span, 1);grid-template-rows:subgrid}}.reports-grid__item.col-small{--col-span: var(--col-small-span, span 1)}.reports-grid__item.col-medium{--col-span: var(--col-medium-span, span 2)}.reports-grid__item.col-half{--col-span: var(--col-half-span, span 3)}.reports-grid__item.col-wide{--col-span: var(--col-wide-span, span 4)}.reports-grid__item.col-extra-wide{--col-span: var(--col-extra-wide-span, span 5)}.reports-grid__item.col-full{--col-span: 1 / -1}@media screen and (max-width: 1200px){.reports-grid{--col-span: span 1;--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-extra-wide-span: 1 / -1;--col-wide-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 2}}@media screen and (max-width: 776px){.reports-grid{--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 1}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$b.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
42569
+ NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"reports?.response?.aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[class.col-small]=\"config?.layout?.width === 'small'\"\r\n\t\t\t\t[class.col-medium]=\"config?.layout?.width === 'medium'\"\r\n\t\t\t\t[class.col-half]=\"config?.layout?.width === 'half'\"\r\n\t\t\t\t[class.col-wide]=\"config?.layout?.width === 'wide'\"\r\n\t\t\t\t[class.col-extra-wide]=\"config?.layout?.width === 'extra'\"\r\n\t\t\t\t[class.col-full]=\"config?.layout?.width === 'full'\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }}\"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 6;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}@media screen{.reports-grid__item{grid-column:var(--col-span, span var(--grid-column, 2));grid-row:span var(--row-span, 1);grid-template-rows:subgrid}}.reports-grid__item.col-small{--col-span: var(--col-small-span, span 1)}.reports-grid__item.col-medium{--col-span: var(--col-medium-span, span 2)}.reports-grid__item.col-half{--col-span: var(--col-half-span, span 3)}.reports-grid__item.col-wide{--col-span: var(--col-wide-span, span 4)}.reports-grid__item.col-extra-wide{--col-span: var(--col-extra-wide-span, span 5)}.reports-grid__item.col-full{--col-span: 1 / -1}@media screen and (max-width: 1200px){.reports-grid{--col-span: span 1;--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-extra-wide-span: 1 / -1;--col-wide-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 2}}@media screen and (max-width: 776px){.reports-grid{--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 1}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
42281
42570
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, decorators: [{
42282
42571
  type: Component,
42283
42572
  args: [{
@@ -42293,6 +42582,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
42293
42582
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: FiltersMapperService }, { type: NdfReportsService }, { type: ChartManagerService }, { type: ReportTransformService }, { type: i0.ChangeDetectorRef }, { type: FilterQueryService }, { type: ReportsStateService }, { type: i1$5.Router }, { type: i0.NgZone }]; }, propDecorators: { fluidDirective: [{
42294
42583
  type: ViewChild,
42295
42584
  args: [FluidHeightDirective]
42585
+ }], jsonEditorEnabled: [{
42586
+ type: Input
42587
+ }], reportsKey: [{
42588
+ type: Input
42296
42589
  }], navigateRoute: [{
42297
42590
  type: Input
42298
42591
  }], config: [{
@@ -42338,7 +42631,9 @@ NdfReportsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
42338
42631
  FiltersPanelModule,
42339
42632
  MatProgressSpinnerModule,
42340
42633
  NuxeoDialogModule,
42341
- NdfTableModule], exports: [NdfReportsComponent, NdfReportComponent] });
42634
+ NdfTableModule,
42635
+ DirectiveModule,
42636
+ EditorNavigateButton], exports: [NdfReportsComponent, NdfReportComponent] });
42342
42637
  NdfReportsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsModule, imports: [[
42343
42638
  CommonModule,
42344
42639
  TranslateModule,
@@ -42355,7 +42650,9 @@ NdfReportsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
42355
42650
  FiltersPanelModule,
42356
42651
  MatProgressSpinnerModule,
42357
42652
  NuxeoDialogModule,
42358
- NdfTableModule
42653
+ NdfTableModule,
42654
+ DirectiveModule,
42655
+ EditorNavigateButton
42359
42656
  ]] });
42360
42657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsModule, decorators: [{
42361
42658
  type: NgModule,
@@ -42377,12 +42674,2053 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
42377
42674
  FiltersPanelModule,
42378
42675
  MatProgressSpinnerModule,
42379
42676
  NuxeoDialogModule,
42380
- NdfTableModule
42677
+ NdfTableModule,
42678
+ DirectiveModule,
42679
+ EditorNavigateButton
42381
42680
  ],
42382
42681
  exports: [CONTAINERS]
42383
42682
  }]
42384
42683
  }] });
42385
42684
 
42685
+ const TABLE_DATA = {
42686
+ options: {
42687
+ columns: {
42688
+ toggle: true,
42689
+ sortable: {
42690
+ enabled: true,
42691
+ },
42692
+ },
42693
+ filters: {
42694
+ mode: 'payload',
42695
+ reload: {
42696
+ strategy: 'always',
42697
+ },
42698
+ panel: {
42699
+ visible: true,
42700
+ toggleButton: true,
42701
+ },
42702
+ fields: [
42703
+ {
42704
+ type: 'aggregation',
42705
+ config: {
42706
+ label: 'rmAdvancedSearch.recDefintionSystemName',
42707
+ aggregation: 'RecordDefinition_systemName_agg',
42708
+ fieldKey: 'recdef:systemName',
42709
+ dataTransformer: 'system',
42710
+ order: 0,
42711
+ sendMode: 'queryParam',
42712
+ render: {
42713
+ type: 'checkbox',
42714
+ options: {
42715
+ showTotal: true,
42716
+ },
42717
+ },
42718
+ },
42719
+ },
42720
+ {
42721
+ type: 'aggregation',
42722
+ config: {
42723
+ label: 'rmAdvancedSearch.gdocCategoryHierarchyCode',
42724
+ aggregation: 'generaldocument_categoryHierarchyCode_agg',
42725
+ fieldKey: 'gdoc:categoryHierarchyCode',
42726
+ dataTransformer: 'subject',
42727
+ order: 0,
42728
+ sendMode: 'queryParam',
42729
+ valueType: 'property',
42730
+ render: {
42731
+ type: 'checkbox',
42732
+ options: {
42733
+ showTotal: true,
42734
+ },
42735
+ },
42736
+ },
42737
+ },
42738
+ {
42739
+ type: 'aggregation',
42740
+ config: {
42741
+ label: 'rmAdvancedSearch.gdocCategoryHierarchyCode1',
42742
+ aggregation: 'generaldocument_categoryHierarchyCode_1_agg',
42743
+ fieldKey: 'gdoc:categoryHierarchyCode__1',
42744
+ order: 0,
42745
+ sendMode: 'queryParam',
42746
+ valueType: 'property',
42747
+ dataTransformer: 'subject',
42748
+ render: {
42749
+ type: 'checkbox',
42750
+ options: {
42751
+ showTotal: true,
42752
+ collapse: true,
42753
+ },
42754
+ },
42755
+ },
42756
+ },
42757
+ {
42758
+ type: 'aggregation',
42759
+ config: {
42760
+ label: 'rmAdvancedSearch.gdocDocumentTypeCode',
42761
+ aggregation: 'generaldocument_documentTypeCode_agg',
42762
+ fieldKey: 'gdoc:documentTypeCode',
42763
+ dataTransformer: 'documentTypee',
42764
+ sendMode: 'queryParam',
42765
+ render: {
42766
+ type: 'checkbox',
42767
+ options: {
42768
+ showTotal: true,
42769
+ filter: true,
42770
+ sort: true,
42771
+ collapse: true,
42772
+ },
42773
+ },
42774
+ },
42775
+ },
42776
+ {
42777
+ type: 'predicate',
42778
+ config: {
42779
+ label: 'FILTERS.gdocDocumentSubject',
42780
+ fieldKey: 'gdoc:documentSubject',
42781
+ sendMode: 'payload',
42782
+ valueType: 'valueObject',
42783
+ render: {
42784
+ type: 'input',
42785
+ options: {
42786
+ delay: 300,
42787
+ suffix: {
42788
+ dropdown: {
42789
+ items: [
42790
+ {
42791
+ key: 'OPERATORS.equals',
42792
+ value: '=',
42793
+ },
42794
+ {
42795
+ key: 'OPERATORS.notEquals',
42796
+ value: '!=',
42797
+ },
42798
+ {
42799
+ key: 'OPERATORS.like',
42800
+ value: 'LIKE',
42801
+ },
42802
+ {
42803
+ key: 'OPERATORS.iLike',
42804
+ value: 'ILIKE',
42805
+ },
42806
+ ],
42807
+ },
42808
+ },
42809
+ },
42810
+ },
42811
+ },
42812
+ },
42813
+ {
42814
+ type: 'predicate',
42815
+ config: {
42816
+ label: 'FILTERS.dcTitle',
42817
+ fieldKey: 'dc:title',
42818
+ sendMode: 'payload',
42819
+ valueType: 'valueObject',
42820
+ render: {
42821
+ type: 'input',
42822
+ options: {
42823
+ delay: 300,
42824
+ suffix: {
42825
+ dropdown: {
42826
+ items: [
42827
+ {
42828
+ key: 'OPERATORS.equals',
42829
+ value: '=',
42830
+ },
42831
+ {
42832
+ key: 'OPERATORS.notEquals',
42833
+ value: '!=',
42834
+ },
42835
+ {
42836
+ key: 'OPERATORS.like',
42837
+ value: 'LIKE',
42838
+ },
42839
+ {
42840
+ key: 'OPERATORS.iLike',
42841
+ value: 'ILIKE',
42842
+ },
42843
+ ],
42844
+ },
42845
+ },
42846
+ },
42847
+ },
42848
+ },
42849
+ },
42850
+ {
42851
+ type: 'predicate',
42852
+ config: {
42853
+ label: 'FILTERS.documentNumber',
42854
+ fieldKey: 'gdoc:documentReferenceNumber',
42855
+ sendMode: 'payload',
42856
+ valueType: 'valueObject',
42857
+ render: {
42858
+ type: 'input',
42859
+ options: {
42860
+ debounceTime: 300,
42861
+ suffix: {
42862
+ dropdown: {
42863
+ items: [
42864
+ {
42865
+ key: 'OPERATORS.equals',
42866
+ value: '=',
42867
+ },
42868
+ {
42869
+ key: 'OPERATORS.notEquals',
42870
+ value: '!=',
42871
+ },
42872
+ {
42873
+ key: 'OPERATORS.like',
42874
+ value: 'LIKE',
42875
+ },
42876
+ {
42877
+ key: 'OPERATORS.iLike',
42878
+ value: 'ILIKE',
42879
+ },
42880
+ ],
42881
+ },
42882
+ },
42883
+ },
42884
+ },
42885
+ },
42886
+ },
42887
+ {
42888
+ type: 'predicate',
42889
+ config: {
42890
+ label: 'FILTERS.recUnifiedNumber',
42891
+ fieldKey: 'recdef:unifiedNumber',
42892
+ sendMode: 'payload',
42893
+ valueType: 'valueObject',
42894
+ render: {
42895
+ type: 'input',
42896
+ options: {
42897
+ delay: 300,
42898
+ suffix: {
42899
+ dropdown: {
42900
+ items: [
42901
+ {
42902
+ key: 'OPERATORS.equals',
42903
+ value: '=',
42904
+ },
42905
+ {
42906
+ key: 'OPERATORS.notEquals',
42907
+ value: '!=',
42908
+ },
42909
+ {
42910
+ key: 'OPERATORS.like',
42911
+ value: 'LIKE',
42912
+ },
42913
+ {
42914
+ key: 'OPERATORS.iLike',
42915
+ value: 'ILIKE',
42916
+ },
42917
+ ],
42918
+ },
42919
+ },
42920
+ },
42921
+ },
42922
+ },
42923
+ },
42924
+ {
42925
+ type: 'aggregation',
42926
+ config: {
42927
+ label: 'FILTERS.recPhysicalOriginal',
42928
+ aggregation: 'RecordDefinition_physicalOriginal_agg',
42929
+ fieldKey: 'recdef:physicalOriginal',
42930
+ prefix: 'FILTERS.BUCKETS.physicalOriginal.',
42931
+ sendMode: 'queryParam',
42932
+ render: {
42933
+ type: 'checkbox',
42934
+ options: {
42935
+ showTotal: true,
42936
+ },
42937
+ },
42938
+ },
42939
+ },
42940
+ {
42941
+ type: 'aggregation',
42942
+ config: {
42943
+ label: 'rmAdvancedSearch.gdocSecrecyLevel',
42944
+ aggregation: 'generaldocument_secrecyLevel_agg',
42945
+ fieldKey: 'gdoc:secrecyLevel',
42946
+ prefix: 'search.buckets.',
42947
+ sendMode: 'queryParam',
42948
+ render: {
42949
+ type: 'checkbox',
42950
+ options: {
42951
+ showTotal: true,
42952
+ },
42953
+ },
42954
+ },
42955
+ },
42956
+ {
42957
+ type: 'predicate',
42958
+ config: {
42959
+ label: 'FILTERS.tags',
42960
+ fieldKey: 'ecm:tag',
42961
+ sendMode: 'payload',
42962
+ valueType: 'valueObject',
42963
+ render: {
42964
+ type: 'input',
42965
+ options: {
42966
+ delay: 300,
42967
+ suffix: {
42968
+ dropdown: {
42969
+ items: [
42970
+ {
42971
+ key: 'OPERATORS.equals',
42972
+ value: '=',
42973
+ },
42974
+ {
42975
+ key: 'OPERATORS.notEquals',
42976
+ value: '!=',
42977
+ },
42978
+ {
42979
+ key: 'OPERATORS.like',
42980
+ value: 'LIKE',
42981
+ },
42982
+ {
42983
+ key: 'OPERATORS.iLike',
42984
+ value: 'ILIKE',
42985
+ },
42986
+ ],
42987
+ },
42988
+ },
42989
+ },
42990
+ },
42991
+ },
42992
+ },
42993
+ {
42994
+ type: 'aggregation',
42995
+ config: {
42996
+ label: 'FILTERS.priority',
42997
+ aggregation: 'generaldocument_importance_agg',
42998
+ fieldKey: 'gdoc:importance',
42999
+ prefix: 'search.buckets.',
43000
+ sendMode: 'queryParam',
43001
+ render: {
43002
+ type: 'checkbox',
43003
+ options: {
43004
+ showTotal: true,
43005
+ },
43006
+ },
43007
+ },
43008
+ },
43009
+ {
43010
+ type: 'aggregation',
43011
+ config: {
43012
+ label: 'FILTERS.dcCreated',
43013
+ aggregation: 'dublincore_created_agg',
43014
+ fieldKey: 'dc:created',
43015
+ prefix: 'search.buckets.',
43016
+ sendMode: 'queryParam',
43017
+ tooltip: {
43018
+ type: 'date',
43019
+ properties: {
43020
+ from: 'from',
43021
+ to: 'to',
43022
+ },
43023
+ },
43024
+ render: {
43025
+ type: 'checkbox',
43026
+ options: {
43027
+ showTotal: true,
43028
+ },
43029
+ },
43030
+ },
43031
+ },
43032
+ {
43033
+ type: 'aggregation',
43034
+ config: {
43035
+ label: 'rmAdvancedSearch.gdocGDocumentDate',
43036
+ aggregation: 'generaldocument_gDocumentDate_agg',
43037
+ fieldKey: 'gdoc:gDocumentDate',
43038
+ prefix: 'search.buckets.',
43039
+ sendMode: 'custom',
43040
+ valueType: 'valueObject',
43041
+ render: {
43042
+ type: 'dateList',
43043
+ view: 'list',
43044
+ options: {
43045
+ showTotal: true,
43046
+ minMax: true,
43047
+ },
43048
+ },
43049
+ },
43050
+ },
43051
+ {
43052
+ type: 'aggregation',
43053
+ config: {
43054
+ label: 'rmAdvancedSearch.saveTypee',
43055
+ aggregation: 'RetentionInfo_saveTypee_agg',
43056
+ fieldKey: 'retentioninfo:saveTypee',
43057
+ prefix: 'FILTERS.BUCKETS.physicalOriginal.',
43058
+ sendMode: 'queryParam',
43059
+ render: {
43060
+ type: 'checkbox',
43061
+ options: {
43062
+ showTotal: true,
43063
+ },
43064
+ },
43065
+ },
43066
+ },
43067
+ {
43068
+ type: 'aggregation',
43069
+ config: {
43070
+ label: 'rmAdvancedSearch.retentionPlan',
43071
+ aggregation: 'RetentionInfo_status_agg',
43072
+ fieldKey: 'retentioninfo:status',
43073
+ prefix: 'FILTERS.BUCKETS.physicalOriginal.',
43074
+ sendMode: 'queryParam',
43075
+ render: {
43076
+ type: 'checkbox',
43077
+ options: {
43078
+ showTotal: true,
43079
+ },
43080
+ },
43081
+ },
43082
+ },
43083
+ {
43084
+ type: 'aggregation',
43085
+ config: {
43086
+ label: 'FILTERS.startDateActiveRetention',
43087
+ aggregation: 'RetentionInfo_activeRetentionStartDateHijri_agg',
43088
+ fieldKey: 'retentioninfo:activeRetentionStartDateHijri',
43089
+ prefix: 'search.buckets.',
43090
+ sendMode: 'queryParam',
43091
+ permission: 'hasRoleOnArchiveOrLoan',
43092
+ tooltip: {
43093
+ type: 'date',
43094
+ properties: {
43095
+ from: 'from',
43096
+ to: 'to',
43097
+ },
43098
+ },
43099
+ render: {
43100
+ type: 'checkbox',
43101
+ options: {
43102
+ showTotal: true,
43103
+ },
43104
+ },
43105
+ },
43106
+ },
43107
+ {
43108
+ type: 'aggregation',
43109
+ config: {
43110
+ label: 'FILTERS.endDateActiveRetention',
43111
+ aggregation: 'RetentionInfo_activeRetentionEndDateHijri_agg',
43112
+ fieldKey: 'retentioninfo:activeRetentionEndDateHijri',
43113
+ prefix: 'search.buckets.',
43114
+ sendMode: 'queryParam',
43115
+ permission: 'hasRoleOnArchiveOrLoan',
43116
+ tooltip: {
43117
+ type: 'date',
43118
+ properties: {
43119
+ from: 'from',
43120
+ to: 'to',
43121
+ },
43122
+ },
43123
+ render: {
43124
+ type: 'checkbox',
43125
+ options: {
43126
+ showTotal: true,
43127
+ },
43128
+ },
43129
+ },
43130
+ },
43131
+ {
43132
+ type: 'aggregation',
43133
+ config: {
43134
+ label: 'FILTERS.endDateRetention',
43135
+ aggregation: 'RetentionInfo_retentionEndDateHijri_agg',
43136
+ fieldKey: 'retentioninfo:retentionEndDateHijri',
43137
+ prefix: 'search.buckets.',
43138
+ sendMode: 'queryParam',
43139
+ permission: 'hasRoleOnArchiveOrLoan',
43140
+ tooltip: {
43141
+ type: 'date',
43142
+ properties: {
43143
+ from: 'from',
43144
+ to: 'to',
43145
+ },
43146
+ },
43147
+ render: {
43148
+ type: 'checkbox',
43149
+ options: {
43150
+ showTotal: true,
43151
+ },
43152
+ },
43153
+ },
43154
+ },
43155
+ {
43156
+ type: 'aggregation',
43157
+ config: {
43158
+ label: 'rmAdvancedSearch.locationReference_site_agg',
43159
+ aggregation: 'LocationReferenceSchema_site_agg',
43160
+ permission: 'hasRoleOnArchiveOrLoan',
43161
+ fieldKey: 'locRef:site',
43162
+ order: 0,
43163
+ sendMode: 'queryParam',
43164
+ valueType: 'property',
43165
+ dataTransformer: 'site',
43166
+ render: {
43167
+ type: 'checkbox',
43168
+ options: {
43169
+ showTotal: true,
43170
+ },
43171
+ },
43172
+ },
43173
+ },
43174
+ {
43175
+ type: 'aggregation',
43176
+ config: {
43177
+ label: 'rmAdvancedSearch.locationReference_store_agg',
43178
+ aggregation: 'LocationReferenceSchema_store_agg',
43179
+ fieldKey: 'locRef:store',
43180
+ permission: 'hasRoleOnArchiveOrLoan',
43181
+ order: 0,
43182
+ sendMode: 'queryParam',
43183
+ valueType: 'property',
43184
+ dataTransformer: 'store',
43185
+ render: {
43186
+ type: 'checkbox',
43187
+ options: {
43188
+ showTotal: true,
43189
+ },
43190
+ },
43191
+ },
43192
+ },
43193
+ {
43194
+ type: 'predicate',
43195
+ config: {
43196
+ label: 'rmAdvancedSearch.locationReference_box',
43197
+ fieldKey: 'locRef:boxCode',
43198
+ permission: 'hasRoleOnArchiveOrLoan',
43199
+ sendMode: 'payload',
43200
+ valueType: 'valueObject',
43201
+ render: {
43202
+ type: 'input',
43203
+ options: {
43204
+ debounceTime: 400,
43205
+ mask: {
43206
+ mask: '00-00-00-00-000',
43207
+ dropSpecialCharacters: false,
43208
+ showMaskTyped: true,
43209
+ },
43210
+ suffix: {
43211
+ dropdown: {
43212
+ items: [
43213
+ {
43214
+ key: 'OPERATORS.equals',
43215
+ value: '=',
43216
+ },
43217
+ {
43218
+ key: 'OPERATORS.notEquals',
43219
+ value: '!=',
43220
+ },
43221
+ {
43222
+ key: 'OPERATORS.like',
43223
+ value: 'LIKE',
43224
+ },
43225
+ {
43226
+ key: 'OPERATORS.iLike',
43227
+ value: 'ILIKE',
43228
+ },
43229
+ ],
43230
+ },
43231
+ },
43232
+ },
43233
+ },
43234
+ },
43235
+ },
43236
+ ],
43237
+ },
43238
+ search: {
43239
+ fieldKey: 'ecm:fulltext',
43240
+ searchMode: 'triggered',
43241
+ suffix: {
43242
+ dialog: {
43243
+ title: 'INFO.dialogTitle',
43244
+ content: [
43245
+ '##INFO.query_sequence##',
43246
+ '##INFO.query_and##',
43247
+ '##INFO.query_negation##',
43248
+ '##INFO.query_prefix##',
43249
+ '##INFO.query_historical##',
43250
+ '##INFO.query_or##',
43251
+ '##INFO.query_phrase##',
43252
+ ],
43253
+ },
43254
+ },
43255
+ },
43256
+ tableMode: {
43257
+ mode: 'list',
43258
+ componentName: 'rms.components.advancedSearchCard',
43259
+ toggleMode: true,
43260
+ availableMode: [
43261
+ {
43262
+ value: 'list',
43263
+ icon: 'table_rows',
43264
+ },
43265
+ {
43266
+ value: 'custom',
43267
+ icon: 'rectangle',
43268
+ },
43269
+ ],
43270
+ },
43271
+ },
43272
+ scrollbarH: true,
43273
+ pageNumber: 1,
43274
+ pageSize: 10,
43275
+ prefix: 'LISTING.',
43276
+ pageProvider: 'PP_RM_Record',
43277
+ customUrl: {
43278
+ url: '/api/v1/custom-search/pp/PP_RM_Record/execute',
43279
+ method: 'POST',
43280
+ },
43281
+ headers: {
43282
+ properties: 'dublincore, file, generaldocument, RecordDefinition,RetentionInfo, LocationReferenceSchema, facetedTag',
43283
+ },
43284
+ quickFilters: 'After Archiving',
43285
+ fullWidth: 'auto',
43286
+ fields: {
43287
+ systemName: 'recdef:systemName',
43288
+ categoryHierarchyCode: 'gdoc:categoryHierarchyCode',
43289
+ docTypee: 'gdoc:documentTypeCode',
43290
+ subject: 'gdoc:documentSubject',
43291
+ title: 'dc:title',
43292
+ docNum: 'gdoc:documentReferenceNumber',
43293
+ unifiedNumber: 'recdef:unifiedNumber',
43294
+ physicalOriginal: 'recdef:physicalOriginal',
43295
+ secrecyLevel: 'gdoc:secrecyLevel',
43296
+ tags: 'ecm:tag',
43297
+ importance: 'gdoc:importance',
43298
+ created: 'dc:created',
43299
+ gdocumentDate: 'gdoc:gDocumentDate',
43300
+ saveTypee: 'retentioninfo:saveTypee',
43301
+ retentioninfoStatus: 'retentioninfo:status',
43302
+ activeRetentionStartDateHijri: 'retentioninfo:activeRetentionStartDateHijri',
43303
+ activeRetentionEndDateHijri: 'retentioninfo:activeRetentionEndDateHijri',
43304
+ retentionEndDateHijri: 'retentioninfo:retentionEndDateHijri',
43305
+ site: 'locRef:site',
43306
+ store: 'locRef:store',
43307
+ box: 'locRef:boxCode',
43308
+ file: 'file:content',
43309
+ },
43310
+ columns: [
43311
+ {
43312
+ name: 'systemName',
43313
+ prop: 'properties.systemName',
43314
+ display: true,
43315
+ type: 'custom',
43316
+ template: 'common.components.systemName',
43317
+ translatePrefix: 'search.buckets',
43318
+ isOrginalKey: true,
43319
+ sortable: false,
43320
+ headerClass: 'recdef:systemName',
43321
+ defaultVisible: true,
43322
+ minWidth: 150,
43323
+ },
43324
+ {
43325
+ name: 'categoryHierarchyCode',
43326
+ prop: 'properties.categoryHierarchyCode',
43327
+ display: true,
43328
+ type: 'custom',
43329
+ template: 'rms.components.mainAndSecondaryCategory',
43330
+ mainCategory: true,
43331
+ sortable: true,
43332
+ headerClass: 'gdoc:categoryHierarchyCode',
43333
+ defaultVisible: true,
43334
+ },
43335
+ {
43336
+ name: 'categoryHierarchyCode1',
43337
+ prop: 'properties.categoryHierarchyCode',
43338
+ display: true,
43339
+ type: 'custom',
43340
+ template: 'rms.components.mainAndSecondaryCategory',
43341
+ mainCategory: false,
43342
+ sortable: true,
43343
+ headerClass: 'gdoc:categoryHierarchyCode',
43344
+ defaultVisible: true,
43345
+ },
43346
+ {
43347
+ name: 'Doc_Type',
43348
+ prop: 'properties.docTypee',
43349
+ display: true,
43350
+ template: 'common.components.documentType',
43351
+ type: 'custom',
43352
+ headerClass: 'gdoc:documentTypeCode',
43353
+ defaultVisible: true,
43354
+ },
43355
+ {
43356
+ name: 'Doc_subject',
43357
+ prop: 'properties.subject',
43358
+ display: true,
43359
+ type: 'text',
43360
+ headerClass: 'gdoc:documentSubject',
43361
+ defaultVisible: true,
43362
+ },
43363
+ {
43364
+ name: 'Doc_Name',
43365
+ prop: 'properties.title',
43366
+ display: true,
43367
+ type: 'custom',
43368
+ template: 'common.components.titleWithIcon',
43369
+ sortable: true,
43370
+ headerClass: 'dc:title',
43371
+ defaultVisible: false,
43372
+ },
43373
+ {
43374
+ name: 'Doc_RefernceNum',
43375
+ prop: 'properties.docNum',
43376
+ display: true,
43377
+ type: 'text',
43378
+ sortable: true,
43379
+ headerClass: 'gdoc:documentReferenceNumber',
43380
+ defaultVisible: true,
43381
+ },
43382
+ {
43383
+ name: 'unifiedNumber',
43384
+ prop: 'properties.unifiedNumber',
43385
+ display: true,
43386
+ type: 'text',
43387
+ sortable: true,
43388
+ headerClass: 'recdef:unifiedNumber',
43389
+ defaultVisible: true,
43390
+ },
43391
+ {
43392
+ name: 'physicalOriginal',
43393
+ prop: 'properties.physicalOriginal',
43394
+ display: true,
43395
+ type: 'custom',
43396
+ template: 'rms.components.TranslatedValueColumn',
43397
+ translatePrefix: 'rmDocumentUpload.hasPhysicalOriginal',
43398
+ isBooleanValue: true,
43399
+ sortable: false,
43400
+ headerClass: 'recdef:physicalOriginal',
43401
+ defaultVisible: false,
43402
+ minWidth: 150,
43403
+ },
43404
+ {
43405
+ name: 'secrecyLevel',
43406
+ prop: 'properties.secrecyLevel',
43407
+ display: true,
43408
+ type: 'custom',
43409
+ template: 'common.components.coloredSecrecyLevel',
43410
+ headerClass: 'gdoc:secrecyLevel',
43411
+ defaultVisible: true,
43412
+ minWidth: 150,
43413
+ },
43414
+ {
43415
+ name: 'tags',
43416
+ prop: 'properties.tags',
43417
+ display: true,
43418
+ type: 'custom',
43419
+ template: 'common.components.tags',
43420
+ translatePrefix: 'search.buckets',
43421
+ isOrginalKey: true,
43422
+ sortable: false,
43423
+ headerClass: 'ecm:tag',
43424
+ defaultVisible: false,
43425
+ minWidth: 150,
43426
+ },
43427
+ {
43428
+ name: 'importance',
43429
+ prop: 'properties.importance',
43430
+ display: true,
43431
+ translatePrefix: 'search.buckets',
43432
+ type: 'custom',
43433
+ template: 'rms.components.TranslatedValueColumn',
43434
+ sortable: true,
43435
+ isOrginalKey: true,
43436
+ headerClass: 'gdoc:importance',
43437
+ defaultVisible: false,
43438
+ },
43439
+ {
43440
+ name: 'date_created',
43441
+ prop: 'properties.created',
43442
+ display: true,
43443
+ type: 'custom',
43444
+ template: 'common.components.dateWithoutTime',
43445
+ headerClass: 'dc:created',
43446
+ defaultVisible: false,
43447
+ minWidth: 150,
43448
+ },
43449
+ {
43450
+ name: 'docDate',
43451
+ prop: 'properties.gdocumentDate',
43452
+ display: true,
43453
+ type: 'custom',
43454
+ template: 'common.components.dateWithoutTime',
43455
+ headerClass: 'gdoc:gDocumentDate',
43456
+ defaultVisible: false,
43457
+ },
43458
+ {
43459
+ name: 'retentionType',
43460
+ prop: 'properties.saveTypee',
43461
+ display: true,
43462
+ translatePrefix: 'search.buckets',
43463
+ type: 'custom',
43464
+ template: 'rms.components.TranslatedValueColumn',
43465
+ headerClass: 'retentioninfo:saveTypee',
43466
+ defaultVisible: false,
43467
+ },
43468
+ {
43469
+ name: 'retentioninfoStatus',
43470
+ prop: 'properties.retentioninfoStatus',
43471
+ display: true,
43472
+ translatePrefix: 'search.buckets',
43473
+ type: 'custom',
43474
+ template: 'rms.components.TranslatedValueColumn',
43475
+ headerClass: 'retentioninfo:status',
43476
+ defaultVisible: false,
43477
+ },
43478
+ {
43479
+ name: 'activeRetentionStartDateHijri',
43480
+ prop: 'properties.activeRetentionStartDateHijri',
43481
+ display: false,
43482
+ type: 'custom',
43483
+ template: 'common.components.hijri',
43484
+ headerClass: 'retentioninfo:activeRetentionStartDateHijri',
43485
+ defaultVisible: false,
43486
+ },
43487
+ {
43488
+ name: 'activeRetentionEndDateHijri',
43489
+ prop: 'properties.activeRetentionEndDateHijri',
43490
+ display: false,
43491
+ type: 'custom',
43492
+ template: 'common.components.hijri',
43493
+ headerClass: 'retentioninfo:activeRetentionEndDateHijri',
43494
+ defaultVisible: false,
43495
+ },
43496
+ {
43497
+ name: 'retentionEndDateHijri',
43498
+ prop: 'properties.retentionEndDateHijri',
43499
+ display: false,
43500
+ type: 'custom',
43501
+ template: 'common.components.hijri',
43502
+ headerClass: 'retentioninfo:retentionEndDateHijri',
43503
+ defaultVisible: true,
43504
+ },
43505
+ {
43506
+ name: 'site',
43507
+ prop: 'properties.site',
43508
+ display: false,
43509
+ type: 'custom',
43510
+ template: 'common.components.site',
43511
+ headerClass: 'locRef:site',
43512
+ defaultVisible: true,
43513
+ },
43514
+ {
43515
+ name: 'store',
43516
+ prop: 'properties.store',
43517
+ display: false,
43518
+ type: 'custom',
43519
+ template: 'common.components.store',
43520
+ headerClass: 'locRef:store',
43521
+ defaultVisible: true,
43522
+ },
43523
+ {
43524
+ name: 'Box',
43525
+ prop: 'properties.box',
43526
+ display: false,
43527
+ type: 'custom',
43528
+ template: 'common.components.box',
43529
+ headerClass: 'locRef:boxCode',
43530
+ defaultVisible: true,
43531
+ },
43532
+ ],
43533
+ columnsWithDynamicDisplay: [
43534
+ 'activeRetentionStartDateHijri',
43535
+ 'activeRetentionEndDateHijri',
43536
+ 'retentionEndDateHijri',
43537
+ 'site',
43538
+ 'store',
43539
+ 'Box',
43540
+ ],
43541
+ };
43542
+ const REPORTS_DATA = {
43543
+ request: {
43544
+ pageProvider: 'PP_RPT_Expected_TransferArchive_Records',
43545
+ customUrl: {
43546
+ url: '/custom-search/pp/PP_RPT_Expected_TransferArchive_Records/execute',
43547
+ method: 'post',
43548
+ },
43549
+ params: {
43550
+ pageSize: 1,
43551
+ },
43552
+ },
43553
+ filters: {
43554
+ mode: 'payload',
43555
+ visible: true,
43556
+ togglePanel: true,
43557
+ fields: [
43558
+ {
43559
+ type: 'aggregation',
43560
+ config: {
43561
+ label: 'rmAdvancedSearch.gdocCategoryHierarchyCode',
43562
+ aggregation: 'generaldocument_categoryHierarchyCode_agg',
43563
+ fieldKey: 'gdoc:categoryHierarchyCode',
43564
+ dataTransformer: 'subject',
43565
+ order: 0,
43566
+ sendMode: 'queryParam',
43567
+ valueType: 'property',
43568
+ render: {
43569
+ type: 'checkbox',
43570
+ options: {
43571
+ showTotal: true,
43572
+ },
43573
+ },
43574
+ },
43575
+ },
43576
+ {
43577
+ type: 'aggregation',
43578
+ config: {
43579
+ label: 'rmAdvancedSearch.gdocCategoryHierarchyCode1',
43580
+ aggregation: 'generaldocument_categoryHierarchyCode_1_agg',
43581
+ fieldKey: 'gdoc:categoryHierarchyCode__1',
43582
+ order: 0,
43583
+ sendMode: 'queryParam',
43584
+ valueType: 'property',
43585
+ dataTransformer: 'subject',
43586
+ render: {
43587
+ type: 'checkbox',
43588
+ options: {
43589
+ showTotal: true,
43590
+ collapse: true,
43591
+ },
43592
+ },
43593
+ },
43594
+ },
43595
+ ],
43596
+ },
43597
+ reports: {
43598
+ details: {
43599
+ enabled: true,
43600
+ prefix: 'LISTING.',
43601
+ // quickFilters: 'After Archiving',
43602
+ columnsOptions: {
43603
+ toggle: true,
43604
+ sortable: {
43605
+ enabled: true,
43606
+ },
43607
+ },
43608
+ request: {
43609
+ headers: {
43610
+ properties: 'dublincore, file, generaldocument, RecordDefinition,retentioninfo',
43611
+ },
43612
+ },
43613
+ fields: {
43614
+ title: 'dc:title',
43615
+ subject: 'gdoc:documentSubject',
43616
+ docTypee: 'gdoc:documentTypeCode',
43617
+ secrecyLevel: 'gdoc:secrecyLevel',
43618
+ docTypeId: 'documenttypee:documentTypeId',
43619
+ created: 'dc:created',
43620
+ department: 'department',
43621
+ file: 'file:content',
43622
+ systemName: 'recdef:systemName',
43623
+ docNum: 'gdoc:documentReferenceNumber',
43624
+ physicalOriginal: 'recdef:physicalOriginal',
43625
+ gdocumentDate: 'gdoc:gDocumentDate',
43626
+ importance: 'gdoc:importance',
43627
+ unifiedNumber: 'recdef:unifiedNumber',
43628
+ creator: 'dc:creator',
43629
+ saveTypee: 'retentioninfo:saveTypee',
43630
+ },
43631
+ columns: [
43632
+ {
43633
+ name: 'Doc_Name',
43634
+ prop: 'properties.title',
43635
+ display: true,
43636
+ type: 'custom',
43637
+ template: 'common.components.titleWithIcon',
43638
+ sortable: true,
43639
+ headerClass: 'dc:title',
43640
+ defaultVisible: true,
43641
+ },
43642
+ {
43643
+ name: 'systemName',
43644
+ prop: 'properties.systemName',
43645
+ display: true,
43646
+ type: 'custom',
43647
+ template: 'common.components.systemName',
43648
+ translatePrefix: 'search.buckets',
43649
+ isOrginalKey: true,
43650
+ sortable: false,
43651
+ headerClass: 'recdef:systemName',
43652
+ defaultVisible: true,
43653
+ },
43654
+ {
43655
+ name: 'Doc_RefernceNum',
43656
+ prop: 'properties.docNum',
43657
+ display: true,
43658
+ type: 'text',
43659
+ sortable: true,
43660
+ headerClass: 'gdoc:documentReferenceNumber',
43661
+ defaultVisible: true,
43662
+ },
43663
+ {
43664
+ name: 'Doc_Type',
43665
+ prop: 'properties.docTypee',
43666
+ display: true,
43667
+ template: 'common.components.documentType',
43668
+ type: 'custom',
43669
+ headerClass: 'gdoc:documentTypeCode',
43670
+ defaultVisible: false,
43671
+ },
43672
+ {
43673
+ name: 'retentionType',
43674
+ prop: 'properties.saveTypee',
43675
+ display: true,
43676
+ type: 'text',
43677
+ translatePrefix: 'vocabulary.VOC_SaveType',
43678
+ headerClass: 'retentioninfo:saveTypee',
43679
+ defaultVisible: false,
43680
+ },
43681
+ {
43682
+ name: 'physicalOriginal',
43683
+ prop: 'properties.physicalOriginal',
43684
+ display: true,
43685
+ type: 'custom',
43686
+ template: 'rms.components.TranslatedValueColumn',
43687
+ translatePrefix: 'rmDocumentUpload.hasPhysicalOriginal',
43688
+ isBooleanValue: true,
43689
+ sortable: false,
43690
+ headerClass: 'recdef:physicalOriginal',
43691
+ defaultVisible: false,
43692
+ },
43693
+ {
43694
+ name: 'mainTopic',
43695
+ prop: 'properties.subject',
43696
+ display: true,
43697
+ type: 'text',
43698
+ headerClass: 'gdoc:documentSubject',
43699
+ defaultVisible: false,
43700
+ },
43701
+ {
43702
+ name: 'docDate',
43703
+ prop: 'properties.gdocumentDate',
43704
+ display: true,
43705
+ type: 'custom',
43706
+ template: 'common.components.dateWithoutTime',
43707
+ headerClass: 'gdoc:gDocumentDate',
43708
+ defaultVisible: true,
43709
+ },
43710
+ {
43711
+ name: 'secrecyLevel',
43712
+ prop: 'properties.secrecyLevel',
43713
+ display: true,
43714
+ type: 'custom',
43715
+ template: 'common.components.coloredSecrecyLevel',
43716
+ headerClass: 'gdoc:secrecyLevel',
43717
+ defaultVisible: true,
43718
+ },
43719
+ {
43720
+ name: 'importance',
43721
+ prop: 'properties.importance',
43722
+ display: true,
43723
+ translatePrefix: 'search.buckets',
43724
+ type: 'custom',
43725
+ template: 'rms.components.TranslatedValueColumn',
43726
+ sortable: true,
43727
+ isOrginalKey: true,
43728
+ headerClass: 'gdoc:importance',
43729
+ },
43730
+ {
43731
+ name: 'unifiedNumber',
43732
+ prop: 'properties.unifiedNumber',
43733
+ display: true,
43734
+ type: 'text',
43735
+ sortable: true,
43736
+ headerClass: 'recdef:unifiedNumber',
43737
+ },
43738
+ {
43739
+ name: 'docDate',
43740
+ prop: 'properties.created',
43741
+ display: true,
43742
+ type: 'custom',
43743
+ template: 'common.components.dateWithoutTime',
43744
+ headerClass: 'dc:created',
43745
+ defaultVisible: false,
43746
+ },
43747
+ {
43748
+ name: 'creator',
43749
+ prop: 'properties.creator',
43750
+ display: true,
43751
+ type: 'text',
43752
+ sortable: true,
43753
+ headerClass: 'dc:creator',
43754
+ defaultVisible: false,
43755
+ },
43756
+ {
43757
+ name: 'documentType',
43758
+ prop: 'properties.docTypeId',
43759
+ display: true,
43760
+ type: 'custom',
43761
+ template: 'common.components.documentType',
43762
+ headerClass: 'gdoc:documentTypeCode',
43763
+ defaultVisible: false,
43764
+ },
43765
+ {
43766
+ name: 'orgUnit',
43767
+ prop: 'department.title',
43768
+ display: true,
43769
+ type: 'custom',
43770
+ template: 'common.components.departement',
43771
+ headerClass: 'recdef:departmentCode',
43772
+ sortable: false,
43773
+ defaultVisible: false,
43774
+ },
43775
+ ],
43776
+ },
43777
+ items: [
43778
+ {
43779
+ id: 'resultsCount',
43780
+ label: 'REPORTS.resultsCount',
43781
+ mode: 'digit',
43782
+ datasource: {
43783
+ propertyPath: 'resultsCount',
43784
+ },
43785
+ },
43786
+ {
43787
+ id: 'future__gdocCategoryHierarchyCode',
43788
+ label: 'REPORTS.gdocCategoryHierarchyCode',
43789
+ mode: 'graph',
43790
+ print: true,
43791
+ dialog: {
43792
+ active: true,
43793
+ },
43794
+ details: {
43795
+ enabled: true,
43796
+ },
43797
+ datasource: [
43798
+ {
43799
+ propertyPath: 'aggregations.generaldocument_categoryHierarchyCode_agg.buckets',
43800
+ dataFormat: 'subject',
43801
+ transformer: 'reduceData',
43802
+ },
43803
+ ],
43804
+ chart: {
43805
+ type: 'pie',
43806
+ plugins: [
43807
+ 'chartDataLabels',
43808
+ 'scrollableLegends',
43809
+ 'doughnutEmptyState',
43810
+ ],
43811
+ },
43812
+ },
43813
+ {
43814
+ id: 'future__generaldocument_categoryHierarchyCode_1_agg',
43815
+ label: 'REPORTS.gdocCategoryHierarchyCode1',
43816
+ mode: 'graph',
43817
+ print: true,
43818
+ dialog: {
43819
+ active: true,
43820
+ },
43821
+ details: {
43822
+ enabled: true,
43823
+ },
43824
+ datasource: [
43825
+ {
43826
+ propertyPath: 'aggregations.generaldocument_categoryHierarchyCode_1_agg.buckets',
43827
+ dataFormat: 'subject',
43828
+ transformer: 'reduceData',
43829
+ },
43830
+ ],
43831
+ chart: {
43832
+ type: 'doughnut',
43833
+ plugins: [
43834
+ 'chartDataLabels',
43835
+ 'scrollableLegends',
43836
+ 'doughnutEmptyState',
43837
+ ],
43838
+ },
43839
+ },
43840
+ {
43841
+ id: 'future__generaldocument_secrecyLevel_agg',
43842
+ label: 'REPORTS.gdocSecrecyLevel',
43843
+ mode: 'graph',
43844
+ print: true,
43845
+ dialog: {
43846
+ active: true,
43847
+ },
43848
+ prefix: 'search.buckets.',
43849
+ details: {
43850
+ enabled: true,
43851
+ },
43852
+ datasource: [
43853
+ {
43854
+ propertyPath: 'aggregations.generaldocument_secrecyLevel_agg.buckets',
43855
+ transformer: 'reduceData',
43856
+ },
43857
+ ],
43858
+ chart: {
43859
+ type: 'bar',
43860
+ options: {
43861
+ indexAxis: 'y',
43862
+ responsive: true,
43863
+ maintainAspectRatio: false,
43864
+ scales: {
43865
+ x: {
43866
+ ticks: {
43867
+ stepSize: 1,
43868
+ },
43869
+ grid: {
43870
+ color: '#eee',
43871
+ },
43872
+ },
43873
+ y: {
43874
+ ticks: {
43875
+ precision: 0,
43876
+ stepSize: 1,
43877
+ color: '#000',
43878
+ crossAlign: 'far',
43879
+ callback: function (_, index) {
43880
+ const label = `${this.getLabels()[index]}`;
43881
+ const maxLength = 18;
43882
+ return (label === null || label === void 0 ? void 0 : label.length) > maxLength
43883
+ ? label.substring(0, maxLength) + '...'
43884
+ : label;
43885
+ },
43886
+ },
43887
+ grid: {
43888
+ color: '#000',
43889
+ },
43890
+ },
43891
+ },
43892
+ plugins: {
43893
+ legend: {
43894
+ display: false,
43895
+ },
43896
+ },
43897
+ },
43898
+ plugins: [
43899
+ 'chartDataLabels',
43900
+ 'scrollableLegends',
43901
+ 'doughnutEmptyState',
43902
+ ],
43903
+ },
43904
+ },
43905
+ {
43906
+ id: 'future__RetentionInfo_saveTypee_agg',
43907
+ label: 'REPORTS.rinfoSaveTypee',
43908
+ mode: 'graph',
43909
+ print: true,
43910
+ prefix: 'search.buckets.',
43911
+ details: {
43912
+ enabled: true,
43913
+ },
43914
+ datasource: [
43915
+ {
43916
+ propertyPath: 'aggregations.RetentionInfo_saveTypee_agg.buckets',
43917
+ transformer: 'reduceData',
43918
+ },
43919
+ ],
43920
+ chart: {
43921
+ type: 'pie',
43922
+ plugins: [
43923
+ 'chartDataLabels',
43924
+ 'scrollableLegends',
43925
+ 'doughnutEmptyState',
43926
+ ],
43927
+ },
43928
+ },
43929
+ {
43930
+ mode: 'dynamicLine',
43931
+ id: 'late_RetentionInfo_activeRetentionExpireDate_agg',
43932
+ label: 'REPORTS.expectedTransferDate',
43933
+ print: true,
43934
+ dialog: {
43935
+ active: true,
43936
+ },
43937
+ details: {
43938
+ enabled: true,
43939
+ },
43940
+ request: {
43941
+ pageProvider: 'PP_RPT_Expected_TransferArchive_Records',
43942
+ customUrl: {
43943
+ url: '/custom-search/pp/PP_RPT_Expected_TransferArchive_Records/execute',
43944
+ method: 'post',
43945
+ },
43946
+ },
43947
+ datasource: [
43948
+ {
43949
+ aggregation: 'RetentionInfo_activeRetentionExpireDate_agg',
43950
+ propertyPath: 'aggregations.RetentionInfo_activeRetentionExpireDate_agg.buckets',
43951
+ transformer: 'removeTime',
43952
+ },
43953
+ ],
43954
+ chart: {
43955
+ type: 'line',
43956
+ options: {
43957
+ layout: {
43958
+ padding: {
43959
+ right: 40,
43960
+ left: 40,
43961
+ },
43962
+ },
43963
+ },
43964
+ datasets: [
43965
+ {
43966
+ borderWidth: 2,
43967
+ borderColor: '#000',
43968
+ pointBorderWidth: 0,
43969
+ pointBackgroundColor: '#000',
43970
+ },
43971
+ ],
43972
+ },
43973
+ },
43974
+ {
43975
+ id: 'future__RecordDefinition_systemName_agg',
43976
+ label: 'REPORTS.rdSystemName',
43977
+ mode: 'graph',
43978
+ print: true,
43979
+ dialog: {
43980
+ active: true,
43981
+ },
43982
+ prefix: 'search.buckets.',
43983
+ details: {
43984
+ enabled: true,
43985
+ },
43986
+ datasource: [
43987
+ {
43988
+ propertyPath: 'aggregations.RecordDefinition_systemName_agg.buckets',
43989
+ transformer: 'reduceData',
43990
+ },
43991
+ ],
43992
+ chart: {
43993
+ type: 'bar',
43994
+ direction: 'vertical',
43995
+ plugins: [
43996
+ 'chartDataLabels',
43997
+ 'scrollableLegends',
43998
+ 'doughnutEmptyState',
43999
+ ],
44000
+ },
44001
+ },
44002
+ ],
44003
+ },
44004
+ };
44005
+
44006
+ class DataAccessService extends BaseService {
44007
+ getData(key, type) {
44008
+ if (type == NDF_EDITOR_TYPE.REPORTS) {
44009
+ return of(JSON.stringify(REPORTS_DATA, null, 2));
44010
+ }
44011
+ return of(JSON.stringify(TABLE_DATA, null, 2));
44012
+ }
44013
+ saveData(key, data) {
44014
+ return of(JSON.stringify(TABLE_DATA, null, 2));
44015
+ }
44016
+ }
44017
+ DataAccessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44018
+ DataAccessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, providedIn: 'root' });
44019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataAccessService, decorators: [{
44020
+ type: Injectable,
44021
+ args: [{
44022
+ providedIn: 'root'
44023
+ }]
44024
+ }] });
44025
+
44026
+ class DataStoreService {
44027
+ constructor(dataAccessService) {
44028
+ this.dataAccessService = dataAccessService;
44029
+ this._editorTypeSubject = new BehaviorSubject(NDF_EDITOR_TYPE.TABLES);
44030
+ this.editorType$ = this._editorTypeSubject.asObservable();
44031
+ this._editorModeSubject = new BehaviorSubject(CONFIG_EDITOR_MODE.EDIT);
44032
+ this.editorMode$ = this._editorModeSubject.asObservable();
44033
+ this._dataSubject = new BehaviorSubject('{\n"key": "value"\n}');
44034
+ this.editorData$ = this._dataSubject.asObservable();
44035
+ this.previewData$ = this._dataSubject.asObservable().pipe(map((result) => JSON.parse(result)));
44036
+ }
44037
+ get editorMode() {
44038
+ return this._editorModeSubject.getValue();
44039
+ }
44040
+ get type() {
44041
+ return this._editorTypeSubject.getValue();
44042
+ }
44043
+ get editorData() {
44044
+ return this._dataSubject.getValue();
44045
+ }
44046
+ changeMode(mode) {
44047
+ this._editorModeSubject.next(mode);
44048
+ }
44049
+ changeEditorType(type) {
44050
+ this._editorTypeSubject.next(type);
44051
+ }
44052
+ getData(key, type) {
44053
+ return this.dataAccessService.getData(key, type).pipe(switchMap((data) => {
44054
+ this._dataSubject.next(data);
44055
+ return this.editorData$;
44056
+ }));
44057
+ }
44058
+ saveData(key) {
44059
+ const data = this._dataSubject.getValue();
44060
+ return this.dataAccessService.saveData(key, data);
44061
+ }
44062
+ storeData(data) {
44063
+ this._dataSubject.next(data);
44064
+ }
44065
+ }
44066
+ DataStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, deps: [{ token: DataAccessService }], target: i0.ɵɵFactoryTarget.Injectable });
44067
+ DataStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService });
44068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DataStoreService, decorators: [{
44069
+ type: Injectable
44070
+ }], ctorParameters: function () { return [{ type: DataAccessService }]; } });
44071
+
44072
+ // monaco-loader.service.ts
44073
+ class MonacoLoaderService {
44074
+ constructor() {
44075
+ this.loaded = false;
44076
+ }
44077
+ load(baseUrl = window.location.origin) {
44078
+ const _vsUrl = window.location.origin + baseUrl + '/assets/monaco-editor/min/vs';
44079
+ if (this.loaded)
44080
+ return this.loadPromise;
44081
+ this.loaded = true;
44082
+ this.loadPromise = new Promise((resolve) => {
44083
+ // If already available
44084
+ if (window.monaco) {
44085
+ resolve(window.monaco);
44086
+ return;
44087
+ }
44088
+ const onAmdLoader = () => {
44089
+ window.require.config({ paths: { vs: _vsUrl } });
44090
+ // Set the worker URL to the correct path
44091
+ /*window.monaco.editor?.setWorkerOptions({
44092
+ // Make sure the worker path points to the correct location
44093
+ baseUrl: `${baseUrl}/worker/`
44094
+ });*/
44095
+ window.require(['vs/editor/editor.main'], () => {
44096
+ resolve(window.monaco);
44097
+ });
44098
+ };
44099
+ // Load AMD loader if needed
44100
+ if (!window.require) {
44101
+ const loaderScript = document.createElement('script');
44102
+ loaderScript.type = 'text/javascript';
44103
+ loaderScript.src = `${_vsUrl}/loader.js`;
44104
+ loaderScript.onload = onAmdLoader;
44105
+ document.body.appendChild(loaderScript);
44106
+ }
44107
+ else {
44108
+ onAmdLoader();
44109
+ }
44110
+ });
44111
+ return this.loadPromise;
44112
+ }
44113
+ }
44114
+ MonacoLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
44115
+ MonacoLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, providedIn: 'root' });
44116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoLoaderService, decorators: [{
44117
+ type: Injectable,
44118
+ args: [{ providedIn: 'root' }]
44119
+ }] });
44120
+
44121
+ class EditorModeSwitchComponent {
44122
+ constructor() {
44123
+ this.changeMode = new EventEmitter();
44124
+ this.modes = CONFIG_EDITOR_MODE;
44125
+ }
44126
+ ngOnInit() { }
44127
+ onModeChange(mode) {
44128
+ this.changeMode.emit(mode.value);
44129
+ }
44130
+ }
44131
+ EditorModeSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44132
+ EditorModeSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorModeSwitchComponent, selector: "app-editor-mode-switch", inputs: { mode: "mode" }, outputs: { changeMode: "changeMode" }, ngImport: i0, template: `
44133
+ <mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
44134
+ <mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
44135
+ >{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
44136
+ </mat-button-toggle>
44137
+ </mat-button-toggle-group>
44138
+ `, isInline: true, styles: [""], components: [{ type: i1$b.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i1$b.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyvalue": i4$1.KeyValuePipe, "translate": i1.TranslatePipe, "lowercase": i4$1.LowerCasePipe } });
44139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorModeSwitchComponent, decorators: [{
44140
+ type: Component,
44141
+ args: [{
44142
+ selector: 'app-editor-mode-switch',
44143
+ template: `
44144
+ <mat-button-toggle-group [value]="mode" (change)="onModeChange($event)">
44145
+ <mat-button-toggle *ngFor="let mod of modes | keyvalue" [value]="mod.value"
44146
+ >{{ 'JSON_EDITOR.MODES.' + (mod.key | lowercase) | translate }}
44147
+ </mat-button-toggle>
44148
+ </mat-button-toggle-group>
44149
+ `,
44150
+ styles: ['']
44151
+ }]
44152
+ }], ctorParameters: function () { return []; }, propDecorators: { mode: [{
44153
+ type: Input
44154
+ }], changeMode: [{
44155
+ type: Output
44156
+ }] } });
44157
+
44158
+ class InfoDialogComponent extends BaseDialogComponent {
44159
+ constructor() {
44160
+ super(...arguments);
44161
+ this.baseAppUrl = this._injector.get(APP_BASE_HREF);
44162
+ }
44163
+ ngOnInit() {
44164
+ this.docUrl = this.baseAppUrl + this.dialogData.url;
44165
+ }
44166
+ }
44167
+ InfoDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44168
+ InfoDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: InfoDialogComponent, selector: "app-info-dialog", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog [dialogTitle]=\"dialogData.title | translate\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<markdown class=\"markdown-content\" [src]=\"docUrl\"> </markdown>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\"> </ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: ["::ng-deep .markdown-content{direction:var(--markdown-direction, ltr)!important;text-align:start;color:var(--markdonw-text-color, inherit);background:var(--markdonw-background-color, transparent);border:var(--markdonw-border, 0px solid transparent);border-radius:var(--markdonw-border-radius, 0)}::ng-deep .markdown-content code,::ng-deep .markdown-content kbd,::ng-deep .markdown-content samp,::ng-deep .markdown-content pre{font-family:ui-monospace,SFMono-Regular,Consolas,\"Liberation Mono\",Menlo,monospace;font-size:1em}::ng-deep .markdown-content hr{margin-block:1rem}::ng-deep .markdown-content table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums;margin-block:.5rem}::ng-deep .markdown-content table tr{border-top:1px solid var(--markdonw-table-tr-border-color, #d1d9e0b3)}::ng-deep .markdown-content table th,::ng-deep .markdown-content table td{padding:6px 13px;border:1px solid var(--markdonw-table-border-color, #d1d9e0)}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "loaderMode"] }, { type: i2$8.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "emoji", "katex", "katexOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start"], outputs: ["error", "load", "ready"] }], pipes: { "translate": i1.TranslatePipe } });
44169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InfoDialogComponent, decorators: [{
44170
+ type: Component,
44171
+ args: [{
44172
+ selector: 'app-info-dialog',
44173
+ templateUrl: './info-dialog.component.html',
44174
+ styleUrls: ['./info-dialog.component.scss']
44175
+ }]
44176
+ }] });
44177
+
44178
+ class ConfigEditorActionsComponent {
44179
+ constructor() {
44180
+ this.saveDisabled = false;
44181
+ this.onSave = new EventEmitter();
44182
+ this.onInfo = new EventEmitter();
44183
+ this.onBack = new EventEmitter();
44184
+ }
44185
+ ngOnInit() { }
44186
+ }
44187
+ ConfigEditorActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44188
+ ConfigEditorActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigEditorActionsComponent, selector: "app-config-editor-actions", inputs: { saveDisabled: "saveDisabled", config: "config" }, outputs: { onSave: "onSave", onInfo: "onInfo", onBack: "onBack" }, ngImport: i0, template: "<button mat-stroked-button (click)=\"onSave.emit($event)\" [disabled]=\"saveDisabled\">\r\n\t{{ 'JSON_EDITOR.save' | translate }}\r\n</button>\r\n<button mat-stroked-button (click)=\"onInfo.emit(config?.documentation)\" *ngIf=\"config?.documentation\">\r\n\t{{ 'JSON_EDITOR.info' | translate }}\r\n</button>\r\n\r\n<button mat-stroked-button (click)=\"onBack.emit($event)\">{{ 'JSON_EDITOR.back' | translate }}</button>\r\n", styles: [":host{display:var(--ndf-editor-actions-display, flex);flex-direction:var(--ndf-editor-actions-direction, column);grid-gap:var(--ndf-editor-actions-gap, .5rem);gap:var(--ndf-editor-actions-gap, .5rem)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
44189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigEditorActionsComponent, decorators: [{
44190
+ type: Component,
44191
+ args: [{
44192
+ selector: 'app-config-editor-actions',
44193
+ templateUrl: './config-editor-actions.component.html',
44194
+ styleUrls: ['./config-editor-actions.component.scss']
44195
+ }]
44196
+ }], ctorParameters: function () { return []; }, propDecorators: { saveDisabled: [{
44197
+ type: Input
44198
+ }], config: [{
44199
+ type: Input
44200
+ }], onSave: [{
44201
+ type: Output
44202
+ }], onInfo: [{
44203
+ type: Output
44204
+ }], onBack: [{
44205
+ type: Output
44206
+ }] } });
44207
+
44208
+ class EditorSettingsComponent {
44209
+ constructor(_componentRegister, _evaluatorsService, _ndfTransformService, _chartDataTransformers, _chartPluginsRegistry) {
44210
+ this._componentRegister = _componentRegister;
44211
+ this._evaluatorsService = _evaluatorsService;
44212
+ this._ndfTransformService = _ndfTransformService;
44213
+ this._chartDataTransformers = _chartDataTransformers;
44214
+ this._chartPluginsRegistry = _chartPluginsRegistry;
44215
+ this.settingsList = [];
44216
+ if (_componentRegister) {
44217
+ const components = this._componentRegister.getComponents();
44218
+ this.pushToSetting('JSON_EDITOR.SETTINGS.customComponents', Object.keys(components));
44219
+ }
44220
+ if (_evaluatorsService) {
44221
+ const _evls = this._evaluatorsService.getUserEvaluators();
44222
+ this.pushToSetting('JSON_EDITOR.SETTINGS.roles', Object.keys(_evls));
44223
+ }
44224
+ if (_ndfTransformService) {
44225
+ const transformers = this._ndfTransformService.getAll();
44226
+ this.pushToSetting('JSON_EDITOR.SETTINGS.transformers', [...transformers.keys()]);
44227
+ }
44228
+ if (_chartDataTransformers) {
44229
+ const graphTransformers = this._chartDataTransformers.getGraphTransformers();
44230
+ this.pushToSetting('JSON_EDITOR.SETTINGS.graphTransformers', [...graphTransformers.keys()]);
44231
+ const digitsTransformers = this._chartDataTransformers.getDigitsTransformers();
44232
+ this.pushToSetting('JSON_EDITOR.SETTINGS.digitsTransformers', [...digitsTransformers.keys()]);
44233
+ }
44234
+ if (_chartPluginsRegistry) {
44235
+ const plugins = this._chartPluginsRegistry.getAll();
44236
+ this.pushToSetting('JSON_EDITOR.SETTINGS.chartPlugins', [...plugins.keys()]);
44237
+ }
44238
+ }
44239
+ ngOnInit() { }
44240
+ pushToSetting(name, keys) {
44241
+ const item = {
44242
+ name: name,
44243
+ keys: keys
44244
+ };
44245
+ this.settingsList = [...this.settingsList, item];
44246
+ }
44247
+ }
44248
+ EditorSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorSettingsComponent, deps: [{ token: ComponentRegisterService, optional: true }, { token: EvaluatorsService, optional: true }, { token: NdfTransformService, optional: true }, { token: ChartDataTransformers, optional: true }, { token: ChartPluginsRegistry, optional: true }], target: i0.ɵɵFactoryTarget.Component });
44249
+ EditorSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditorSettingsComponent, selector: "app-editor-settings", ngImport: i0, template: "<cdk-accordion class=\"settings-list\">\r\n\t<cdk-accordion-item\r\n\t\t*ngFor=\"let item of settingsList; let index = index\"\r\n\t\t#accordionItem=\"cdkAccordionItem\"\r\n\t\tclass=\"settings-list__item\"\r\n\t\trole=\"button\"\r\n\t\ttabindex=\"0\"\r\n\t\t[attr.id]=\"'accordion-header-' + index\"\r\n\t\t[attr.aria-expanded]=\"accordionItem.expanded\"\r\n\t\t[attr.aria-controls]=\"'accordion-body-' + index\"\r\n\t>\r\n\t\t<div class=\"settings-list__item__header\" (click)=\"accordionItem.toggle()\">\r\n\t\t\t<span class=\"settings-list__item__header__title truncate\">\r\n\t\t\t\t{{ item.name | translate }}\r\n\t\t\t</span>\r\n\r\n\t\t\t<mat-icon class=\"settings-list__item__header__icon\">\r\n\t\t\t\t{{ accordionItem.expanded ? 'expand_less' : 'expand_more' }}\r\n\t\t\t</mat-icon>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"settings-list__item__body\"\r\n\t\t\trole=\"region\"\r\n\t\t\t[style.display]=\"accordionItem.expanded ? '' : 'none'\"\r\n\t\t\t[attr.id]=\"'accordion-body-' + index\"\r\n\t\t\t[attr.aria-labelledby]=\"'accordion-header-' + index\"\r\n\t\t>\r\n\t\t\t<ul class=\"keys-list\">\r\n\t\t\t\t<li\r\n\t\t\t\t\t*ngFor=\"let key of item.keys\"\r\n\t\t\t\t\tclass=\"keys-list__key\"\r\n\t\t\t\t\t[appCopyToClipboard]=\"key\"\r\n\t\t\t\t\t[matTooltip]=\"'JSON_EDITOR.clickToCopy' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ key }}\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</cdk-accordion-item>\r\n</cdk-accordion>\r\n", styles: [".settings-list{padding:var(--esl-padding, .5rem);color:var(--esl-color, inherit)}.settings-list__item__header{display:flex;justify-content:space-between;align-items:center;min-width:0;padding:var(--esl-header-padding, .5rem);border-bottom:var(--esl-header-border, 1px solid var(--border-color))}.settings-list__item__header__title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keys-list{font-family:var(--keys-list-font-family, system-ui);font-size:var(--keys-list-font-size, .9rem);margin-block:var(--keys-list-margin, .5rem)}.keys-list__key{margin-bottom:.2rem;color:var(--keys-text-color, inherit);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-block:.15rem}.keys-list__key:hover{background:var(--keys-hover-background, #f5f5f5)}\n"], components: [{ type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6$4.CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: ["multi"], exportAs: ["cdkAccordion"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$4.CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: ["expanded", "disabled"], outputs: ["closed", "opened", "destroyed", "expandedChange"], exportAs: ["cdkAccordionItem"] }, { type: CopyToClipboardDirective, selector: "[appCopyToClipboard]", inputs: ["appCopyToClipboard"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i1.TranslatePipe } });
44250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EditorSettingsComponent, decorators: [{
44251
+ type: Component,
44252
+ args: [{
44253
+ selector: 'app-editor-settings',
44254
+ templateUrl: './editor-settings.component.html',
44255
+ styleUrls: ['./editor-settings.component.scss']
44256
+ }]
44257
+ }], ctorParameters: function () { return [{ type: ComponentRegisterService, decorators: [{
44258
+ type: Optional
44259
+ }] }, { type: EvaluatorsService, decorators: [{
44260
+ type: Optional
44261
+ }] }, { type: NdfTransformService, decorators: [{
44262
+ type: Optional
44263
+ }] }, { type: ChartDataTransformers, decorators: [{
44264
+ type: Optional
44265
+ }] }, { type: ChartPluginsRegistry, decorators: [{
44266
+ type: Optional
44267
+ }] }]; } });
44268
+
44269
+ class ValidateObjectPipe {
44270
+ transform(value) {
44271
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
44272
+ }
44273
+ }
44274
+ ValidateObjectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
44275
+ ValidateObjectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, name: "validateObject" });
44276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValidateObjectPipe, decorators: [{
44277
+ type: Pipe,
44278
+ args: [{
44279
+ name: 'validateObject'
44280
+ }]
44281
+ }] });
44282
+
44283
+ class ConfigPreviewComponent {
44284
+ constructor() {
44285
+ this.types = NDF_EDITOR_TYPE;
44286
+ }
44287
+ ngOnInit() { }
44288
+ }
44289
+ ConfigPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44290
+ ConfigPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigPreviewComponent, selector: "app-config-preview", inputs: { type: "type", data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"data | validateObject\">\r\n\t<ng-container [ngSwitch]=\"type\">\r\n\t\t<app-ndf-table *ngSwitchCase=\"types.TABLES\" [config]=\"data\"></app-ndf-table>\r\n\t\t<app-ndf-reports *ngSwitchCase=\"types.REPORTS\" [config]=\"data\"></app-ndf-reports>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;height:var(--monaco-config-editor-height, 100%);border:var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb))}\n"], components: [{ type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }, { type: NdfReportsComponent, selector: "app-ndf-reports", inputs: ["jsonEditorEnabled", "reportsKey", "navigateRoute", "config"], outputs: ["onQueryChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "validateObject": ValidateObjectPipe } });
44291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, decorators: [{
44292
+ type: Component,
44293
+ args: [{
44294
+ selector: 'app-config-preview',
44295
+ templateUrl: './config-preview.component.html',
44296
+ styleUrls: ['./config-preview.component.scss']
44297
+ }]
44298
+ }], ctorParameters: function () { return []; }, propDecorators: { type: [{
44299
+ type: Input
44300
+ }], data: [{
44301
+ type: Input
44302
+ }] } });
44303
+
44304
+ const MONACO_EDITOR_CONFIG = new InjectionToken('MONACO_EDITOR_CONFIG');
44305
+
44306
+ class MonacoEditorComponent {
44307
+ constructor(config, _loaderService, zone) {
44308
+ this.config = config;
44309
+ this._loaderService = _loaderService;
44310
+ this.zone = zone;
44311
+ this.destroy$ = new EventEmitter();
44312
+ this.onInit = new EventEmitter();
44313
+ this.hasError = new EventEmitter();
44314
+ this._value = '';
44315
+ this.valueChange = new EventEmitter();
44316
+ this._options = {
44317
+ value: ``,
44318
+ language: 'json',
44319
+ theme: 'vs',
44320
+ automaticLayout: true
44321
+ };
44322
+ }
44323
+ set value(val) {
44324
+ this._value = val;
44325
+ if (this._editor && val !== this._editor.getValue()) {
44326
+ this._editor.setValue(val);
44327
+ }
44328
+ }
44329
+ get value() {
44330
+ return this._value;
44331
+ }
44332
+ set options(options) {
44333
+ console.log(options);
44334
+ this._options = Object.assign({}, this.config.defaultOptions, options);
44335
+ if (this._editor) {
44336
+ this._editor.dispose();
44337
+ this.initMonaco(this._options);
44338
+ }
44339
+ }
44340
+ get options() {
44341
+ return this._options;
44342
+ }
44343
+ set theme(theme) {
44344
+ if (this._monaco) {
44345
+ this._monaco.editor.setTheme(theme);
44346
+ }
44347
+ }
44348
+ set model(model) {
44349
+ this.options.model = model;
44350
+ if (this._editor) {
44351
+ this._editor.dispose();
44352
+ this.initMonaco(this.options);
44353
+ }
44354
+ }
44355
+ ngOnInit() { }
44356
+ ngAfterViewInit() {
44357
+ const baseUrl = this.config.baseUrl || './assets/monaco-editor/min/vs';
44358
+ this._loaderService.load(baseUrl).then((monaco) => {
44359
+ this._monaco = monaco;
44360
+ this.initMonaco(this._options);
44361
+ });
44362
+ }
44363
+ ngOnDestroy() {
44364
+ if (this._editor) {
44365
+ this._editor.dispose();
44366
+ this._editor = undefined;
44367
+ }
44368
+ this._monaco = undefined;
44369
+ this.destroy$.next(null);
44370
+ this.destroy$.complete();
44371
+ }
44372
+ initMonaco(options) {
44373
+ var _a, _b;
44374
+ if (!this._monaco) {
44375
+ console.error('Monaco editor is not loaded yet.');
44376
+ return;
44377
+ }
44378
+ const hasModel = !!(options === null || options === void 0 ? void 0 : options.model);
44379
+ try {
44380
+ if (hasModel) {
44381
+ const model = this._monaco.editor.getModel(options.model.uri);
44382
+ if (model) {
44383
+ // If model exists, set the value
44384
+ options.model = model;
44385
+ options.model.setValue(this.value);
44386
+ }
44387
+ else {
44388
+ // If model doesn't exist, create a new model
44389
+ options.model = this._monaco.editor.createModel(((_a = options.model) === null || _a === void 0 ? void 0 : _a.value) || this.value, ((_b = options.model) === null || _b === void 0 ? void 0 : _b.language) || 'json', options.model.uri);
44390
+ }
44391
+ }
44392
+ this._monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
44393
+ validate: true,
44394
+ allowComments: false,
44395
+ schemas: [] // No schema provided
44396
+ });
44397
+ // Initialize the Monaco editor instance
44398
+ const editorOptions = Object.assign(Object.assign({}, options), { minimap: {
44399
+ enabled: false
44400
+ } });
44401
+ this._editor = this._monaco.editor.create(this._editorContainer.nativeElement, editorOptions);
44402
+ // If no model is passed in options, set the value directly
44403
+ if (!hasModel) {
44404
+ this._editor.setValue(this.value || '');
44405
+ }
44406
+ this._monaco.editor.onDidChangeMarkers(() => {
44407
+ const markers = this._monaco.editor.getModelMarkers({});
44408
+ this.hasError.emit(!!(markers === null || markers === void 0 ? void 0 : markers.length));
44409
+ });
44410
+ // Handle content change events to propagate changes
44411
+ this._editor.onDidChangeModelContent((e) => {
44412
+ const value = this._editor.getValue();
44413
+ this.zone.run(() => {
44414
+ this.value = value;
44415
+ this.valueChange.emit(value); // Emit the value change event
44416
+ });
44417
+ });
44418
+ this._subscribeToWindowResize();
44419
+ this.onInit.emit({
44420
+ monaco: this._monaco,
44421
+ editor: this._editor
44422
+ });
44423
+ }
44424
+ catch (error) {
44425
+ console.error('Error initializing Monaco Editor:', error);
44426
+ }
44427
+ }
44428
+ _subscribeToWindowResize() {
44429
+ fromEvent(window, 'resize')
44430
+ .pipe(filter$1(() => !!this._editor), delay(200), takeUntil(this.destroy$))
44431
+ .subscribe(() => {
44432
+ this._editor.layout();
44433
+ });
44434
+ }
44435
+ }
44436
+ MonacoEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorComponent, deps: [{ token: MONACO_EDITOR_CONFIG }, { token: MonacoLoaderService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
44437
+ MonacoEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MonacoEditorComponent, selector: "ndf-monaco-editor", inputs: { value: "value", options: "options", theme: "theme", model: "model" }, outputs: { onInit: "onInit", hasError: "hasError", valueChange: "valueChange" }, viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: `
44438
+ <div
44439
+ class="editor-container"
44440
+ #editorContainer
44441
+ dir="ltr"
44442
+ style="text-align: left !important; direction: ltr !important"
44443
+ ></div>
44444
+ `, isInline: true, styles: ["\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t\theight: var(--monaco-config-editor-height, 100%);\n\t\t\t\tborder: var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb));\n\t\t\t}\n\t\t\t.editor-container {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t"], directives: [{ type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MonacoEditorComponent, decorators: [{
44446
+ type: Component,
44447
+ args: [{
44448
+ selector: 'ndf-monaco-editor',
44449
+ changeDetection: ChangeDetectionStrategy.OnPush,
44450
+ template: `
44451
+ <div
44452
+ class="editor-container"
44453
+ #editorContainer
44454
+ dir="ltr"
44455
+ style="text-align: left !important; direction: ltr !important"
44456
+ ></div>
44457
+ `,
44458
+ styles: [
44459
+ `
44460
+ :host {
44461
+ display: block;
44462
+ height: var(--monaco-config-editor-height, 100%);
44463
+ border: var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb));
44464
+ }
44465
+ .editor-container {
44466
+ width: 100%;
44467
+ height: 100%;
44468
+ }
44469
+ `
44470
+ ]
44471
+ }]
44472
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
44473
+ type: Inject,
44474
+ args: [MONACO_EDITOR_CONFIG]
44475
+ }] }, { type: MonacoLoaderService }, { type: i0.NgZone }]; }, propDecorators: { _editorContainer: [{
44476
+ type: ViewChild,
44477
+ args: ['editorContainer', { static: true }]
44478
+ }], onInit: [{
44479
+ type: Output
44480
+ }], hasError: [{
44481
+ type: Output
44482
+ }], value: [{
44483
+ type: Input
44484
+ }], valueChange: [{
44485
+ type: Output
44486
+ }], options: [{
44487
+ type: Input
44488
+ }], theme: [{
44489
+ type: Input
44490
+ }], model: [{
44491
+ type: Input
44492
+ }] } });
44493
+
44494
+ function isValidJson(value) {
44495
+ try {
44496
+ const parsed = JSON.parse(value);
44497
+ return typeof parsed === 'object' && parsed !== null;
44498
+ }
44499
+ catch (_a) {
44500
+ return false;
44501
+ }
44502
+ }
44503
+
44504
+ class IsValidJsonPipe {
44505
+ transform(value) {
44506
+ return isValidJson(value);
44507
+ }
44508
+ }
44509
+ IsValidJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
44510
+ IsValidJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, name: "isValidJson" });
44511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsValidJsonPipe, decorators: [{
44512
+ type: Pipe,
44513
+ args: [{
44514
+ name: 'isValidJson'
44515
+ }]
44516
+ }] });
44517
+
44518
+ class NdfConfigEditorComponent extends DestroySubject {
44519
+ constructor(environment, dataStore, configService, matDialog, location) {
44520
+ var _a;
44521
+ super();
44522
+ this.environment = environment;
44523
+ this.dataStore = dataStore;
44524
+ this.configService = configService;
44525
+ this.matDialog = matDialog;
44526
+ this.location = location;
44527
+ this.isEditorHasErrors = false;
44528
+ this._defaultEditorOptions = {
44529
+ value: ``,
44530
+ language: 'json',
44531
+ theme: 'vs',
44532
+ automaticLayout: true
44533
+ };
44534
+ this._optionsSubject = new BehaviorSubject(this._defaultEditorOptions);
44535
+ this.options$ = this._optionsSubject.asObservable();
44536
+ this._themeSubject = new ReplaySubject();
44537
+ this.theme$ = this._themeSubject.asObservable();
44538
+ this._dataKeySubject = new ReplaySubject();
44539
+ this.previewData$ = this.dataStore.previewData$;
44540
+ this.editorData$ = this.dataStore.editorData$;
44541
+ this.modes = CONFIG_EDITOR_MODE;
44542
+ this.isFeatureEnabled = false;
44543
+ this.config = (_a = this.configService.myConfiguration) === null || _a === void 0 ? void 0 : _a.configEditor;
44544
+ this.isFeatureEnabled = environment.configEditor === 'YES';
44545
+ }
44546
+ ngOnChanges(changes) {
44547
+ this._handleMetadataChanges(changes);
44548
+ this._handleOptionsAndThemeChanges(changes);
44549
+ }
44550
+ ngOnInit() {
44551
+ this._dataKeySubject
44552
+ .pipe(switchMap((key) => this.dataStore.getData(key, this.metadata.type)), takeUntil(this.destroy$))
44553
+ .subscribe((res) => { });
44554
+ }
44555
+ onDataChanged(data) {
44556
+ this.dataStore.storeData(data);
44557
+ }
44558
+ onEditorErrors(hasErrors) {
44559
+ this.isEditorHasErrors = hasErrors;
44560
+ }
44561
+ saveData() {
44562
+ this.dataStore.saveData(this.metadata.key);
44563
+ }
44564
+ navigateBack() {
44565
+ this.location.back();
44566
+ }
44567
+ onEditorReady(data) {
44568
+ this._monaco = data.monaco;
44569
+ }
44570
+ openInfoDialog(documentation) {
44571
+ this.matDialog.open(InfoDialogComponent, {
44572
+ panelClass: 'ndf-dialog',
44573
+ width: 'min(1200px,90%)',
44574
+ height: '90vh',
44575
+ data: {
44576
+ title: 'JSON_EDITOR.info',
44577
+ type: this.metadata.type,
44578
+ url: documentation
44579
+ }
44580
+ });
44581
+ }
44582
+ _handleMetadataChanges(changes) {
44583
+ var _a;
44584
+ if ((_a = changes === null || changes === void 0 ? void 0 : changes.metadata) === null || _a === void 0 ? void 0 : _a.currentValue) {
44585
+ const metadata = changes.metadata.currentValue;
44586
+ this._dataKeySubject.next(metadata.key);
44587
+ this.dataStore.changeEditorType(metadata.type);
44588
+ }
44589
+ }
44590
+ _handleOptionsAndThemeChanges(changes) {
44591
+ var _a, _b, _c;
44592
+ const themeValue = (_a = changes.theme) === null || _a === void 0 ? void 0 : _a.currentValue;
44593
+ const optionsValue = (_b = changes.options) === null || _b === void 0 ? void 0 : _b.currentValue;
44594
+ const isThemeFirstChange = (_c = changes === null || changes === void 0 ? void 0 : changes.theme) === null || _c === void 0 ? void 0 : _c.firstChange;
44595
+ let mergedOptions = ___default.merge(this._defaultEditorOptions, optionsValue || {}, { language: 'json' });
44596
+ if (themeValue && isThemeFirstChange) {
44597
+ mergedOptions.theme = themeValue;
44598
+ }
44599
+ if (optionsValue || (themeValue && isThemeFirstChange)) {
44600
+ this._optionsSubject.next(___default.cloneDeep(mergedOptions));
44601
+ }
44602
+ if (themeValue && !isThemeFirstChange) {
44603
+ this._themeSubject.next(themeValue);
44604
+ }
44605
+ }
44606
+ }
44607
+ NdfConfigEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorComponent, deps: [{ token: 'environment' }, { token: DataStoreService }, { token: AppConfigService }, { token: i1$3.MatDialog }, { token: i4$1.Location }], target: i0.ɵɵFactoryTarget.Component });
44608
+ NdfConfigEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfConfigEditorComponent, selector: "app-ndf-config-editor", inputs: { metadata: "metadata", theme: "theme", options: "options" }, providers: [DataStoreService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config?.enabled && isFeatureEnabled; else emptyTpl\">\r\n\t<div class=\"ndf-config-editor\" ndfFluidHeight *permission=\"{ name: config?.types[metadata?.type]?.permission }\">\r\n\t\t<div class=\"ndf-config-editor__sidebar\">\r\n\t\t\t<app-editor-settings class=\"ndf-config-editor__setting\"></app-editor-settings>\r\n\t\t\t<app-config-editor-actions\r\n\t\t\t\tappItemHeight\r\n\t\t\t\tcssVar=\"--ndf-editor-actions-height\"\r\n\t\t\t\t[saveDisabled]=\"isEditorHasErrors || !(dataStore.editorData | isValidJson)\"\r\n\t\t\t\t[config]=\"config?.types[metadata?.type]\"\r\n\t\t\t\t(onInfo)=\"openInfoDialog($event)\"\r\n\t\t\t\t(onBack)=\"navigateBack()\"\r\n\t\t\t\t(onSave)=\"saveData()\"\r\n\t\t\t>\r\n\t\t\t</app-config-editor-actions>\r\n\t\t</div>\r\n\t\t<div class=\"ndf-config-editor__content\">\r\n\t\t\t<div class=\"ndf-config-editor__topbar\">\r\n\t\t\t\t<app-editor-mode-switch\r\n\t\t\t\t\t[mode]=\"dataStore.editorMode\"\r\n\t\t\t\t\t(changeMode)=\"dataStore.changeMode($event)\"\r\n\t\t\t\t></app-editor-mode-switch>\r\n\t\t\t</div>\r\n\t\t\t<app-config-preview\r\n\t\t\t\t*ngIf=\"dataStore.editorMode === modes.PREVIEW\"\r\n [type]=\"dataStore.editorType$ | async\"\r\n\t\t\t\t[data]=\"previewData$ | async\"\r\n\t\t\t></app-config-preview>\r\n\t\t\t<ndf-monaco-editor\r\n\t\t\t\t*ngIf=\"dataStore.editorMode === modes.EDIT\"\r\n\t\t\t\t[value]=\"editorData$ | async\"\r\n\t\t\t\t[options]=\"options$ | async\"\r\n\t\t\t\t[theme]=\"theme$ | async\"\r\n\t\t\t\t(valueChange)=\"onDataChanged($event)\"\r\n\t\t\t\t(hasError)=\"onEditorErrors($event)\"\r\n\t\t\t\t(onInit)=\"onEditorReady($event)\"\r\n\t\t\t></ndf-monaco-editor>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n\r\n<ng-template #emptyTpl>\r\n\t<div class=\"ndf-empty-config\">\r\n\t\t<app-no-data-found message=\"JSON_EDITOR.MESSAGES.notAllowed\"></app-no-data-found>\r\n\t</div>\r\n</ng-template>\r\n", styles: [":host{display:var(--ndf-config-wrapper-display, flex);flex-direction:var(--ndf-config-wrapper-direction, column);grid-gap:var(--ndf-config-wrapper-gap, .5rem);gap:var(--ndf-config-wrapper-gap, .5rem);flex-grow:1;height:var(--ndf-config-wrapper-height, 100%)}.ndf-empty-config{justify-content:center;align-items:center}.ndf-empty-config,.ndf-config-editor{padding:var(--ndf-editor-padding, 1rem);background-color:var(--ndf-editor-background-color, #fff);color:var(--ndf-editor-color);border-radius:var(--ndf-editor-border-radius, .5rem);display:flex;flex-grow:1;max-height:var(--ndf-fluid-height, 100%)}.ndf-config-editor{grid-gap:var(--ndf-editor--gap, 1rem);gap:var(--ndf-editor--gap, 1rem)}.ndf-config-editor__sidebar{width:var(--ndf-editor-sidebar-width, 18rem);background:var(--ndf-editor-sidebar-background);border:var(--ndf-editor-sidebars-border, 0px solid transparent);border-radius:var(--ndf-editor-sidebar-radius, 0rem);display:grid;grid-template-rows:var(--ndf-editor-sidebar-rows, 1fr auto)}.ndf-config-editor__content{flex-grow:1;background:var(--ndf-editor-content-background);border:var(--ndf-editor-content-border, 0px solid transparent);border-radius:var(--ndf-editor-content-radius, 0rem);display:flex;flex-direction:column;grid-gap:var(--ndf-editor-content-gap, 1rem);gap:var(--ndf-editor-content-gap, 1rem)}.ndf-config-editor__topbar{display:var(--ndf-editor-topbar-display, flex);justify-content:var(--ndf-editor-topbar-justify-content, flex-end)}.ndf-config-editor__setting{max-height:var(--ndf-editor-content-max-height, calc(var(--ndf-fluid-height) - var(--ndf-editor-actions-height, 125px) - 2.5rem));overflow:auto}\n"], components: [{ type: EditorSettingsComponent, selector: "app-editor-settings" }, { type: ConfigEditorActionsComponent, selector: "app-config-editor-actions", inputs: ["saveDisabled", "config"], outputs: ["onSave", "onInfo", "onBack"] }, { type: EditorModeSwitchComponent, selector: "app-editor-mode-switch", inputs: ["mode"], outputs: ["changeMode"] }, { type: ConfigPreviewComponent, selector: "app-config-preview", inputs: ["type", "data"] }, { type: MonacoEditorComponent, selector: "ndf-monaco-editor", inputs: ["value", "options", "theme", "model"], outputs: ["onInit", "hasError", "valueChange"] }, { type: NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: ElementHeightDirective, selector: "[appItemHeight]", inputs: ["cssVar", "calculate", "inlineStyle"], exportAs: ["appItemHeight"] }], pipes: { "isValidJson": IsValidJsonPipe, "async": i4$1.AsyncPipe } });
44609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorComponent, decorators: [{
44610
+ type: Component,
44611
+ args: [{
44612
+ selector: 'app-ndf-config-editor',
44613
+ templateUrl: './ndf-config-editor.component.html',
44614
+ styleUrls: ['./ndf-config-editor.component.scss'],
44615
+ providers: [DataStoreService]
44616
+ }]
44617
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
44618
+ type: Inject,
44619
+ args: ['environment']
44620
+ }] }, { type: DataStoreService }, { type: AppConfigService }, { type: i1$3.MatDialog }, { type: i4$1.Location }]; }, propDecorators: { metadata: [{
44621
+ type: Input
44622
+ }], theme: [{
44623
+ type: Input
44624
+ }], options: [{
44625
+ type: Input
44626
+ }] } });
44627
+
44628
+ class NdfConfigEditorModule {
44629
+ static forRoot(config = {}) {
44630
+ return {
44631
+ ngModule: NdfConfigEditorModule,
44632
+ providers: [{ provide: MONACO_EDITOR_CONFIG, useValue: config }]
44633
+ };
44634
+ }
44635
+ }
44636
+ NdfConfigEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44637
+ NdfConfigEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, declarations: [EditorModeSwitchComponent,
44638
+ NdfConfigEditorComponent,
44639
+ MonacoEditorComponent,
44640
+ EditorSettingsComponent,
44641
+ ConfigPreviewComponent,
44642
+ ConfigEditorActionsComponent,
44643
+ InfoDialogComponent,
44644
+ ValidateObjectPipe,
44645
+ IsValidJsonPipe], imports: [CommonModule,
44646
+ MatButtonToggleModule,
44647
+ MatFormFieldModule,
44648
+ MatButtonModule,
44649
+ MatIconModule,
44650
+ MatTooltipModule,
44651
+ TranslateModule,
44652
+ FluidHeightModule,
44653
+ ElementHeightModule,
44654
+ NoDataModule,
44655
+ MarkdownModule,
44656
+ DynamicFormModule,
44657
+ NuxeoDialogModule,
44658
+ MatDialogModule,
44659
+ NdfTableModule,
44660
+ NdfReportsModule,
44661
+ CdkAccordionModule,
44662
+ DirectiveModule,
44663
+ CopyToClipboardModule], exports: [NdfConfigEditorComponent] });
44664
+ NdfConfigEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, imports: [[
44665
+ CommonModule,
44666
+ MatButtonToggleModule,
44667
+ MatFormFieldModule,
44668
+ MatButtonModule,
44669
+ MatIconModule,
44670
+ MatTooltipModule,
44671
+ TranslateModule,
44672
+ FluidHeightModule,
44673
+ ElementHeightModule,
44674
+ NoDataModule,
44675
+ MarkdownModule,
44676
+ DynamicFormModule,
44677
+ NuxeoDialogModule,
44678
+ MatDialogModule,
44679
+ NdfTableModule,
44680
+ NdfReportsModule,
44681
+ CdkAccordionModule,
44682
+ DirectiveModule,
44683
+ CopyToClipboardModule
44684
+ ]] });
44685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfConfigEditorModule, decorators: [{
44686
+ type: NgModule,
44687
+ args: [{
44688
+ declarations: [
44689
+ EditorModeSwitchComponent,
44690
+ NdfConfigEditorComponent,
44691
+ MonacoEditorComponent,
44692
+ EditorSettingsComponent,
44693
+ ConfigPreviewComponent,
44694
+ ConfigEditorActionsComponent,
44695
+ InfoDialogComponent,
44696
+ ValidateObjectPipe,
44697
+ IsValidJsonPipe
44698
+ ],
44699
+ imports: [
44700
+ CommonModule,
44701
+ MatButtonToggleModule,
44702
+ MatFormFieldModule,
44703
+ MatButtonModule,
44704
+ MatIconModule,
44705
+ MatTooltipModule,
44706
+ TranslateModule,
44707
+ FluidHeightModule,
44708
+ ElementHeightModule,
44709
+ NoDataModule,
44710
+ MarkdownModule,
44711
+ DynamicFormModule,
44712
+ NuxeoDialogModule,
44713
+ MatDialogModule,
44714
+ NdfTableModule,
44715
+ NdfReportsModule,
44716
+ CdkAccordionModule,
44717
+ DirectiveModule,
44718
+ CopyToClipboardModule
44719
+ ],
44720
+ exports: [NdfConfigEditorComponent]
44721
+ }]
44722
+ }] });
44723
+
42386
44724
  /*
42387
44725
  * Public API Surface of nuxeo-development-framework
42388
44726
  */
@@ -42391,5 +44729,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
42391
44729
  * Generated bundle index. Do not edit.
42392
44730
  */
42393
44731
 
42394
- export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, index as ChartPlugins, ChartPluginsRegistry, index$2 as ChartUtils, ChartsModule, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EmptyTemplateDirective, EnvManager, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FiltersPanelModule, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, MIN_VISIBLE_COUNT, MY_MOMENT_FORMATS, MainfolderService, MessageService, ModeTogglerComponent, MomentDateAdapter, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, OutputPort, PAGINATION_MODE, PANEL_MODE, PREDICATE_FIELD_TYPES, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportTransformService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getChartsOptions, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
44732
+ export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, index as ChartPlugins, ChartPluginsRegistry, index$2 as ChartUtils, ChartsModule, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EnvManager, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FiltersPanelModule, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, OutputPort, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportTransformService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getChartsOptions, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
42395
44733
  //# sourceMappingURL=nuxeo-development-framework.js.map