nuxeo-development-framework 6.1.1 → 6.1.2

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 (32) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +793 -638
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
  4. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
  5. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +32 -16
  6. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  7. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
  8. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  9. package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +4 -4
  10. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +26 -31
  11. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +16 -21
  12. package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +34 -1
  13. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +116 -102
  14. package/esm2015/lib/components/tables/dynamic-table/public-api.js +3 -2
  15. package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +56 -0
  16. package/esm2015/lib/shared/services/base/base.service.js +9 -10
  17. package/fesm2015/nuxeo-development-framework.js +519 -415
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +1 -1
  20. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +9 -3
  21. package/lib/components/reports/ndf-reports/models/common.d.ts +9 -1
  22. package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +4 -5
  23. package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -0
  24. package/lib/components/reports/ndf-reports/pipes/check-condition.pipe.d.ts +2 -2
  25. package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +4 -2
  26. package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +6 -6
  27. package/lib/components/reports/ndf-reports/services/reports-hooks.service.d.ts +15 -3
  28. package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +23 -9
  29. package/lib/components/tables/dynamic-table/public-api.d.ts +2 -1
  30. package/lib/components/tables/dynamic-table/services/table-hooks.service.d.ts +13 -0
  31. package/lib/shared/services/base/base.service.d.ts +4 -2
  32. package/package.json +1 -1
@@ -31,13 +31,13 @@ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
31
31
  import * as i7 from '@angular/material/tooltip';
32
32
  import { MatTooltipModule } from '@angular/material/tooltip';
33
33
  import { merge } from 'lodash-es';
34
+ import * as _ from 'lodash';
35
+ import ___default, { cloneDeep, filter, sortBy, each, unionWith, isEqual, isNil, isObject as isObject$1, isDate, isBoolean, isNumber, keys, trim, get, set, values, union, assign, keyBy, flatMap, map as map$1 } from 'lodash';
34
36
  import * as moment$6 from 'moment';
35
37
  import moment__default, { isMoment } from 'moment';
36
38
  import _omit from 'lodash/omit';
37
39
  import _assign from 'lodash/assign';
38
40
  import _cloneDeep from 'lodash/cloneDeep';
39
- import * as _ from 'lodash';
40
- import ___default, { cloneDeep, filter, sortBy, each, unionWith, isEqual, isNil, isObject as isObject$1, isDate, isBoolean, isNumber, keys, trim, get, set, values, union, assign, keyBy, flatMap, map as map$1 } from 'lodash';
41
41
  import * as i1$4 from '@angular/platform-browser';
42
42
  import { BrowserTransferStateModule } from '@angular/platform-browser';
43
43
  import moment$8 from 'moment-es6';
@@ -2474,106 +2474,87 @@ class NuxeoMapper {
2474
2474
 
2475
2475
  const ENTITY_TYPE = 'entity-type';
2476
2476
 
2477
- var _HttpBaseService_http;
2478
- class HttpBaseService {
2479
- constructor(injector) {
2480
- _HttpBaseService_http.set(this, void 0);
2481
- __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(HttpClient), "f");
2482
- }
2483
- get environment() {
2484
- return EnvManager.environment;
2485
- }
2486
- httpRequest(req) {
2487
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").request(req);
2488
- }
2489
- get(endpointOrOptions, params = undefined, headers = undefined, responseType = undefined) {
2490
- var _a, _b, _c;
2491
- let url;
2492
- if (typeof endpointOrOptions === 'string') {
2493
- url = endpointOrOptions;
2494
- }
2495
- else {
2496
- const options = endpointOrOptions;
2497
- url = options.endpoint;
2498
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2499
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2500
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2501
- }
2502
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").get(url, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2477
+ class CallApiService {
2478
+ constructor(nuxeoService, http, environment) {
2479
+ this.nuxeoService = nuxeoService;
2480
+ this.http = http;
2481
+ this.environment = environment;
2503
2482
  }
2504
- post(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2505
- var _a, _b, _c, _d;
2506
- let url;
2507
- if (typeof endpointOrOptions === 'string') {
2508
- url = endpointOrOptions;
2509
- }
2510
- else {
2511
- const options = endpointOrOptions;
2512
- url = options.endpoint;
2513
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2514
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2515
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2516
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2517
- }
2518
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").post(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2483
+ query(queryOptions, options) {
2484
+ return this.inerQuery(queryOptions, options);
2519
2485
  }
2520
- put(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2521
- var _a, _b, _c, _d;
2522
- let url;
2523
- if (typeof endpointOrOptions === 'string') {
2524
- url = endpointOrOptions;
2525
- }
2526
- else {
2527
- const options = endpointOrOptions;
2528
- url = options.endpoint;
2529
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2530
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2531
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2532
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2533
- }
2534
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").put(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2486
+ inerQuery(queryOptions, options) {
2487
+ return from(this.nuxeoService.nuxeoClient.repository().query(queryOptions, options)).pipe(map((res) => {
2488
+ if (res.entries.length > 0) {
2489
+ res.entries.forEach((data) => {
2490
+ delete data._nuxeo;
2491
+ delete data._repository;
2492
+ });
2493
+ }
2494
+ return res;
2495
+ }));
2535
2496
  }
2536
- patch(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2537
- var _a, _b, _c, _d;
2538
- let url;
2539
- if (typeof endpointOrOptions === 'string') {
2540
- url = endpointOrOptions;
2497
+ customQuery(query, params, headers = {}, body = {}) {
2498
+ let _payload = body;
2499
+ if (query === null || query === void 0 ? void 0 : query.payload) {
2500
+ const _key = (query === null || query === void 0 ? void 0 : query.predicateKey) || 'predicateList';
2501
+ _payload = ___default.mergeWith(body, query.payload, (objValue, srcValue, key) => {
2502
+ if (Array.isArray(objValue) && key === _key) {
2503
+ return ___default.uniqWith(objValue.concat(srcValue), ___default.isEqual);
2504
+ }
2505
+ });
2541
2506
  }
2542
- else {
2543
- const options = endpointOrOptions;
2544
- url = options.endpoint;
2545
- payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2546
- params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2547
- headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2548
- responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2507
+ if (this.bearerToken) {
2508
+ headers['Authorization'] = this.bearerToken;
2549
2509
  }
2550
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").patch(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2510
+ return this.http
2511
+ .request(query.method, `${this.environment.nuxeo}${query.url}`, {
2512
+ body: _payload,
2513
+ headers,
2514
+ params
2515
+ })
2516
+ .pipe(map((res) => {
2517
+ return res;
2518
+ }));
2551
2519
  }
2552
- delete(endpointOrOptions, params = undefined, headers = undefined, responseType = undefined) {
2553
- var _a, _b, _c;
2554
- let url;
2555
- if (typeof endpointOrOptions === 'string') {
2556
- url = endpointOrOptions;
2557
- }
2558
- else {
2559
- const options = endpointOrOptions;
2560
- url = options.endpoint;
2561
- params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2562
- headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2563
- responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2564
- }
2565
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").delete(url, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2520
+ }
2521
+ CallApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, deps: [{ token: NuxeoService }, { token: i1$2.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
2522
+ CallApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, providedIn: 'root' });
2523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, decorators: [{
2524
+ type: Injectable,
2525
+ args: [{
2526
+ providedIn: 'root'
2527
+ }]
2528
+ }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i1$2.HttpClient }, { type: undefined, decorators: [{
2529
+ type: Inject,
2530
+ args: ['environment']
2531
+ }] }]; } });
2532
+
2533
+ var _ApisErrorsMessagesService_handlerFn;
2534
+ class ApisErrorsMessagesService {
2535
+ constructor() {
2536
+ _ApisErrorsMessagesService_handlerFn.set(this, () => {
2537
+ return pipe(catchError((err) => {
2538
+ throw err;
2539
+ }));
2540
+ });
2566
2541
  }
2567
- httpAutomation(endpoint, payload = undefined, responseType = undefined) {
2568
- return __classPrivateFieldGet(this, _HttpBaseService_http, "f").post(endpoint, payload, { responseType }).pipe(this.catchErrors());
2542
+ setErrorHandler(handler) {
2543
+ __classPrivateFieldSet(this, _ApisErrorsMessagesService_handlerFn, handler, "f");
2569
2544
  }
2570
- catchErrors() {
2571
- return pipe(catchError((err) => {
2572
- throw err;
2573
- }));
2545
+ handleErrorMessage() {
2546
+ return __classPrivateFieldGet(this, _ApisErrorsMessagesService_handlerFn, "f").call(this);
2574
2547
  }
2575
2548
  }
2576
- _HttpBaseService_http = new WeakMap();
2549
+ _ApisErrorsMessagesService_handlerFn = new WeakMap();
2550
+ ApisErrorsMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2551
+ ApisErrorsMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, providedIn: 'root' });
2552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, decorators: [{
2553
+ type: Injectable,
2554
+ args: [{
2555
+ providedIn: 'root'
2556
+ }]
2557
+ }] });
2577
2558
 
2578
2559
  const DEFAULT_CACHE_OPTIONS = {
2579
2560
  PREFIX: `cache__`,
@@ -2913,98 +2894,116 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2913
2894
  }]
2914
2895
  }], ctorParameters: function () { return [{ type: UserPreferencesService }, { type: UtilityService }]; } });
2915
2896
 
2916
- class CallApiService {
2917
- constructor(nuxeoService, http, environment) {
2918
- this.nuxeoService = nuxeoService;
2919
- this.http = http;
2920
- this.environment = environment;
2897
+ var _HttpBaseService_http;
2898
+ class HttpBaseService {
2899
+ constructor(injector) {
2900
+ _HttpBaseService_http.set(this, void 0);
2901
+ __classPrivateFieldSet(this, _HttpBaseService_http, injector.get(HttpClient), "f");
2921
2902
  }
2922
- query(queryOptions, options) {
2923
- return this.inerQuery(queryOptions, options);
2903
+ get environment() {
2904
+ return EnvManager.environment;
2924
2905
  }
2925
- inerQuery(queryOptions, options) {
2926
- return from(this.nuxeoService.nuxeoClient.repository().query(queryOptions, options)).pipe(map((res) => {
2927
- if (res.entries.length > 0) {
2928
- res.entries.forEach((data) => {
2929
- delete data._nuxeo;
2930
- delete data._repository;
2931
- });
2932
- }
2933
- return res;
2934
- }));
2906
+ httpRequest(req) {
2907
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").request(req);
2935
2908
  }
2936
- customQuery(query, params, headers = {}, body = {}) {
2937
- let _payload = body;
2938
- if (query === null || query === void 0 ? void 0 : query.payload) {
2939
- const _key = (query === null || query === void 0 ? void 0 : query.predicateKey) || 'predicateList';
2940
- _payload = ___default.mergeWith(body, query.payload, (objValue, srcValue, key) => {
2941
- if (Array.isArray(objValue) && key === _key) {
2942
- return ___default.uniqWith(objValue.concat(srcValue), ___default.isEqual);
2943
- }
2944
- });
2909
+ get(endpointOrOptions, params = undefined, headers = undefined, responseType = undefined) {
2910
+ var _a, _b, _c;
2911
+ let url;
2912
+ if (typeof endpointOrOptions === 'string') {
2913
+ url = endpointOrOptions;
2945
2914
  }
2946
- if (this.bearerToken) {
2947
- headers['Authorization'] = this.bearerToken;
2915
+ else {
2916
+ const options = endpointOrOptions;
2917
+ url = options.endpoint;
2918
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2919
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2920
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2948
2921
  }
2949
- return this.http
2950
- .request(query.method, `${this.environment.nuxeo}${query.url}`, {
2951
- body: _payload,
2952
- headers,
2953
- params
2954
- })
2955
- .pipe(map((res) => {
2956
- return res;
2957
- }));
2922
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").get(url, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2958
2923
  }
2959
- }
2960
- CallApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, deps: [{ token: NuxeoService }, { token: i1$2.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
2961
- CallApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, providedIn: 'root' });
2962
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CallApiService, decorators: [{
2963
- type: Injectable,
2964
- args: [{
2965
- providedIn: 'root'
2966
- }]
2967
- }], ctorParameters: function () { return [{ type: NuxeoService }, { type: i1$2.HttpClient }, { type: undefined, decorators: [{
2968
- type: Inject,
2969
- args: ['environment']
2970
- }] }]; } });
2971
-
2972
- var _ApisErrorsMessagesService_handlerFn;
2973
- class ApisErrorsMessagesService {
2974
- constructor() {
2975
- _ApisErrorsMessagesService_handlerFn.set(this, () => {
2976
- return pipe(catchError((err) => {
2977
- throw err;
2978
- }));
2979
- });
2924
+ post(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2925
+ var _a, _b, _c, _d;
2926
+ let url;
2927
+ if (typeof endpointOrOptions === 'string') {
2928
+ url = endpointOrOptions;
2929
+ }
2930
+ else {
2931
+ const options = endpointOrOptions;
2932
+ url = options.endpoint;
2933
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2934
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2935
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2936
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2937
+ }
2938
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").post(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2980
2939
  }
2981
- setErrorHandler(handler) {
2982
- __classPrivateFieldSet(this, _ApisErrorsMessagesService_handlerFn, handler, "f");
2940
+ put(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2941
+ var _a, _b, _c, _d;
2942
+ let url;
2943
+ if (typeof endpointOrOptions === 'string') {
2944
+ url = endpointOrOptions;
2945
+ }
2946
+ else {
2947
+ const options = endpointOrOptions;
2948
+ url = options.endpoint;
2949
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2950
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2951
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2952
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2953
+ }
2954
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").put(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2983
2955
  }
2984
- handleErrorMessage() {
2985
- return __classPrivateFieldGet(this, _ApisErrorsMessagesService_handlerFn, "f").call(this);
2956
+ patch(endpointOrOptions, payload = undefined, params = undefined, headers = undefined, responseType = undefined) {
2957
+ var _a, _b, _c, _d;
2958
+ let url;
2959
+ if (typeof endpointOrOptions === 'string') {
2960
+ url = endpointOrOptions;
2961
+ }
2962
+ else {
2963
+ const options = endpointOrOptions;
2964
+ url = options.endpoint;
2965
+ payload = (_a = options.payload) !== null && _a !== void 0 ? _a : undefined;
2966
+ params = (_b = options.params) !== null && _b !== void 0 ? _b : undefined;
2967
+ headers = (_c = options.headers) !== null && _c !== void 0 ? _c : undefined;
2968
+ responseType = (_d = options.responseType) !== null && _d !== void 0 ? _d : undefined;
2969
+ }
2970
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").patch(url, payload, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2971
+ }
2972
+ delete(endpointOrOptions, params = undefined, headers = undefined, responseType = undefined) {
2973
+ var _a, _b, _c;
2974
+ let url;
2975
+ if (typeof endpointOrOptions === 'string') {
2976
+ url = endpointOrOptions;
2977
+ }
2978
+ else {
2979
+ const options = endpointOrOptions;
2980
+ url = options.endpoint;
2981
+ params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
2982
+ headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
2983
+ responseType = (_c = options.responseType) !== null && _c !== void 0 ? _c : undefined;
2984
+ }
2985
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").delete(url, { headers, params, responseType }).pipe(map((response) => response), this.catchErrors());
2986
+ }
2987
+ httpAutomation(endpoint, payload = undefined, responseType = undefined) {
2988
+ return __classPrivateFieldGet(this, _HttpBaseService_http, "f").post(endpoint, payload, { responseType }).pipe(this.catchErrors());
2989
+ }
2990
+ catchErrors() {
2991
+ return pipe(catchError((err) => {
2992
+ throw err;
2993
+ }));
2986
2994
  }
2987
2995
  }
2988
- _ApisErrorsMessagesService_handlerFn = new WeakMap();
2989
- ApisErrorsMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2990
- ApisErrorsMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, providedIn: 'root' });
2991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ApisErrorsMessagesService, decorators: [{
2992
- type: Injectable,
2993
- args: [{
2994
- providedIn: 'root'
2995
- }]
2996
- }] });
2996
+ _HttpBaseService_http = new WeakMap();
2997
2997
 
2998
- var _BaseService_nuxeoService, _BaseService_callApiService, _BaseService_cacheBaseService, _BaseService_apisErrorsService;
2998
+ var _BaseService_nuxeoService, _BaseService_cacheBaseService, _BaseService_apisErrorsService;
2999
2999
  class BaseService extends HttpBaseService {
3000
3000
  constructor(injector) {
3001
3001
  super(injector);
3002
3002
  _BaseService_nuxeoService.set(this, void 0);
3003
- _BaseService_callApiService.set(this, void 0);
3004
3003
  _BaseService_cacheBaseService.set(this, void 0);
3005
3004
  _BaseService_apisErrorsService.set(this, void 0);
3006
3005
  __classPrivateFieldSet(this, _BaseService_nuxeoService, injector.get(NuxeoService), "f");
3007
- __classPrivateFieldSet(this, _BaseService_callApiService, injector.get(CallApiService), "f");
3006
+ this._callApiService = injector.get(CallApiService);
3008
3007
  __classPrivateFieldSet(this, _BaseService_cacheBaseService, injector.get(CacheBaseService), "f");
3009
3008
  __classPrivateFieldSet(this, _BaseService_apisErrorsService, injector.get(ApisErrorsMessagesService), "f");
3010
3009
  this.adapterService = injector.get(AdapterService);
@@ -3084,7 +3083,7 @@ class BaseService extends HttpBaseService {
3084
3083
  params = (_a = options.params) !== null && _a !== void 0 ? _a : undefined;
3085
3084
  headers = (_b = options.headers) !== null && _b !== void 0 ? _b : undefined;
3086
3085
  }
3087
- return __classPrivateFieldGet(this, _BaseService_callApiService, "f")
3086
+ return this._callApiService
3088
3087
  .query(Object.assign({ pageProvider }, (params ? params : {})), {
3089
3088
  headers: headers ? Object.assign({}, headers) : undefined
3090
3089
  })
@@ -3138,7 +3137,7 @@ class BaseService extends HttpBaseService {
3138
3137
  return __classPrivateFieldGet(this, _BaseService_nuxeoService, "f").getDuplicates(params, body);
3139
3138
  }
3140
3139
  }
3141
- _BaseService_nuxeoService = new WeakMap(), _BaseService_callApiService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap(), _BaseService_apisErrorsService = new WeakMap();
3140
+ _BaseService_nuxeoService = new WeakMap(), _BaseService_cacheBaseService = new WeakMap(), _BaseService_apisErrorsService = new WeakMap();
3142
3141
  BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3143
3142
  BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, providedIn: 'root' });
3144
3143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseService, decorators: [{
@@ -20031,20 +20030,6 @@ const PAGE_SIZE = [
20031
20030
  }
20032
20031
  ];
20033
20032
 
20034
- class DynamicTableService {
20035
- constructor() {
20036
- this.refreshData = new EventEmitter();
20037
- }
20038
- }
20039
- DynamicTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20040
- DynamicTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, providedIn: 'root' });
20041
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, decorators: [{
20042
- type: Injectable,
20043
- args: [{
20044
- providedIn: 'root'
20045
- }]
20046
- }], ctorParameters: function () { return []; } });
20047
-
20048
20033
  const EMPTY_TEMPLATE = new InjectionToken('EmptyTemplateDirective');
20049
20034
  class EmptyTemplateDirective {
20050
20035
  constructor(template) {
@@ -20071,6 +20056,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20071
20056
  }]
20072
20057
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
20073
20058
 
20059
+ class DynamicTableService {
20060
+ constructor() {
20061
+ this.refreshData = new EventEmitter();
20062
+ }
20063
+ }
20064
+ DynamicTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20065
+ DynamicTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, providedIn: 'root' });
20066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableService, decorators: [{
20067
+ type: Injectable,
20068
+ args: [{
20069
+ providedIn: 'root'
20070
+ }]
20071
+ }], ctorParameters: function () { return []; } });
20072
+
20073
+ class TableHooksService {
20074
+ constructor() {
20075
+ this.beforeSubmitHooks = [];
20076
+ }
20077
+ registerBeforeSubmit(handler) {
20078
+ this.beforeSubmitHooks.push(handler);
20079
+ }
20080
+ unregisterBeforeSubmit(handler) {
20081
+ const index = this.beforeSubmitHooks.indexOf(handler);
20082
+ if (index > -1) {
20083
+ this.beforeSubmitHooks.splice(index, 1);
20084
+ }
20085
+ }
20086
+ clearBeforeSubmitHooks() {
20087
+ this.beforeSubmitHooks = [];
20088
+ }
20089
+ executeBeforeSubmit(payload) {
20090
+ return __awaiter(this, void 0, void 0, function* () {
20091
+ let modifiedPayload = Object.assign({}, payload);
20092
+ for (const handler of this.beforeSubmitHooks) {
20093
+ try {
20094
+ const result = yield Promise.resolve(handler(modifiedPayload));
20095
+ modifiedPayload = result !== null && result !== void 0 ? result : modifiedPayload;
20096
+ }
20097
+ catch (err) {
20098
+ console.error('Error executing beforeSubmit handler:', err);
20099
+ }
20100
+ }
20101
+ return modifiedPayload;
20102
+ });
20103
+ }
20104
+ evaluate(expr, payload) {
20105
+ try {
20106
+ const context = { criteria: payload };
20107
+ const result = Evaluator.evaluate(expr, context, 'payload');
20108
+ return result !== null && result !== void 0 ? result : payload;
20109
+ }
20110
+ catch (e) {
20111
+ console.error('Error evaluating beforeSubmit string:', e);
20112
+ return payload;
20113
+ }
20114
+ }
20115
+ }
20116
+ TableHooksService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20117
+ TableHooksService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, providedIn: 'root' });
20118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableHooksService, decorators: [{
20119
+ type: Injectable,
20120
+ args: [{
20121
+ providedIn: 'root'
20122
+ }]
20123
+ }] });
20124
+
20074
20125
  /**
20075
20126
  * you can use this component for any pagination
20076
20127
  *
@@ -20281,13 +20332,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20281
20332
  * (actionOnRow)="performAction($event)">
20282
20333
  * </cts-dynamic-table>
20283
20334
  */
20284
- class DynamicTableComponent {
20285
- constructor(adapter, callApi, nuxeoService, dynamicTableService, cdr) {
20335
+ class DynamicTableComponent extends DestroySubject {
20336
+ constructor(adapter, callApi, nuxeoService, dynamicTableService, cdr, _tableHooksService) {
20337
+ super();
20286
20338
  this.adapter = adapter;
20287
20339
  this.callApi = callApi;
20288
20340
  this.nuxeoService = nuxeoService;
20289
20341
  this.dynamicTableService = dynamicTableService;
20290
20342
  this.cdr = cdr;
20343
+ this._tableHooksService = _tableHooksService;
20291
20344
  /** event to emit when selecting single row */
20292
20345
  this.onRowSelected = new EventEmitter();
20293
20346
  /** event to emit when selecting single row to catch index*/
@@ -20349,7 +20402,9 @@ class DynamicTableComponent {
20349
20402
  return this._pageNumber;
20350
20403
  }
20351
20404
  ngOnInit() {
20352
- this.myDataSubscription = this.dynamicTableService.refreshData.pipe(startWith(null)).subscribe((filterData) => {
20405
+ this.dynamicTableService.refreshData
20406
+ .pipe(startWith(null), takeUntil(this.destroy$))
20407
+ .subscribe((filterData) => {
20353
20408
  if (filterData) {
20354
20409
  this.filterParams = Object.assign({}, filterData);
20355
20410
  // reset page number when start new filtering
@@ -20358,9 +20413,6 @@ class DynamicTableComponent {
20358
20413
  this.getData();
20359
20414
  });
20360
20415
  }
20361
- ngOnDestroy() {
20362
- this.myDataSubscription ? this.myDataSubscription.unsubscribe() : '';
20363
- }
20364
20416
  ngOnChanges(changes) {
20365
20417
  const isFirstChange = Object.values(changes).some((c) => c.isFirstChange());
20366
20418
  if (isFirstChange) {
@@ -20387,91 +20439,100 @@ class DynamicTableComponent {
20387
20439
  this.onPage.emit({
20388
20440
  pageIndex: this._pageNumber,
20389
20441
  pageSize: this.pageSize,
20390
- length: this.totalRecords
20442
+ length: this.totalRecords,
20391
20443
  });
20392
20444
  }
20393
20445
  getData(payload = {}, headers = {}) {
20394
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20395
- this.loading = true; // internal loading
20396
- this.onLoading.emit(true); // external loading
20397
- let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
20398
- ? {
20399
- sortBy: (_a = this.sortingBy) === null || _a === void 0 ? void 0 : _a.sortBy,
20400
- sortOrder: (_b = this.sortingBy) === null || _b === void 0 ? void 0 : _b.sortOrder
20401
- }
20402
- : {})), { currentPageIndex: +this.pageNum - 1 }), (this.pageSize ? { pageSize: this.pageSize } : {})), { offset: 0 }), payload);
20403
- // don't refresh all table in case of sorting only
20404
- if (!this.sorting && this.isLegacyMode) {
20405
- // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
20406
- this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
20407
- }
20408
- this.sorting = false; // reset sorting status to false and for next sorting func sorting set it to true again
20409
- const _headers = Object.assign(Object.assign({}, this.headers), headers);
20410
- let _providerPayload = {
20411
- query: Object.assign({ pageProvider: this.pageProvider }, params),
20412
- options: {
20413
- headers: _headers
20414
- }
20415
- };
20416
- let _customPayload = {
20417
- params: Object.assign(Object.assign({}, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
20418
- headers: _headers,
20419
- payload: ___default.merge({}, ((_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.payload) || {}, ((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.payload) || {})
20420
- };
20421
- if (((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) && typeof ((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit) === 'string') {
20422
- try {
20423
- if (this.customUrl) {
20424
- _customPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _customPayload }, 'payload');
20425
- }
20426
- else {
20427
- _providerPayload = Evaluator.evaluate((_j = this.requestActions) === null || _j === void 0 ? void 0 : _j.beforeSubmit, { criteria: _providerPayload }, 'payload');
20428
- }
20429
- }
20430
- catch (e) {
20431
- console.error(e);
20446
+ var _a, _b, _c, _d, _e, _f, _g, _h;
20447
+ return __awaiter(this, void 0, void 0, function* () {
20448
+ this.loading = true; // internal loading
20449
+ this.onLoading.emit(true); // external loading
20450
+ let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
20451
+ ? {
20452
+ sortBy: (_a = this.sortingBy) === null || _a === void 0 ? void 0 : _a.sortBy,
20453
+ sortOrder: (_b = this.sortingBy) === null || _b === void 0 ? void 0 : _b.sortOrder,
20454
+ }
20455
+ : {})), { currentPageIndex: +this.pageNum - 1 }), (this.pageSize ? { pageSize: this.pageSize } : {})), { offset: 0 }), payload);
20456
+ // don't refresh all table in case of sorting only
20457
+ if (!this.sorting && this.isLegacyMode) {
20458
+ // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
20459
+ this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
20460
+ }
20461
+ this.sorting = false; // reset sorting status to false and for next sorting func sorting set it to true again
20462
+ const _headers = Object.assign(Object.assign({}, this.headers), headers);
20463
+ let _providerPayload = {
20464
+ query: Object.assign(Object.assign({ pageProvider: this.pageProvider }, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
20465
+ options: {
20466
+ headers: _headers,
20467
+ },
20468
+ };
20469
+ let _customPayload = {
20470
+ url: (_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.url,
20471
+ params: Object.assign(Object.assign({}, params), (((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.params) || {})),
20472
+ headers: _headers,
20473
+ payload: ___default.merge({}, ((_f = this.customUrl) === null || _f === void 0 ? void 0 : _f.payload) || {}, ((_g = this.customFilters) === null || _g === void 0 ? void 0 : _g.payload) || {}),
20474
+ };
20475
+ let requestData = this.customUrl
20476
+ ? _customPayload
20477
+ : _providerPayload;
20478
+ const beforeSubmitString = (_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit;
20479
+ if (typeof beforeSubmitString === 'string') {
20480
+ requestData = yield this._tableHooksService.evaluate(beforeSubmitString, requestData);
20481
+ }
20482
+ requestData = yield this._tableHooksService.executeBeforeSubmit(requestData);
20483
+ let query$;
20484
+ if (this.customUrl) {
20485
+ const _request = requestData;
20486
+ query$ = this.callApi.customQuery({
20487
+ url: _request.url,
20488
+ method: this.customUrl.method,
20489
+ }, _request.params, _request.headers, _request.payload);
20432
20490
  }
20433
- }
20434
- const query$ = this.customUrl
20435
- ? this.callApi.customQuery(this.customUrl, _customPayload.params, _customPayload.headers, _customPayload.payload)
20436
- : this.callApi.query(_providerPayload.query, _providerPayload.options);
20437
- query$
20438
- .pipe(map((data) => {
20439
- data.entries.map((item) => this.adapter.adaptIn(item, this.fields));
20440
- return data;
20441
- }), catchError((err) => {
20442
- throw err;
20443
- }))
20444
- .subscribe((res) => {
20445
- this.loading = false;
20446
- this.onLoading.emit(false);
20447
- this.onLoad.emit(res);
20448
- if (!this.initialized) {
20449
- this.onInitialize.emit(res);
20450
- this.initialized = true;
20491
+ else {
20492
+ const _request = requestData;
20493
+ query$ = this.callApi.query(_request.query, _request.options);
20451
20494
  }
20452
- res.entries.forEach((element) => {
20453
- var _a, _b, _c, _d, _e, _f, _g, _h;
20454
- if (element.properties && ((_a = element.properties) === null || _a === void 0 ? void 0 : _a.creator) && ((_b = element.properties.creator) === null || _b === void 0 ? void 0 : _b.properties)) {
20455
- element.properties['creatorFullObject'] = Object.assign({}, element.properties.creator);
20456
- element.properties.creator =
20457
- ((_d = (_c = element.properties.creator) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.firstName) +
20458
- ' ' +
20459
- ((_f = (_e = element.properties.creator) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.lastName);
20460
- }
20461
- if (element.properties && ((_g = element.properties) === null || _g === void 0 ? void 0 : _g.assignee)) {
20462
- element.properties.assignee = (_h = element.properties) === null || _h === void 0 ? void 0 : _h.assignee.fullName;
20463
- }
20464
- // if(this.higlightUnread){
20465
- // this.cechkIfReadOrNot(element.properties);
20466
- // }
20495
+ query$
20496
+ .pipe(map((data) => {
20497
+ data.entries.map((item) => this.adapter.adaptIn(item, this.fields));
20498
+ return data;
20499
+ }), catchError((err) => {
20500
+ throw err;
20501
+ }), takeUntil(this.destroy$))
20502
+ .subscribe((res) => {
20503
+ this.loading = false;
20504
+ this.onLoading.emit(false);
20505
+ this.onLoad.emit(res);
20506
+ if (!this.initialized) {
20507
+ this.onInitialize.emit(res);
20508
+ this.initialized = true;
20509
+ }
20510
+ res.entries.forEach((element) => {
20511
+ var _a, _b, _c, _d, _e, _f, _g, _h;
20512
+ if (element.properties &&
20513
+ ((_a = element.properties) === null || _a === void 0 ? void 0 : _a.creator) &&
20514
+ ((_b = element.properties.creator) === null || _b === void 0 ? void 0 : _b.properties)) {
20515
+ element.properties['creatorFullObject'] = Object.assign({}, element.properties.creator);
20516
+ element.properties.creator =
20517
+ ((_d = (_c = element.properties.creator) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.firstName) +
20518
+ ' ' +
20519
+ ((_f = (_e = element.properties.creator) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.lastName);
20520
+ }
20521
+ if (element.properties && ((_g = element.properties) === null || _g === void 0 ? void 0 : _g.assignee)) {
20522
+ element.properties.assignee = (_h = element.properties) === null || _h === void 0 ? void 0 : _h.assignee.fullName;
20523
+ }
20524
+ // if(this.higlightUnread){
20525
+ // this.cechkIfReadOrNot(element.properties);
20526
+ // }
20527
+ });
20528
+ this.totalRecords = res.resultsCount;
20529
+ this.rows = res.entries;
20530
+ this.cdr.detectChanges();
20531
+ // emit data to outside in case of search page for the first time only to prevent refreshing aggregation with every page change
20532
+ // and for any other page type emit data directly in all page numbers
20533
+ if ((this.isSearchPage && this.pageNum === 1) || !this.isSearchPage)
20534
+ this.onGettingData.emit(res);
20467
20535
  });
20468
- this.totalRecords = res.resultsCount;
20469
- this.rows = res.entries;
20470
- this.cdr.detectChanges();
20471
- // emit data to outside in case of search page for the first time only to prevent refreshing aggregation with every page change
20472
- // and for any other page type emit data directly in all page numbers
20473
- if ((this.isSearchPage && this.pageNum === 1) || !this.isSearchPage)
20474
- this.onGettingData.emit(res);
20475
20536
  });
20476
20537
  }
20477
20538
  // function to be executed when clicking on single row
@@ -20501,7 +20562,7 @@ class DynamicTableComponent {
20501
20562
  this.onPage.emit({
20502
20563
  pageIndex: this._pageNumber,
20503
20564
  pageSize: this.pageSize,
20504
- length: this.totalRecords
20565
+ length: this.totalRecords,
20505
20566
  });
20506
20567
  this.getData({}, this.skipAggregation === 'onPageChange' ? { skipAggregates: 'true' } : {});
20507
20568
  }
@@ -20514,8 +20575,10 @@ class DynamicTableComponent {
20514
20575
  // check if loged in user is in viewers array or not
20515
20576
  if (element['viewers:users'] && element['viewers:users'].length) {
20516
20577
  element.isReaded = false;
20517
- element['viewers:users'].map(user => {
20518
- if (user.username === this.nuxeoService.nuxeoClient.user.properties.username && user.state === "read") {
20578
+ element['viewers:users'].map((user) => {
20579
+ if (user.username ===
20580
+ this.nuxeoService.nuxeoClient.user.properties.username &&
20581
+ user.state === 'read') {
20519
20582
  element.isReaded = true;
20520
20583
  }
20521
20584
  });
@@ -20525,8 +20588,8 @@ class DynamicTableComponent {
20525
20588
  }
20526
20589
  }
20527
20590
  }
20528
- DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, deps: [{ token: AdapterService }, { token: CallApiService }, { token: NuxeoService }, { token: DynamicTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
20529
- DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", higlightUnread: "higlightUnread", isLegacyMode: "isLegacyMode", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", requestActions: "requestActions", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", sortChanged: "sortChanged", onPageChange: "onPageChange", onPage: "onPage", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping\">\r\n\t<ng-container *ngIf=\"isLegacyMode\">\r\n\t\t<div class=\"table-reposition\">\r\n\t\t\t<ng-container *ngIf=\"rows.length\" [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t</div>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<cts-spinner></cts-spinner>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<div class=\"table-reposition\" *ngIf=\"!isLegacyMode\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"!initialized\"\r\n\t\t\t[ngTemplateOutlet]=\"skeleton\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: 10 }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length \"\r\n\t>\r\n\t\t<cts-pagination\r\n *ngIf=\"totalRecords > pageSize\"\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"paginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center mt-2\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || legacyDefaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"!isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #table>\r\n\t<cts-table\r\n\t\t[rows]=\"rows\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t[rowCursor]=\"rowCursor\"\r\n\t\t[fullWidth]=\"fullWidth\"\r\n\t\t[entityType]=\"entityType\"\r\n\t\t[prefix]=\"prefix\"\r\n\t\t[totalRecords]=\"totalRecords\"\r\n\t\t[tableMode]=\"tableMode\"\r\n\t\t[higlightUnread]=\"higlightUnread\"\r\n\t\t[componentName]=\"componentName\"\r\n\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t[tableActions]=\"tableActions\"\r\n\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t[defultSort]=\"defultSort\"\r\n\t\t[format]=\"format\"\r\n\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t(onSorting)=\"onSort($event)\"\r\n\t></cts-table>\r\n</ng-template>\r\n\r\n<ng-template #legacyDefaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"loading && initialized\" class=\"loading-content\">\r\n\t\t<mat-spinner [diameter]=\"100\"></mat-spinner>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton let-rows>\r\n\t<table class=\"w-full\">\r\n\t\t<thead *ngIf=\"false\">\r\n\t\t\t<tr class=\"border-b border-green-900\">\r\n\t\t\t\t<th *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 60px\">\r\n\t\t\t\t\t<app-skeleton width=\"60px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngFor=\"let num of [].constructor(columns?.length || 4); let i = index\" class=\"px-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.7rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr *ngFor=\"let row of [].constructor(rows || 10); let index = index\" class=\"border-b border-gray-200\">\r\n\t\t\t\t<td *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 50px\">\r\n\t\t\t\t\t<app-skeleton width=\"50px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngFor=\"let col of [].constructor(columns?.length || 4); let i = index\" class=\"p-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</ng-template>\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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:hidden}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}.loading-content{position:var(--loading-content-position, absolute);inset:0;display:grid;place-items:center;background:var(--loading-content-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-content-backdrop-filter, blur(3px));backdrop-filter:var(--loading-content-backdrop-filter, blur(3px))}.pagination-iner-wraper{display:var(--pagination-inner-display, flex);justify-content:var(--pagination-inner-justify, center);align-items:var(--pagination-inner-align, center)}\n"], components: [{ type: SpinnerComponent, selector: "cts-spinner" }, { type: PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }, { type: TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "higlightUnread", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
20591
+ DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, deps: [{ token: AdapterService }, { token: CallApiService }, { token: NuxeoService }, { token: DynamicTableService }, { token: i0.ChangeDetectorRef }, { token: TableHooksService }], target: i0.ɵɵFactoryTarget.Component });
20592
+ DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", higlightUnread: "higlightUnread", isLegacyMode: "isLegacyMode", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", requestActions: "requestActions", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", sortChanged: "sortChanged", onPageChange: "onPageChange", onPage: "onPage", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping\">\r\n\t<ng-container *ngIf=\"isLegacyMode\">\r\n\t\t<div class=\"table-reposition\">\r\n\t\t\t<ng-container *ngIf=\"rows.length\" [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t</div>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<cts-spinner></cts-spinner>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<div class=\"table-reposition\" *ngIf=\"!isLegacyMode\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"!initialized\"\r\n\t\t\t[ngTemplateOutlet]=\"skeleton\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: 10 }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length \"\r\n\t>\r\n\t\t<cts-pagination\r\n *ngIf=\"totalRecords > pageSize\"\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"paginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center mt-2\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || legacyDefaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"!isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #table>\r\n\t<cts-table\r\n\t\t[rows]=\"rows\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t[rowCursor]=\"rowCursor\"\r\n\t\t[fullWidth]=\"fullWidth\"\r\n\t\t[entityType]=\"entityType\"\r\n\t\t[prefix]=\"prefix\"\r\n\t\t[totalRecords]=\"totalRecords\"\r\n\t\t[tableMode]=\"tableMode\"\r\n\t\t[higlightUnread]=\"higlightUnread\"\r\n\t\t[componentName]=\"componentName\"\r\n\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t[tableActions]=\"tableActions\"\r\n\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t[defultSort]=\"defultSort\"\r\n\t\t[format]=\"format\"\r\n\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t(onSorting)=\"onSort($event)\"\r\n\t></cts-table>\r\n</ng-template>\r\n\r\n<ng-template #legacyDefaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"loading && initialized\" class=\"loading-content\">\r\n\t\t<mat-spinner [diameter]=\"100\"></mat-spinner>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton let-rows>\r\n\t<table class=\"w-full\">\r\n\t\t<thead *ngIf=\"false\">\r\n\t\t\t<tr class=\"border-b border-green-900\">\r\n\t\t\t\t<th *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 60px\">\r\n\t\t\t\t\t<app-skeleton width=\"60px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngFor=\"let num of [].constructor(columns?.length || 4); let i = index\" class=\"px-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.7rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr *ngFor=\"let row of [].constructor(rows || 10); let index = index\" class=\"border-b border-gray-200\">\r\n\t\t\t\t<td *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 50px\">\r\n\t\t\t\t\t<app-skeleton width=\"50px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngFor=\"let col of [].constructor(columns?.length || 4); let i = index\" class=\"p-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</ng-template>\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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:hidden}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}.loading-content{position:var(--loading-content-position, absolute);inset:0;display:grid;place-items:center;background:var(--loading-content-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-content-backdrop-filter, blur(3px));backdrop-filter:var(--loading-content-backdrop-filter, blur(3px))}.pagination-iner-wraper{display:var(--pagination-inner-display, flex);justify-content:var(--pagination-inner-justify, center);align-items:var(--pagination-inner-align, center)}\n"], components: [{ type: SpinnerComponent, selector: "cts-spinner" }, { type: PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }, { type: TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "higlightUnread", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
20530
20593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, decorators: [{
20531
20594
  type: Component,
20532
20595
  args: [{
@@ -20536,10 +20599,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20536
20599
  encapsulation: ViewEncapsulation.None,
20537
20600
  host: {
20538
20601
  '[class.loading-results]': 'loading',
20539
- '[class.no-data]': 'rows.length <= 0'
20540
- }
20602
+ '[class.no-data]': 'rows.length <= 0',
20603
+ },
20541
20604
  }]
20542
- }], ctorParameters: function () { return [{ type: AdapterService }, { type: CallApiService }, { type: NuxeoService }, { type: DynamicTableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onRowSelected: [{
20605
+ }], ctorParameters: function () { return [{ type: AdapterService }, { type: CallApiService }, { type: NuxeoService }, { type: DynamicTableService }, { type: i0.ChangeDetectorRef }, { type: TableHooksService }]; }, propDecorators: { onRowSelected: [{
20543
20606
  type: Output
20544
20607
  }], onRowIndexSelected: [{
20545
20608
  type: Output
@@ -43097,76 +43160,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
43097
43160
  }]
43098
43161
  }], ctorParameters: function () { return [{ type: ChartDataTransformers }]; } });
43099
43162
 
43100
- class DynamicTimelineReportService {
43101
- constructor(_ndfReportsService) {
43102
- this._ndfReportsService = _ndfReportsService;
43103
- this._isInitialized = false;
43104
- this.isLoadingResult = false;
43105
- this._selectedGroupSub = new BehaviorSubject(null);
43106
- this.selectedGroup$ = this._selectedGroupSub.asObservable();
43107
- this._rebuildTriggerSub = new BehaviorSubject(false);
43108
- this.rebuild$ = this._rebuildTriggerSub.asObservable();
43109
- }
43110
- changeGroup(group) {
43111
- this._selectedGroupSub.next(group);
43112
- this.rebuild();
43113
- }
43114
- rebuild() {
43115
- this._rebuildTriggerSub.next(true);
43116
- }
43117
- prepareData() {
43118
- return pipe(tap(([config, criteria]) => {
43119
- var _a;
43120
- if (!this._selectedGroupSub.getValue()) {
43121
- this._selectedGroupSub.next(((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected) || 'week');
43122
- }
43123
- this.payload = ___default.merge(this.prepareSelectedGroups(config), criteria || {});
43124
- }), switchMap(([config, criteria]) => {
43125
- var _a, _b, _c;
43126
- const request = config === null || config === void 0 ? void 0 : config.request;
43127
- if (!request) {
43128
- return of(null);
43129
- }
43130
- let _payload = this.payload;
43131
- if (((_a = request === null || request === void 0 ? void 0 : request.actions) === null || _a === void 0 ? void 0 : _a.beforeSubmit) && typeof ((_b = request === null || request === void 0 ? void 0 : request.actions) === null || _b === void 0 ? void 0 : _b.beforeSubmit) === 'string') {
43132
- try {
43133
- _payload = Evaluator.evaluate((_c = request === null || request === void 0 ? void 0 : request.actions) === null || _c === void 0 ? void 0 : _c.beforeSubmit, { config, criteria: this.payload }, 'payload');
43134
- }
43135
- catch (e) {
43136
- console.error(e);
43137
- _payload = this.payload;
43138
- }
43139
- }
43140
- const data$ = this._ndfReportsService.getData(request, _payload).pipe(catchError((error) => {
43141
- console.error(error);
43142
- return of(null);
43143
- }), finalize(() => {
43144
- this.isLoadingResult = false;
43145
- }));
43146
- return forkJoin({
43147
- config: of(config),
43148
- data: data$
43149
- });
43150
- }));
43151
- }
43152
- prepareSelectedGroups(config) {
43153
- const data = config.datasource.map((source) => ({
43154
- name: source.aggregation,
43155
- interval: this._selectedGroupSub.getValue()
43156
- }));
43157
- return {
43158
- payload: {
43159
- aggregationNames: data
43160
- }
43161
- };
43162
- }
43163
- }
43164
- DynamicTimelineReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, deps: [{ token: NdfReportsService }], target: i0.ɵɵFactoryTarget.Injectable });
43165
- DynamicTimelineReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService });
43166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, decorators: [{
43167
- type: Injectable
43168
- }], ctorParameters: function () { return [{ type: NdfReportsService }]; } });
43169
-
43170
43163
  class ReportsDataTransformers {
43171
43164
  constructor() {
43172
43165
  this._transformations = new Map();
@@ -43235,9 +43228,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
43235
43228
  args: [{ providedIn: 'root' }]
43236
43229
  }] });
43237
43230
 
43231
+ class NdfReportsService extends BaseService {
43232
+ constructor(injector, _reportsDataTransformers) {
43233
+ super(injector);
43234
+ this._reportsDataTransformers = _reportsDataTransformers;
43235
+ }
43236
+ getData(request, criteria = {}) {
43237
+ return (request === null || request === void 0 ? void 0 : request.customUrl)
43238
+ ? this._customQuery(request, criteria)
43239
+ : this._query(request, criteria);
43240
+ }
43241
+ _query(request, criteria) {
43242
+ return this.query({
43243
+ pageProvider: request.pageProvider,
43244
+ headers: request === null || request === void 0 ? void 0 : request.headers,
43245
+ params: criteria === null || criteria === void 0 ? void 0 : criteria.params,
43246
+ }).pipe(switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer)
43247
+ ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response)
43248
+ : of(response)));
43249
+ }
43250
+ _customQuery(request, criteria) {
43251
+ var _a;
43252
+ return this._callApiService
43253
+ .customQuery({
43254
+ url: '/api/v1' + request.customUrl.url,
43255
+ method: ((_a = request.customUrl) === null || _a === void 0 ? void 0 : _a.method) || 'GET',
43256
+ }, Object.assign({}, (criteria === null || criteria === void 0 ? void 0 : criteria.params) || {}, (request === null || request === void 0 ? void 0 : request.params) || {}), request === null || request === void 0 ? void 0 : request.headers, Object.assign({}, (criteria === null || criteria === void 0 ? void 0 : criteria.payload) || {}, (request === null || request === void 0 ? void 0 : request.payload) || {}))
43257
+ .pipe(switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer)
43258
+ ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response)
43259
+ : of(response)));
43260
+ }
43261
+ prepareRequest(request, criteria) {
43262
+ const params = Object.assign(Object.assign({ pageSize: 1 }, ((request === null || request === void 0 ? void 0 : request.params) || {})), ((criteria === null || criteria === void 0 ? void 0 : criteria.params) || {}));
43263
+ const payload = ___default.mergeWith(request.payload || {}, (criteria === null || criteria === void 0 ? void 0 : criteria.payload) || {}, (objValue, srcValue, key) => {
43264
+ if (Array.isArray(objValue) && key === 'predicateList') {
43265
+ return objValue.concat(srcValue);
43266
+ }
43267
+ });
43268
+ return {
43269
+ params,
43270
+ payload,
43271
+ };
43272
+ }
43273
+ }
43274
+ NdfReportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, deps: [{ token: i0.Injector }, { token: ReportsDataTransformers }], target: i0.ɵɵFactoryTarget.Injectable });
43275
+ NdfReportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, providedIn: 'root' });
43276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, decorators: [{
43277
+ type: Injectable,
43278
+ args: [{
43279
+ providedIn: 'root',
43280
+ }]
43281
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: ReportsDataTransformers }]; } });
43282
+
43238
43283
  class ReportsHooksService {
43239
43284
  constructor() {
43240
43285
  this.beforeSubmitHooks = [];
43286
+ this.reportsActions = new Map();
43241
43287
  }
43242
43288
  registerBeforeSubmit(handler) {
43243
43289
  this.beforeSubmitHooks.push(handler);
@@ -43277,6 +43323,38 @@ class ReportsHooksService {
43277
43323
  return payload;
43278
43324
  }
43279
43325
  }
43326
+ registerBeforeSubmitAction(name, action) {
43327
+ this.reportsActions.set(name, action);
43328
+ }
43329
+ unregisterBeforeSubmitAction(name) {
43330
+ this.reportsActions.delete(name);
43331
+ }
43332
+ executeBeforeSubmitAction(name, context) {
43333
+ var _a;
43334
+ return __awaiter(this, void 0, void 0, function* () {
43335
+ const action = this.reportsActions.get(name);
43336
+ if (!action) {
43337
+ console.warn(`beforeSubmit action "${name}" not found`);
43338
+ return {
43339
+ request: context.request,
43340
+ data: context.data,
43341
+ };
43342
+ }
43343
+ try {
43344
+ return ((_a = (yield action(context))) !== null && _a !== void 0 ? _a : {
43345
+ request: context.request,
43346
+ data: context.data,
43347
+ });
43348
+ }
43349
+ catch (e) {
43350
+ console.error(`Error executing beforeSubmit action "${name}"`, e);
43351
+ return {
43352
+ request: context.request,
43353
+ data: context.data,
43354
+ };
43355
+ }
43356
+ });
43357
+ }
43280
43358
  }
43281
43359
  ReportsHooksService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportsHooksService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43282
43360
  ReportsHooksService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportsHooksService, providedIn: 'root' });
@@ -43287,61 +43365,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
43287
43365
  }]
43288
43366
  }] });
43289
43367
 
43290
- class NdfReportsService extends BaseService {
43291
- constructor(injector, _reportsDataTransformers, _reportsHooksService) {
43292
- super(injector);
43293
- this._reportsDataTransformers = _reportsDataTransformers;
43368
+ class DynamicTimelineReportService {
43369
+ constructor(_ndfReportsService, _reportsHooksService) {
43370
+ this._ndfReportsService = _ndfReportsService;
43294
43371
  this._reportsHooksService = _reportsHooksService;
43372
+ this._isInitialized = false;
43373
+ this.isLoadingResult = false;
43374
+ this._selectedGroupSub = new BehaviorSubject(null);
43375
+ this.selectedGroup$ = this._selectedGroupSub.asObservable();
43376
+ this._rebuildTriggerSub = new BehaviorSubject(false);
43377
+ this.rebuild$ = this._rebuildTriggerSub.asObservable();
43295
43378
  }
43296
- getData(request, criteria = {}) {
43297
- return (request === null || request === void 0 ? void 0 : request.customUrl)
43298
- ? this._customQuery(request, criteria)
43299
- : this._query(request, criteria);
43379
+ changeGroup(group) {
43380
+ this._selectedGroupSub.next(group);
43381
+ this.rebuild();
43300
43382
  }
43301
- _query(request, criteria) {
43302
- return from(this._reportsHooksService.executeBeforeSubmit(Object.assign(Object.assign({}, this._prepareRequest(request, criteria)), { request }))).pipe(switchMap(({ params }) => this.query({
43303
- pageProvider: request.pageProvider,
43304
- headers: request === null || request === void 0 ? void 0 : request.headers,
43305
- params: params,
43306
- })), switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer)
43307
- ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response)
43308
- : of(response)));
43383
+ rebuild() {
43384
+ this._rebuildTriggerSub.next(true);
43309
43385
  }
43310
- _customQuery(request, criteria) {
43311
- return from(this._reportsHooksService.executeBeforeSubmit(Object.assign(Object.assign({}, this._prepareRequest(request, criteria)), { request }))).pipe(switchMap(({ params, payload }) => {
43386
+ prepareData() {
43387
+ return pipe(tap(([config, criteria]) => {
43312
43388
  var _a;
43313
- return this.request({
43314
- type: ((_a = request.customUrl) === null || _a === void 0 ? void 0 : _a.method) || 'get',
43315
- endpoint: request.customUrl.url,
43316
- headers: request === null || request === void 0 ? void 0 : request.headers,
43317
- queryParams: params,
43318
- payload: payload,
43319
- });
43320
- }), switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer)
43321
- ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response)
43322
- : of(response)));
43323
- }
43324
- _prepareRequest(request, criteria) {
43325
- const params = Object.assign(Object.assign({ pageSize: 1 }, ((request === null || request === void 0 ? void 0 : request.params) || {})), ((criteria === null || criteria === void 0 ? void 0 : criteria.params) || {}));
43326
- const payload = ___default.mergeWith(request.payload || {}, (criteria === null || criteria === void 0 ? void 0 : criteria.payload) || {}, (objValue, srcValue, key) => {
43327
- if (Array.isArray(objValue) && key === 'predicateList') {
43328
- return objValue.concat(srcValue);
43389
+ if (!this._selectedGroupSub.getValue()) {
43390
+ this._selectedGroupSub.next(((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected) || 'week');
43329
43391
  }
43330
- });
43392
+ this.payload = ___default.merge(this.prepareSelectedGroups(config), criteria || {});
43393
+ }), switchMap(([config, criteria]) => {
43394
+ var _a;
43395
+ const request = config === null || config === void 0 ? void 0 : config.request;
43396
+ if (!request) {
43397
+ return of(null);
43398
+ }
43399
+ let _request = {
43400
+ request,
43401
+ data: this._ndfReportsService.prepareRequest(request, this.payload),
43402
+ };
43403
+ const beforeSubmit$ = ((_a = request === null || request === void 0 ? void 0 : request.actions) === null || _a === void 0 ? void 0 : _a.beforeSubmit)
43404
+ ? from(this._reportsHooksService.executeBeforeSubmitAction(request.actions.beforeSubmit, Object.assign({ config: Object.assign(Object.assign({}, config), { request: undefined }), criteria }, _request)))
43405
+ : of(_request);
43406
+ return beforeSubmit$.pipe(switchMap((req) => forkJoin({
43407
+ config: of(config),
43408
+ data: this._ndfReportsService.getData(req.request, req.data).pipe(catchError((error) => {
43409
+ console.error(error);
43410
+ return of(null);
43411
+ }), finalize(() => (this.isLoadingResult = false))),
43412
+ })));
43413
+ }));
43414
+ }
43415
+ prepareSelectedGroups(config) {
43416
+ const data = config.datasource.map((source) => ({
43417
+ name: source.aggregation,
43418
+ interval: this._selectedGroupSub.getValue(),
43419
+ }));
43331
43420
  return {
43332
- params,
43333
- payload,
43421
+ payload: {
43422
+ aggregationNames: data,
43423
+ },
43334
43424
  };
43335
43425
  }
43336
43426
  }
43337
- NdfReportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, deps: [{ token: i0.Injector }, { token: ReportsDataTransformers }, { token: ReportsHooksService }], target: i0.ɵɵFactoryTarget.Injectable });
43338
- NdfReportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, providedIn: 'root' });
43339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, decorators: [{
43340
- type: Injectable,
43341
- args: [{
43342
- providedIn: 'root',
43343
- }]
43344
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: ReportsDataTransformers }, { type: ReportsHooksService }]; } });
43427
+ DynamicTimelineReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, deps: [{ token: NdfReportsService }, { token: ReportsHooksService }], target: i0.ɵɵFactoryTarget.Injectable });
43428
+ DynamicTimelineReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService });
43429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, decorators: [{
43430
+ type: Injectable
43431
+ }], ctorParameters: function () { return [{ type: NdfReportsService }, { type: ReportsHooksService }]; } });
43345
43432
 
43346
43433
  /**
43347
43434
  * Horizontal Bar Options
@@ -45105,23 +45192,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
45105
45192
  type: Output
45106
45193
  }] } });
45107
45194
 
45108
- class CheckConditionPipe {
45109
- transform(activeQuery, reports, config) {
45110
- if (reports === null || reports === void 0 ? void 0 : reports.condition) {
45111
- return Evaluator.evaluate(reports === null || reports === void 0 ? void 0 : reports.condition, { activeQuery, config }, 'show');
45112
- }
45113
- return true;
45114
- }
45115
- }
45116
- CheckConditionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
45117
- CheckConditionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, name: "checkCondition" });
45118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, decorators: [{
45119
- type: Pipe,
45120
- args: [{
45121
- name: 'checkCondition',
45122
- }]
45123
- }] });
45124
-
45125
45195
  const slideAnimation = trigger('slideInOut', [
45126
45196
  state('closed', style({
45127
45197
  transform: 'translateX(var(--ndf-reports-details-translateX, -100%))',
@@ -45130,7 +45200,7 @@ const slideAnimation = trigger('slideInOut', [
45130
45200
  transition('closed <=> open', animate('200ms ease-out')),
45131
45201
  ]);
45132
45202
  class NdfReportsComponent extends DestroySubject {
45133
- constructor(_translateService, _filtersMapper, _ndfReportsService, _chartHelperService, _transformService, _cdr, _filterQueryService, _stateService, _configurationService, _router, _ngZone) {
45203
+ constructor(_translateService, _filtersMapper, _ndfReportsService, _chartHelperService, _transformService, _cdr, _filterQueryService, _stateService, _configurationService, _router, _ngZone, _reportsHooksService) {
45134
45204
  super();
45135
45205
  this._translateService = _translateService;
45136
45206
  this._filtersMapper = _filtersMapper;
@@ -45143,6 +45213,7 @@ class NdfReportsComponent extends DestroySubject {
45143
45213
  this._configurationService = _configurationService;
45144
45214
  this._router = _router;
45145
45215
  this._ngZone = _ngZone;
45216
+ this._reportsHooksService = _reportsHooksService;
45146
45217
  this._isHeightUpdated = false;
45147
45218
  this.direction = 'rtl';
45148
45219
  this.isPanelOpened = false;
@@ -45155,6 +45226,7 @@ class NdfReportsComponent extends DestroySubject {
45155
45226
  this.reportConfig$ = this._configSubject.asObservable();
45156
45227
  this._filtersCriteriaSubject = new BehaviorSubject(null);
45157
45228
  this.filtersParams$ = this._filtersCriteriaSubject.asObservable();
45229
+ this._triggerFiltersSub = new BehaviorSubject(true);
45158
45230
  this._detailsFiltersSubject = new BehaviorSubject(null);
45159
45231
  this.detailsFiltersParams$ = this._detailsFiltersSubject.asObservable();
45160
45232
  this._reportDetailsSubject = new BehaviorSubject(null);
@@ -45168,6 +45240,12 @@ class NdfReportsComponent extends DestroySubject {
45168
45240
  this.trackByFn = (_, report) => {
45169
45241
  return report.id;
45170
45242
  };
45243
+ this.triggerUpdate = () => {
45244
+ this._triggerFiltersSub.next(true);
45245
+ };
45246
+ this.resetFilters = () => {
45247
+ this._resetQueryAndFiltersCriteria();
45248
+ };
45171
45249
  this.filterChanged = (criteria) => {
45172
45250
  if (___default.isEqual(this.activeQuery, criteria)) {
45173
45251
  return;
@@ -45208,6 +45286,12 @@ class NdfReportsComponent extends DestroySubject {
45208
45286
  this.reportsData$ = this._prepareReports();
45209
45287
  this._handleKeyboardEvent();
45210
45288
  }
45289
+ callLoadCondition() {
45290
+ if (this.loadCondition && typeof this.loadCondition == 'function') {
45291
+ return this.loadCondition(this.activeQuery);
45292
+ }
45293
+ return true;
45294
+ }
45211
45295
  ngOnChanges(changes) {
45212
45296
  var _a, _b;
45213
45297
  const reportsKey = (_a = changes.reportsKey) === null || _a === void 0 ? void 0 : _a.currentValue;
@@ -45315,8 +45399,9 @@ class NdfReportsComponent extends DestroySubject {
45315
45399
  _prepareReports() {
45316
45400
  this.isLoadingResult = true;
45317
45401
  return combineLatest([
45318
- this.filtersParams$.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b))),
45402
+ this.filtersParams$,
45319
45403
  this.reportConfig$,
45404
+ this._triggerFiltersSub,
45320
45405
  ]).pipe(tap(() => {
45321
45406
  this.isLoadingResult = true;
45322
45407
  this._cdr.detectChanges();
@@ -45329,7 +45414,7 @@ class NdfReportsComponent extends DestroySubject {
45329
45414
  if (!criteria && !!config.activeQuery) {
45330
45415
  _payload = this.prepareCriteriaPayload(config.activeQuery);
45331
45416
  }
45332
- const data$ = this._ndfReportsService.getData(request, _payload).pipe(switchMap((reports) => {
45417
+ const data$ = from(this._reportsHooksService.executeBeforeSubmit(Object.assign(Object.assign({}, this._ndfReportsService.prepareRequest(request, criteria)), { request }))).pipe(switchMap((res) => this._ndfReportsService.getData(request, res)), switchMap((reports) => {
45333
45418
  return this._transformService.prepareData(reports, config);
45334
45419
  }), finalize(() => {
45335
45420
  this.isLoadingResult = false;
@@ -45449,8 +45534,8 @@ class NdfReportsComponent extends DestroySubject {
45449
45534
  this._filtersCriteriaSubject.next(null);
45450
45535
  }
45451
45536
  }
45452
- 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: ReportConfigurationService }, { token: i1$5.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
45453
- 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" }, queries: [{ propertyName: "filterCustomTemplate", first: true, predicate: CUSTOM_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "headerPanelTemplate", first: true, predicate: HEADER_PANEL_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "emptyContentTemplate", first: true, predicate: EMPTY_CONTENT_TEMPLATE, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"ndf-reports__container\"\r\n [class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n [dir]=\"direction\"\r\n ndfFluidHeight\r\n>\r\n <div class=\"ndf-reports__panel print:hidden\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"headerPanelTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: aggregations,\r\n filterChanged: filterChanged,\r\n activeQuery: activeQuery,\r\n config: config\r\n }\"\r\n ></ng-container>\r\n <app-filters-panel\r\n *ngIf=\"!!filtersConfig?.fields?.length\"\r\n [fields]=\"filtersConfig?.fields\"\r\n [aggregations]=\"aggregations\"\r\n (filterChanged)=\"filterChanged($event)\"\r\n [activeQuery]=\"activeFiltersQuery$ | async\"\r\n class=\"ndf-reports__filters\"\r\n [customTemplateRef]=\"filterCustomTemplate\"\r\n ></app-filters-panel>\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"\r\n activeQuery | checkCondition : reportConfig : config;\r\n else emptyContent\r\n \"\r\n >\r\n <div\r\n class=\"ndf-reports__content\"\r\n (scrolled)=\"onContentScroll($event)\"\r\n *ngIf=\"reportsData$ | async as reports\"\r\n >\r\n <div class=\"ndf-reports__header flex pt-4 print:hidden\">\r\n <button\r\n mat-stroked-button\r\n class=\"toggle-button\"\r\n (click)=\"togglePanel()\"\r\n >\r\n <mat-icon> filter_alt</mat-icon>\r\n </button>\r\n <app-editor-button\r\n *ngIf=\"jsonEditorEnabled && reportsKey\"\r\n [key]=\"reportsKey\"\r\n [type]=\"editorType\"\r\n ></app-editor-button>\r\n <button\r\n mat-stroked-button\r\n *ngIf=\"config?.options?.print\"\r\n class=\"print-button\"\r\n (click)=\"printAll()\"\r\n >\r\n <mat-icon> print</mat-icon>\r\n </button>\r\n </div>\r\n <mat-spinner\r\n *ngIf=\"isLoadingResult\"\r\n class=\"mt-5 mx-auto\"\r\n [diameter]=\"48\"\r\n ></mat-spinner>\r\n\r\n <div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n <app-ndf-report\r\n *ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n [config]=\"config\"\r\n [data]=\"reports?.response\"\r\n [criteria]=\"filtersParams$ | async\"\r\n [direction]=\"direction\"\r\n [attr.data-width]=\"config?.layout?.width || 4\"\r\n [attr.data-height]=\"config?.layout?.height || 'auto'\"\r\n [attr.data-start-column]=\"config?.layout?.columnPosition || 'auto'\"\r\n [attr.data-start-row]=\"config?.layout?.rowPosition || 'auto'\"\r\n [class.wide]=\"config?.layout?.width >= 6\"\r\n [style]=\"config?.layout?.style\"\r\n class=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n (onNavigate)=\"onNavigate($event)\"\r\n (onOpen)=\"openReportDetails($event, config)\"\r\n ></app-ndf-report>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div\r\n class=\"ndf-reports__details print:hidden\"\r\n [class.opened]=\"showDetails\"\r\n [@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n (@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n >\r\n <app-ndf-table\r\n *ngIf=\"reportDetails$ | async as report\"\r\n [config]=\"report.config\"\r\n [activeQuery]=\"activeFiltersQuery$ | async\"\r\n [customCriteria]=\"detailsFiltersParams$ | async\"\r\n >\r\n <ng-template searchTableTemplate let-toggle=\"togglePanel\">\r\n <div class=\"ndf-reports__details__header flex gap-2\">\r\n <button mat-stroked-button class=\"toggle-button\" (click)=\"toggle()\">\r\n <mat-icon> filter_alt</mat-icon>\r\n </button>\r\n <button\r\n mat-stroked-button\r\n class=\"close-button\"\r\n (click)=\"closeDetailsPanel()\"\r\n >\r\n <mat-icon> close</mat-icon>\r\n </button>\r\n </div>\r\n <h3>\r\n {{ report.label | translate }}\r\n </h3>\r\n </ng-template>\r\n </app-ndf-table>\r\n </div>\r\n</div>\r\n\r\n<ng-template #emptyContent>\r\n <div class=\"ndf-reports__content flex items-center flex-grow-1\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"emptyContentTemplate || defaultEmptyContent\"\r\n ></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyContent>\r\n <div class=\"no-data mt-26\">\r\n {{ 'noData' | translate }}\r\n </div>\r\n</ng-template>\r\n", styles: [":host{--table-dev-height: var(--ndf-reports-table-dev-height, auto);--report-height: var(--ndf-reports-report-height, 430px);--cp-height: var(--report-height);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%}@media print{:host{--report-height: auto;--cp-print-min-height: 80mm;padding:0}}.ndf-reports *{box-sizing:border-box;min-height:0}.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:var(--ndf-reports-container-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-pis: var(--panel-width)}@media print{.ndf-reports__container{--ndf-reports-container-overflow: visible;height:100%}}.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-pis, 1rem);padding-inline-end:var(--ndf-reports-content-pie, 1rem);padding-block:var(--ndf-reports-content-pb, 0 1rem);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative;display:flex;flex-direction:column}@media print{.ndf-reports__content{--ndf-reports-content-overflow-y: visible;width:100%;margin:0;padding:0;page-break-after:avoid}}.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: 12;--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}.reports-grid__item[data-width=\"1\"]{--col-span: span 1}.reports-grid__item[data-start-column=\"1\"]{--col-start: 1}.reports-grid__item[data-start-row=\"1\"]{--row-start: 1}.reports-grid__item[data-height=\"1\"]{--row-span: 1}.reports-grid__item[data-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-start-column=\"2\"]{--col-start: 2}.reports-grid__item[data-start-row=\"2\"]{--row-start: 2}.reports-grid__item[data-height=\"2\"]{--row-span: 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-start-column=\"3\"]{--col-start: 3}.reports-grid__item[data-start-row=\"3\"]{--row-start: 3}.reports-grid__item[data-height=\"3\"]{--row-span: 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-start-column=\"4\"]{--col-start: 4}.reports-grid__item[data-start-row=\"4\"]{--row-start: 4}.reports-grid__item[data-height=\"4\"]{--row-span: 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-start-column=\"5\"]{--col-start: 5}.reports-grid__item[data-start-row=\"5\"]{--row-start: 5}.reports-grid__item[data-height=\"5\"]{--row-span: 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-start-column=\"6\"]{--col-start: 6}.reports-grid__item[data-start-row=\"6\"]{--row-start: 6}.reports-grid__item[data-height=\"6\"]{--row-span: 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-start-column=\"7\"]{--col-start: 7}.reports-grid__item[data-start-row=\"7\"]{--row-start: 7}.reports-grid__item[data-height=\"7\"]{--row-span: 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-start-column=\"8\"]{--col-start: 8}.reports-grid__item[data-start-row=\"8\"]{--row-start: 8}.reports-grid__item[data-height=\"8\"]{--row-span: 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-start-column=\"9\"]{--col-start: 9}.reports-grid__item[data-start-row=\"9\"]{--row-start: 9}.reports-grid__item[data-height=\"9\"]{--row-span: 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-start-column=\"10\"]{--col-start: 10}.reports-grid__item[data-start-row=\"10\"]{--row-start: 10}.reports-grid__item[data-height=\"10\"]{--row-span: 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-start-column=\"11\"]{--col-start: 11}.reports-grid__item[data-start-row=\"11\"]{--row-start: 11}.reports-grid__item[data-height=\"11\"]{--row-span: 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}.reports-grid__item[data-start-column=\"12\"]{--col-start: 12}.reports-grid__item[data-start-row=\"12\"]{--row-start: 12}.reports-grid__item[data-height=\"12\"]{--row-span: 12}@media screen{.reports-grid__item{grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--row-start, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 10mm;--reports-grid-margin-top: 0;padding:0;margin:0;--rg-columns: repeat(2, 1fr)}.reports-grid__item{--col-start: auto;--col-span: span 1;border:1px solid #f5f5f5;border-radius:var(--cp-radius, 1rem);page-break-inside:avoid;break-inside:avoid-page}}@media screen and (max-width: 1199px){.reports-grid__item[data-width=\"1\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"2\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"3\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"4\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"5\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"6\"]{--col-start: auto;--col-span: span 6}.reports-grid__item.wide{--col-start: 1;--col-span: -1}}@media screen and (max-width: 767px){.reports-grid__item[data-width]{--col-start: 1;--col-span: -1}}\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: i6.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", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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, "checkCondition": CheckConditionPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
45537
+ 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: ReportConfigurationService }, { token: i1$5.Router }, { token: i0.NgZone }, { token: ReportsHooksService }], target: i0.ɵɵFactoryTarget.Component });
45538
+ 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", loadCondition: "loadCondition", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, queries: [{ propertyName: "filterCustomTemplate", first: true, predicate: CUSTOM_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "headerPanelTemplate", first: true, predicate: HEADER_PANEL_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "emptyContentTemplate", first: true, predicate: EMPTY_CONTENT_TEMPLATE, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"ndf-reports__container\"\r\n [class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n [dir]=\"direction\"\r\n ndfFluidHeight\r\n>\r\n <div\r\n class=\"absolute flex justify-center items-center loading-result\"\r\n *ngIf=\"isLoadingResult && callLoadCondition()\"\r\n >\r\n <mat-spinner class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n </div>\r\n\r\n <div class=\"ndf-reports__panel print:hidden\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"headerPanelTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: aggregations,\r\n filterChanged: filterChanged,\r\n activeQuery: activeQuery,\r\n triggerUpdate: triggerUpdate,\r\n reset: resetFilters,\r\n config: config\r\n }\"\r\n ></ng-container>\r\n\r\n <app-filters-panel\r\n *ngIf=\"!!filtersConfig?.fields?.length && callLoadCondition()\"\r\n [fields]=\"filtersConfig?.fields\"\r\n [aggregations]=\"aggregations\"\r\n (filterChanged)=\"filterChanged($event)\"\r\n [activeQuery]=\"activeFiltersQuery$ | async\"\r\n class=\"ndf-reports__filters\"\r\n [customTemplateRef]=\"filterCustomTemplate\"\r\n ></app-filters-panel>\r\n </div>\r\n\r\n <ng-container *ngIf=\"callLoadCondition(); else emptyContent\">\r\n <div\r\n class=\"ndf-reports__content\"\r\n (scrolled)=\"onContentScroll($event)\"\r\n *ngIf=\"reportsData$ | async as reports\"\r\n >\r\n <div class=\"ndf-reports__header flex pt-4 print:hidden\">\r\n <button\r\n mat-stroked-button\r\n class=\"toggle-button\"\r\n (click)=\"togglePanel()\"\r\n >\r\n <mat-icon> filter_alt</mat-icon>\r\n </button>\r\n <app-editor-button\r\n *ngIf=\"jsonEditorEnabled && reportsKey\"\r\n [key]=\"reportsKey\"\r\n [type]=\"editorType\"\r\n ></app-editor-button>\r\n <button\r\n mat-stroked-button\r\n *ngIf=\"config?.options?.print\"\r\n class=\"print-button\"\r\n (click)=\"printAll()\"\r\n >\r\n <mat-icon> print</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n <app-ndf-report\r\n *ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n [config]=\"config\"\r\n [data]=\"reports?.response\"\r\n [criteria]=\"filtersParams$ | async\"\r\n [direction]=\"direction\"\r\n [attr.data-width]=\"config?.layout?.width || 4\"\r\n [attr.data-height]=\"config?.layout?.height || 'auto'\"\r\n [attr.data-start-column]=\"config?.layout?.columnPosition || 'auto'\"\r\n [attr.data-start-row]=\"config?.layout?.rowPosition || 'auto'\"\r\n [class.wide]=\"config?.layout?.width >= 6\"\r\n [style]=\"config?.layout?.style\"\r\n class=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n (onNavigate)=\"onNavigate($event)\"\r\n (onOpen)=\"openReportDetails($event, config)\"\r\n ></app-ndf-report>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div\r\n class=\"ndf-reports__details print:hidden\"\r\n [class.opened]=\"showDetails\"\r\n [@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n (@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n >\r\n <app-ndf-table\r\n *ngIf=\"reportDetails$ | async as report\"\r\n [config]=\"report.config\"\r\n [activeQuery]=\"activeFiltersQuery$ | async\"\r\n [customCriteria]=\"detailsFiltersParams$ | async\"\r\n >\r\n <ng-template searchTableTemplate let-toggle=\"togglePanel\">\r\n <div class=\"ndf-reports__details__header flex gap-2\">\r\n <button mat-stroked-button class=\"toggle-button\" (click)=\"toggle()\">\r\n <mat-icon> filter_alt</mat-icon>\r\n </button>\r\n <button\r\n mat-stroked-button\r\n class=\"close-button\"\r\n (click)=\"closeDetailsPanel()\"\r\n >\r\n <mat-icon> close</mat-icon>\r\n </button>\r\n </div>\r\n <h3>\r\n {{ report.label | translate }}\r\n </h3>\r\n </ng-template>\r\n </app-ndf-table>\r\n </div>\r\n</div>\r\n\r\n<ng-template #emptyContent>\r\n <div class=\"ndf-reports__content flex items-center flex-grow-1\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"emptyContentTemplate || defaultEmptyContent\"\r\n ></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyContent>\r\n <div class=\"no-data mt-26\">\r\n {{ 'noData' | translate }}\r\n </div>\r\n</ng-template>\r\n", styles: [":host{--table-dev-height: var(--ndf-reports-table-dev-height, auto);--report-height: var(--ndf-reports-report-height, 430px);--cp-height: var(--report-height);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%}@media print{:host{--report-height: auto;--cp-print-min-height: 80mm;padding:0}}.loading-result{background:var(--loading-result-background, rgba(255, 255, 255, .5));-webkit-backdrop-filter:var(--loading-result-filter, blur(3px));backdrop-filter:var(--loading-result-filter, blur(3px));width:100%;height:100%;z-index:3}.ndf-reports *{box-sizing:border-box;min-height:0}.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:var(--ndf-reports-container-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-pis: var(--panel-width)}@media print{.ndf-reports__container{--ndf-reports-container-overflow: visible;height:100%}}.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-pis, 1rem);padding-inline-end:var(--ndf-reports-content-pie, 1rem);padding-block:var(--ndf-reports-content-pb, 0 1rem);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative;display:flex;flex-direction:column}@media print{.ndf-reports__content{--ndf-reports-content-overflow-y: visible;width:100%;margin:0;padding:0;page-break-after:avoid}}.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: 12;--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}.reports-grid__item[data-width=\"1\"]{--col-span: span 1}.reports-grid__item[data-start-column=\"1\"]{--col-start: 1}.reports-grid__item[data-start-row=\"1\"]{--row-start: 1}.reports-grid__item[data-height=\"1\"]{--row-span: 1}.reports-grid__item[data-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-start-column=\"2\"]{--col-start: 2}.reports-grid__item[data-start-row=\"2\"]{--row-start: 2}.reports-grid__item[data-height=\"2\"]{--row-span: 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-start-column=\"3\"]{--col-start: 3}.reports-grid__item[data-start-row=\"3\"]{--row-start: 3}.reports-grid__item[data-height=\"3\"]{--row-span: 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-start-column=\"4\"]{--col-start: 4}.reports-grid__item[data-start-row=\"4\"]{--row-start: 4}.reports-grid__item[data-height=\"4\"]{--row-span: 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-start-column=\"5\"]{--col-start: 5}.reports-grid__item[data-start-row=\"5\"]{--row-start: 5}.reports-grid__item[data-height=\"5\"]{--row-span: 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-start-column=\"6\"]{--col-start: 6}.reports-grid__item[data-start-row=\"6\"]{--row-start: 6}.reports-grid__item[data-height=\"6\"]{--row-span: 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-start-column=\"7\"]{--col-start: 7}.reports-grid__item[data-start-row=\"7\"]{--row-start: 7}.reports-grid__item[data-height=\"7\"]{--row-span: 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-start-column=\"8\"]{--col-start: 8}.reports-grid__item[data-start-row=\"8\"]{--row-start: 8}.reports-grid__item[data-height=\"8\"]{--row-span: 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-start-column=\"9\"]{--col-start: 9}.reports-grid__item[data-start-row=\"9\"]{--row-start: 9}.reports-grid__item[data-height=\"9\"]{--row-span: 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-start-column=\"10\"]{--col-start: 10}.reports-grid__item[data-start-row=\"10\"]{--row-start: 10}.reports-grid__item[data-height=\"10\"]{--row-span: 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-start-column=\"11\"]{--col-start: 11}.reports-grid__item[data-start-row=\"11\"]{--row-start: 11}.reports-grid__item[data-height=\"11\"]{--row-span: 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}.reports-grid__item[data-start-column=\"12\"]{--col-start: 12}.reports-grid__item[data-start-row=\"12\"]{--row-start: 12}.reports-grid__item[data-height=\"12\"]{--row-span: 12}@media screen{.reports-grid__item{grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--row-start, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 10mm;--reports-grid-margin-top: 0;padding:0;margin:0;--rg-columns: repeat(2, 1fr)}.reports-grid__item{--col-start: auto;--col-span: span 1;border:1px solid #f5f5f5;border-radius:var(--cp-radius, 1rem);page-break-inside:avoid;break-inside:avoid-page}}@media screen and (max-width: 1199px){.reports-grid__item[data-width=\"1\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"2\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"3\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"4\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"5\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"6\"]{--col-start: auto;--col-span: span 6}.reports-grid__item.wide{--col-start: 1;--col-span: -1}}@media screen and (max-width: 767px){.reports-grid__item[data-width]{--col-start: 1;--col-span: -1}}\n"], components: [{ type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { 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: 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", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { 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] });
45454
45539
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, decorators: [{
45455
45540
  type: Component,
45456
45541
  args: [{
@@ -45463,7 +45548,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
45463
45548
  },
45464
45549
  animations: [slideAnimation],
45465
45550
  }]
45466
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: FiltersMapperService }, { type: NdfReportsService }, { type: ChartManagerService }, { type: ReportTransformService }, { type: i0.ChangeDetectorRef }, { type: FilterQueryService }, { type: ReportsStateService }, { type: ReportConfigurationService }, { type: i1$5.Router }, { type: i0.NgZone }]; }, propDecorators: { fluidDirective: [{
45551
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: FiltersMapperService }, { type: NdfReportsService }, { type: ChartManagerService }, { type: ReportTransformService }, { type: i0.ChangeDetectorRef }, { type: FilterQueryService }, { type: ReportsStateService }, { type: ReportConfigurationService }, { type: i1$5.Router }, { type: i0.NgZone }, { type: ReportsHooksService }]; }, propDecorators: { fluidDirective: [{
45467
45552
  type: ViewChild,
45468
45553
  args: [FluidHeightDirective]
45469
45554
  }], jsonEditorEnabled: [{
@@ -45472,6 +45557,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
45472
45557
  type: Input
45473
45558
  }], navigateRoute: [{
45474
45559
  type: Input
45560
+ }], loadCondition: [{
45561
+ type: Input
45475
45562
  }], config: [{
45476
45563
  type: Input
45477
45564
  }], onQueryChange: [{
@@ -45487,6 +45574,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
45487
45574
  args: [EMPTY_CONTENT_TEMPLATE, { read: TemplateRef }]
45488
45575
  }] } });
45489
45576
 
45577
+ class CheckConditionPipe {
45578
+ transform(activeQuery, condition, config) {
45579
+ if (condition) {
45580
+ return Evaluator.evaluate(condition, { activeQuery, config }, 'show');
45581
+ }
45582
+ return true;
45583
+ }
45584
+ }
45585
+ CheckConditionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
45586
+ CheckConditionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, name: "checkCondition" });
45587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, decorators: [{
45588
+ type: Pipe,
45589
+ args: [{
45590
+ name: 'checkCondition',
45591
+ }]
45592
+ }] });
45593
+
45490
45594
  const CONTAINERS = [NdfReportsComponent, NdfReportComponent];
45491
45595
  const DIRECTIVES = [
45492
45596
  ScrollableDivDirective,
@@ -45923,7 +46027,7 @@ class ConfigPreviewComponent {
45923
46027
  ngOnInit() { }
45924
46028
  }
45925
46029
  ConfigPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45926
- 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", "styleClass", "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 } });
46030
+ 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", "styleClass", "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", "loadCondition", "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 } });
45927
46031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, decorators: [{
45928
46032
  type: Component,
45929
46033
  args: [{
@@ -48702,5 +48806,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
48702
48806
  * Generated bundle index. Do not edit.
48703
48807
  */
48704
48808
 
48705
- export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, 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, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe$1 as CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, 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, CustomReportsRegistry, 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_CONTENT_TEMPLATE, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmdhaAuthDialog, EmdhaService, EmptyContentTemplateDirective, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HEADER_PANEL_TEMPLATE, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HeaderPanelTemplateDirective, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, InsertSingPosition, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, 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, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfSignaturePanelComponent, NdfSignaturesModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, 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, NxQlQuery, OutputPort, OverrideTokenService, 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, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsHooksService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, ScrollableDivDirective, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SignatureType, SignaturesService, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransactionStatus, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, 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 };
48809
+ export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, 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, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe$1 as CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, ColumnRendererRegistryService, 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, CustomReportsRegistry, 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_CONTENT_TEMPLATE, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmdhaAuthDialog, EmdhaService, EmptyContentTemplateDirective, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GeneralNotificationPopupComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HEADER_PANEL_TEMPLATE, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HeaderPanelTemplateDirective, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, InsertSingPosition, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, 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, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfSignaturePanelComponent, NdfSignaturesModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, 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, NxQlQuery, OutputPort, OverrideTokenService, 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, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsHooksService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, ScrollableDivDirective, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SignatureType, SignaturesService, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableHooksService, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransactionStatus, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService$1 as VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, 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 };
48706
48810
  //# sourceMappingURL=nuxeo-development-framework.js.map