nuxeo-development-framework 5.4.3 → 5.4.5
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.
- package/bundles/nuxeo-development-framework.umd.js +731 -427
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +18 -7
- package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/constants/type.js +3 -2
- package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +29 -14
- package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
- package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +3 -2
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +5 -3
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +87 -0
- package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +20 -0
- package/esm2015/lib/components/ndf-filters/custom-components/index.js +2 -1
- package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +98 -28
- package/esm2015/lib/components/ndf-filters/public-api.js +4 -3
- package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +2 -33
- package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +4 -4
- package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +10 -2
- package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +12 -4
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +8 -8
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +24 -3
- package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +5 -5
- package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +34 -29
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +12 -5
- package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +70 -0
- package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +3 -3
- package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
- package/esm2015/lib/shared/evaluator/types.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +650 -379
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/base/base-checkbox-radio.component.d.ts +1 -0
- package/lib/components/ndf-filters/constants/type.d.ts +1 -0
- package/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.d.ts +7 -0
- package/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.d.ts +26 -0
- package/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.d.ts +9 -0
- package/lib/components/ndf-filters/custom-components/index.d.ts +1 -0
- package/lib/components/ndf-filters/models/custom-field-config.d.ts +2 -2
- package/lib/components/ndf-filters/models/field-options/custom-fields-options.d.ts +14 -0
- package/lib/components/ndf-filters/ndf-filters-panel.module.d.ts +70 -59
- package/lib/components/ndf-filters/public-api.d.ts +3 -2
- package/lib/components/ndf-filters/services/dynamic-component-loader.service.d.ts +0 -3
- package/lib/components/reports/ndf-reports/base/base-chart.d.ts +5 -2
- package/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.d.ts +2 -0
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +4 -2
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +7 -2
- package/lib/components/reports/ndf-reports/models/base.d.ts +3 -1
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +6 -1
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -0
- package/lib/components/reports/ndf-reports/models/request.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +3 -3
- package/lib/components/reports/ndf-reports/services/chart-data-transformers.service.d.ts +9 -2
- package/lib/components/reports/ndf-reports/services/digit-chart.service.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +10 -15
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +5 -1
- package/lib/components/reports/ndf-reports/services/reports-data-transformers.service.d.ts +48 -0
- package/lib/shared/evaluator/types.d.ts +1 -1
- package/package.json +1 -1
- package/src/docs/ndf-table.doc.md +4 -5
|
@@ -14235,7 +14235,8 @@ const PREDICATE_FIELD_TYPES = {
|
|
|
14235
14235
|
date: 'date'
|
|
14236
14236
|
};
|
|
14237
14237
|
const CUSTOM_FIELD_TYPES = {
|
|
14238
|
-
activeUser: 'activeUser'
|
|
14238
|
+
activeUser: 'activeUser',
|
|
14239
|
+
aggregationGroup: 'aggregationGroup',
|
|
14239
14240
|
};
|
|
14240
14241
|
|
|
14241
14242
|
class AggregationFieldService {
|
|
@@ -16323,77 +16324,145 @@ class FieldValueObject {
|
|
|
16323
16324
|
}
|
|
16324
16325
|
}
|
|
16325
16326
|
|
|
16326
|
-
class
|
|
16327
|
-
constructor(
|
|
16328
|
-
|
|
16329
|
-
this.
|
|
16330
|
-
this.onChange = () => { };
|
|
16331
|
-
this.onTouched = () => { };
|
|
16332
|
-
this.onValidationChange = () => { };
|
|
16333
|
-
}
|
|
16334
|
-
registerOnChange(fn) {
|
|
16335
|
-
this.onChange = fn;
|
|
16327
|
+
class DynamicComponentLoaderService {
|
|
16328
|
+
constructor(_factoryResolver) {
|
|
16329
|
+
this._factoryResolver = _factoryResolver;
|
|
16330
|
+
this._components = new Map();
|
|
16336
16331
|
}
|
|
16337
|
-
|
|
16338
|
-
this.
|
|
16332
|
+
registerComponent(key, component) {
|
|
16333
|
+
this._components.set(key, component);
|
|
16339
16334
|
}
|
|
16340
|
-
|
|
16341
|
-
this.
|
|
16342
|
-
|
|
16335
|
+
renderComponent(key, vcr) {
|
|
16336
|
+
if (!this._components.has(key)) {
|
|
16337
|
+
throw 'unknown component ';
|
|
16338
|
+
}
|
|
16339
|
+
const component = this._components.get(key);
|
|
16340
|
+
return this.loadComponent(component, vcr);
|
|
16343
16341
|
}
|
|
16344
|
-
|
|
16345
|
-
|
|
16342
|
+
loadComponent(componentAngularType, vcr) {
|
|
16343
|
+
const component = this._factoryResolver.resolveComponentFactory(componentAngularType);
|
|
16344
|
+
return vcr.createComponent(component);
|
|
16346
16345
|
}
|
|
16347
16346
|
}
|
|
16348
|
-
|
|
16349
|
-
|
|
16350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type:
|
|
16351
|
-
type:
|
|
16352
|
-
|
|
16353
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { disabled: [{
|
|
16354
|
-
type: Input
|
|
16355
|
-
}] } });
|
|
16347
|
+
DynamicComponentLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16348
|
+
DynamicComponentLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService });
|
|
16349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, decorators: [{
|
|
16350
|
+
type: Injectable
|
|
16351
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
|
|
16356
16352
|
|
|
16357
|
-
class
|
|
16358
|
-
constructor(
|
|
16359
|
-
|
|
16360
|
-
this.
|
|
16361
|
-
this.
|
|
16353
|
+
class FilterQueryService {
|
|
16354
|
+
constructor() {
|
|
16355
|
+
this.keyToShortMap = new Map();
|
|
16356
|
+
this.shortToKeyMap = new Map();
|
|
16357
|
+
this.defaultShortKeys = {
|
|
16358
|
+
value: 'v',
|
|
16359
|
+
operator: 'o',
|
|
16360
|
+
min: 'n',
|
|
16361
|
+
max: 'x',
|
|
16362
|
+
prefix: 'p'
|
|
16363
|
+
};
|
|
16364
|
+
this.initializeDefaultKeys();
|
|
16362
16365
|
}
|
|
16363
|
-
|
|
16364
|
-
|
|
16365
|
-
return (_b = (_a = this.field) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.options;
|
|
16366
|
+
registerKeys(keys) {
|
|
16367
|
+
Object.entries(keys).forEach(([key, value]) => this.registerKey(key, value));
|
|
16366
16368
|
}
|
|
16367
|
-
|
|
16368
|
-
|
|
16369
|
+
registerKey(longKey, shortKey) {
|
|
16370
|
+
this.keyToShortMap.set(longKey, shortKey);
|
|
16371
|
+
this.shortToKeyMap.set(shortKey, longKey);
|
|
16369
16372
|
}
|
|
16370
|
-
|
|
16371
|
-
|
|
16372
|
-
|
|
16373
|
+
/**
|
|
16374
|
+
* Encodes a query object into a URL-safe string by transforming its keys
|
|
16375
|
+
* and converting it to a JSON string.
|
|
16376
|
+
*
|
|
16377
|
+
* @param {Record<string, any>} query - The query object to encode.
|
|
16378
|
+
*
|
|
16379
|
+
* @example
|
|
16380
|
+
* // Example query object
|
|
16381
|
+
* const query = {
|
|
16382
|
+
* // Predicate field (payload sent)
|
|
16383
|
+
* 'locRef:boxCode': {
|
|
16384
|
+
* value: '1',
|
|
16385
|
+
* operator: 'LIKE',
|
|
16386
|
+
* },
|
|
16387
|
+
*
|
|
16388
|
+
* // Aggregation field (query parameter)
|
|
16389
|
+
* 'locRef:boxCode': [1]
|
|
16390
|
+
* };
|
|
16391
|
+
*
|
|
16392
|
+
* const encodedQuery = encodeQuery(query);
|
|
16393
|
+
* console.log(encodedQuery); // Encoded string representation
|
|
16394
|
+
*
|
|
16395
|
+
* @returns {string} - The URL-encoded JSON string representation of the query object.
|
|
16396
|
+
*/
|
|
16397
|
+
encodeQuery(query) {
|
|
16398
|
+
const transformed = this.transformObject(query, this.keyToShortMap, false);
|
|
16399
|
+
return encodeURIComponent(JSON.stringify(transformed));
|
|
16373
16400
|
}
|
|
16374
|
-
|
|
16375
|
-
|
|
16376
|
-
|
|
16401
|
+
/**
|
|
16402
|
+
* Decodes a URL-encoded query string back into its original object form.
|
|
16403
|
+
*
|
|
16404
|
+
* @param {string} encodedQuery - The URL-encoded JSON string representation of a query.
|
|
16405
|
+
*
|
|
16406
|
+
* @example
|
|
16407
|
+
* const encodedQuery = "%7B%22locRef%3AboxCode%22%3A%7B%22value%22%3A%221%22%2C%22operator%22%3A%22LIKE%22%7D%7D";
|
|
16408
|
+
* const decodedQuery = decodeQuery(encodedQuery);
|
|
16409
|
+
* console.log(decodedQuery);
|
|
16410
|
+
* Output:
|
|
16411
|
+
* {
|
|
16412
|
+
* 'locRef:boxCode': {
|
|
16413
|
+
* value: '1',
|
|
16414
|
+
* operator: 'LIKE'
|
|
16415
|
+
* }
|
|
16416
|
+
* }
|
|
16417
|
+
*
|
|
16418
|
+
* @returns {Record<string, any> | null} - The decoded query object, or `null` if decoding fails.
|
|
16419
|
+
*/
|
|
16420
|
+
decodeQuery(encodedQuery) {
|
|
16421
|
+
try {
|
|
16422
|
+
const parsedQuery = JSON.parse(decodeURIComponent(encodedQuery));
|
|
16423
|
+
return this.transformObject(parsedQuery, this.shortToKeyMap, true);
|
|
16424
|
+
}
|
|
16425
|
+
catch (error) {
|
|
16426
|
+
console.error('Failed to decode query:', error);
|
|
16427
|
+
return null;
|
|
16428
|
+
}
|
|
16377
16429
|
}
|
|
16378
|
-
|
|
16379
|
-
|
|
16380
|
-
|
|
16381
|
-
return new FieldValueObject({
|
|
16382
|
-
operator: operator,
|
|
16383
|
-
value: value,
|
|
16384
|
-
prefix
|
|
16430
|
+
initializeDefaultKeys() {
|
|
16431
|
+
Object.entries(this.defaultShortKeys).forEach(([longKey, shortKey]) => {
|
|
16432
|
+
this.registerKey(longKey, shortKey);
|
|
16385
16433
|
});
|
|
16386
16434
|
}
|
|
16435
|
+
transformObject(entry, keyMap, isDecode) {
|
|
16436
|
+
if (Array.isArray(entry)) {
|
|
16437
|
+
return entry.map((item) => this.transformObject(item, keyMap, isDecode));
|
|
16438
|
+
}
|
|
16439
|
+
if (entry && typeof entry === 'object') {
|
|
16440
|
+
if (!isDecode) {
|
|
16441
|
+
delete entry[VALUE_OBJECT];
|
|
16442
|
+
}
|
|
16443
|
+
return Object.keys(entry).reduce((acc, key) => {
|
|
16444
|
+
const newKey = keyMap.get(key);
|
|
16445
|
+
if (!newKey) {
|
|
16446
|
+
throw new Error(`Query key mapping not found for: ${key}`);
|
|
16447
|
+
}
|
|
16448
|
+
if (isDecode && newKey === 'operator') {
|
|
16449
|
+
acc[VALUE_OBJECT] = `${VALUE_OBJECT}`;
|
|
16450
|
+
}
|
|
16451
|
+
acc[newKey] = this.transformObject(entry[key], keyMap, isDecode);
|
|
16452
|
+
return acc;
|
|
16453
|
+
}, {});
|
|
16454
|
+
}
|
|
16455
|
+
return entry;
|
|
16456
|
+
}
|
|
16387
16457
|
}
|
|
16388
|
-
|
|
16389
|
-
|
|
16390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type:
|
|
16391
|
-
type:
|
|
16392
|
-
|
|
16393
|
-
|
|
16394
|
-
|
|
16395
|
-
|
|
16396
|
-
}] } });
|
|
16458
|
+
FilterQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16459
|
+
FilterQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, providedIn: 'root' });
|
|
16460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, decorators: [{
|
|
16461
|
+
type: Injectable,
|
|
16462
|
+
args: [{
|
|
16463
|
+
providedIn: 'root'
|
|
16464
|
+
}]
|
|
16465
|
+
}], ctorParameters: function () { return []; } });
|
|
16397
16466
|
|
|
16398
16467
|
class NxQL {
|
|
16399
16468
|
static _getDateRange(value) {
|
|
@@ -16514,8 +16583,7 @@ class NxQlQuery extends NxQL {
|
|
|
16514
16583
|
[_opr.startsWith]: NxQlQuery.equals,
|
|
16515
16584
|
[_opr.fullText]: NxQlQuery.equals
|
|
16516
16585
|
};
|
|
16517
|
-
|
|
16518
|
-
return operatorHandlers[operator](_val, prefix);
|
|
16586
|
+
return operatorHandlers[operator](value, prefix);
|
|
16519
16587
|
}
|
|
16520
16588
|
static equals(value, prefix = '') {
|
|
16521
16589
|
return `${prefix ? `${prefix} ` : ''}'${value.trim()}'`;
|
|
@@ -16524,241 +16592,14 @@ class NxQlQuery extends NxQL {
|
|
|
16524
16592
|
return `${prefix ? `${prefix} ` : ''}'%${value.trim()}%'`;
|
|
16525
16593
|
}
|
|
16526
16594
|
static in(value, prefix = '') {
|
|
16527
|
-
|
|
16595
|
+
const _val = Array.isArray(value) ? value.map(item => `'${item}'`).join(',') : value;
|
|
16596
|
+
return `${prefix ? `${prefix} ` : ''}(${_val.trim()})`;
|
|
16528
16597
|
}
|
|
16529
16598
|
static between(value1, value2) {
|
|
16530
16599
|
return `${value1} AND ${value2}`;
|
|
16531
16600
|
}
|
|
16532
16601
|
}
|
|
16533
16602
|
|
|
16534
|
-
class ActiveUserService extends BaseService {
|
|
16535
|
-
getCurrentUser() {
|
|
16536
|
-
return this.user;
|
|
16537
|
-
}
|
|
16538
|
-
}
|
|
16539
|
-
ActiveUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
16540
|
-
ActiveUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, providedIn: 'root' });
|
|
16541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, decorators: [{
|
|
16542
|
-
type: Injectable,
|
|
16543
|
-
args: [{
|
|
16544
|
-
providedIn: 'root'
|
|
16545
|
-
}]
|
|
16546
|
-
}] });
|
|
16547
|
-
|
|
16548
|
-
class ActiveUserSwitchComponent extends BaseCustomField {
|
|
16549
|
-
constructor() {
|
|
16550
|
-
super(...arguments);
|
|
16551
|
-
this._userService = this.injector.get(ActiveUserService);
|
|
16552
|
-
this.isUserSelected = false;
|
|
16553
|
-
}
|
|
16554
|
-
writeValue(value) {
|
|
16555
|
-
if (value) {
|
|
16556
|
-
const val = isFieldValueObject(value) ? value.value : value;
|
|
16557
|
-
this.isUserSelected = val === this.getValue();
|
|
16558
|
-
}
|
|
16559
|
-
}
|
|
16560
|
-
toggle({ checked }) {
|
|
16561
|
-
this.isUserSelected = checked;
|
|
16562
|
-
if (!checked) {
|
|
16563
|
-
this.onChange(null);
|
|
16564
|
-
return;
|
|
16565
|
-
}
|
|
16566
|
-
if (this.field.valueType === 'property') {
|
|
16567
|
-
this.onChange(this.getValue());
|
|
16568
|
-
return;
|
|
16569
|
-
}
|
|
16570
|
-
this.updateObjectValue();
|
|
16571
|
-
}
|
|
16572
|
-
getValue() {
|
|
16573
|
-
var _a;
|
|
16574
|
-
return ___default.get(this._userService.getCurrentUser(), ((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.bindValue) || 'properties.username');
|
|
16575
|
-
}
|
|
16576
|
-
updateObjectValue() {
|
|
16577
|
-
var _a;
|
|
16578
|
-
const operator = ((_a = this.field) === null || _a === void 0 ? void 0 : _a.operator) || COMPARISON_OPERATOR.equals;
|
|
16579
|
-
const data = this._prepareValueObject(this.getValue(), operator);
|
|
16580
|
-
this.onChange(data);
|
|
16581
|
-
}
|
|
16582
|
-
}
|
|
16583
|
-
ActiveUserSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
16584
|
-
ActiveUserSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActiveUserSwitchComponent, selector: "active-user-switch", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle\r\n\tclass=\"filter-switch__item\"\r\n\t[checked]=\"isUserSelected\"\r\n\t(change)=\"toggle($event)\"\r\n\t[class.checkedBox]=\"isUserSelected\"\r\n\t[class.unCheckedBox]=\"!isUserSelected\"\r\n>\r\n\t{{ renderOptions?.text || field?.label | translate }}\r\n</mat-slide-toggle>\r\n", styles: [""], components: [{ type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
16585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, decorators: [{
|
|
16586
|
-
type: Component,
|
|
16587
|
-
args: [{
|
|
16588
|
-
selector: 'active-user-switch',
|
|
16589
|
-
templateUrl: './active-user-switch.component.html',
|
|
16590
|
-
styleUrls: ['./active-user-switch.component.scss']
|
|
16591
|
-
}]
|
|
16592
|
-
}] });
|
|
16593
|
-
|
|
16594
|
-
class DynamicComponentLoaderService {
|
|
16595
|
-
constructor(_factoryResolver) {
|
|
16596
|
-
this._factoryResolver = _factoryResolver;
|
|
16597
|
-
this._components = new Map();
|
|
16598
|
-
this._registerCustomComponent();
|
|
16599
|
-
this._registerAggregationsComponents();
|
|
16600
|
-
this._registerPredicateComponents();
|
|
16601
|
-
}
|
|
16602
|
-
registerComponent(key, component) {
|
|
16603
|
-
this._components.set(key, component);
|
|
16604
|
-
}
|
|
16605
|
-
renderComponent(key, vcr) {
|
|
16606
|
-
if (!this._components.has(key)) {
|
|
16607
|
-
throw 'unknown component ';
|
|
16608
|
-
}
|
|
16609
|
-
const component = this._components.get(key);
|
|
16610
|
-
return this.loadComponent(component, vcr);
|
|
16611
|
-
}
|
|
16612
|
-
loadComponent(componentAngularType, vcr) {
|
|
16613
|
-
const component = this._factoryResolver.resolveComponentFactory(componentAngularType);
|
|
16614
|
-
return vcr.createComponent(component);
|
|
16615
|
-
}
|
|
16616
|
-
//------
|
|
16617
|
-
// CUSTOM
|
|
16618
|
-
//------
|
|
16619
|
-
_registerCustomComponent() {
|
|
16620
|
-
this.registerComponent(CUSTOM_FIELD_TYPES.activeUser, ActiveUserSwitchComponent);
|
|
16621
|
-
}
|
|
16622
|
-
//------
|
|
16623
|
-
// AGGREGATION
|
|
16624
|
-
//------
|
|
16625
|
-
_registerAggregationsComponents() {
|
|
16626
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.autocomplete, AggregationAutocompleteComponent);
|
|
16627
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.dropdown, AggregationSelectComponent);
|
|
16628
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.switch, AggregationSwitchComponent);
|
|
16629
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.radio, AggregationRadioComponent);
|
|
16630
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.dateList, AggregationDateListComponent);
|
|
16631
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.custom, AggregationCustomComponent);
|
|
16632
|
-
this.registerComponent(AGGREGATION_FIELD_TYPES.checkbox, AggregationCheckboxComponent);
|
|
16633
|
-
}
|
|
16634
|
-
//------
|
|
16635
|
-
// PREDICATE
|
|
16636
|
-
//------
|
|
16637
|
-
_registerPredicateComponents() {
|
|
16638
|
-
this.registerComponent(PREDICATE_FIELD_TYPES.input, PredicateTextInputComponent);
|
|
16639
|
-
this.registerComponent(PREDICATE_FIELD_TYPES.date, PredicateDateInputComponent);
|
|
16640
|
-
}
|
|
16641
|
-
}
|
|
16642
|
-
DynamicComponentLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16643
|
-
DynamicComponentLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService });
|
|
16644
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, decorators: [{
|
|
16645
|
-
type: Injectable
|
|
16646
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
|
|
16647
|
-
|
|
16648
|
-
class FilterQueryService {
|
|
16649
|
-
constructor() {
|
|
16650
|
-
this.keyToShortMap = new Map();
|
|
16651
|
-
this.shortToKeyMap = new Map();
|
|
16652
|
-
this.defaultShortKeys = {
|
|
16653
|
-
value: 'v',
|
|
16654
|
-
operator: 'o',
|
|
16655
|
-
min: 'n',
|
|
16656
|
-
max: 'x',
|
|
16657
|
-
prefix: 'p'
|
|
16658
|
-
};
|
|
16659
|
-
this.initializeDefaultKeys();
|
|
16660
|
-
}
|
|
16661
|
-
registerKeys(keys) {
|
|
16662
|
-
Object.entries(keys).forEach(([key, value]) => this.registerKey(key, value));
|
|
16663
|
-
}
|
|
16664
|
-
registerKey(longKey, shortKey) {
|
|
16665
|
-
this.keyToShortMap.set(longKey, shortKey);
|
|
16666
|
-
this.shortToKeyMap.set(shortKey, longKey);
|
|
16667
|
-
}
|
|
16668
|
-
/**
|
|
16669
|
-
* Encodes a query object into a URL-safe string by transforming its keys
|
|
16670
|
-
* and converting it to a JSON string.
|
|
16671
|
-
*
|
|
16672
|
-
* @param {Record<string, any>} query - The query object to encode.
|
|
16673
|
-
*
|
|
16674
|
-
* @example
|
|
16675
|
-
* // Example query object
|
|
16676
|
-
* const query = {
|
|
16677
|
-
* // Predicate field (payload sent)
|
|
16678
|
-
* 'locRef:boxCode': {
|
|
16679
|
-
* value: '1',
|
|
16680
|
-
* operator: 'LIKE',
|
|
16681
|
-
* },
|
|
16682
|
-
*
|
|
16683
|
-
* // Aggregation field (query parameter)
|
|
16684
|
-
* 'locRef:boxCode': [1]
|
|
16685
|
-
* };
|
|
16686
|
-
*
|
|
16687
|
-
* const encodedQuery = encodeQuery(query);
|
|
16688
|
-
* console.log(encodedQuery); // Encoded string representation
|
|
16689
|
-
*
|
|
16690
|
-
* @returns {string} - The URL-encoded JSON string representation of the query object.
|
|
16691
|
-
*/
|
|
16692
|
-
encodeQuery(query) {
|
|
16693
|
-
const transformed = this.transformObject(query, this.keyToShortMap, false);
|
|
16694
|
-
return encodeURIComponent(JSON.stringify(transformed));
|
|
16695
|
-
}
|
|
16696
|
-
/**
|
|
16697
|
-
* Decodes a URL-encoded query string back into its original object form.
|
|
16698
|
-
*
|
|
16699
|
-
* @param {string} encodedQuery - The URL-encoded JSON string representation of a query.
|
|
16700
|
-
*
|
|
16701
|
-
* @example
|
|
16702
|
-
* const encodedQuery = "%7B%22locRef%3AboxCode%22%3A%7B%22value%22%3A%221%22%2C%22operator%22%3A%22LIKE%22%7D%7D";
|
|
16703
|
-
* const decodedQuery = decodeQuery(encodedQuery);
|
|
16704
|
-
* console.log(decodedQuery);
|
|
16705
|
-
* Output:
|
|
16706
|
-
* {
|
|
16707
|
-
* 'locRef:boxCode': {
|
|
16708
|
-
* value: '1',
|
|
16709
|
-
* operator: 'LIKE'
|
|
16710
|
-
* }
|
|
16711
|
-
* }
|
|
16712
|
-
*
|
|
16713
|
-
* @returns {Record<string, any> | null} - The decoded query object, or `null` if decoding fails.
|
|
16714
|
-
*/
|
|
16715
|
-
decodeQuery(encodedQuery) {
|
|
16716
|
-
try {
|
|
16717
|
-
const parsedQuery = JSON.parse(decodeURIComponent(encodedQuery));
|
|
16718
|
-
return this.transformObject(parsedQuery, this.shortToKeyMap, true);
|
|
16719
|
-
}
|
|
16720
|
-
catch (error) {
|
|
16721
|
-
console.error('Failed to decode query:', error);
|
|
16722
|
-
return null;
|
|
16723
|
-
}
|
|
16724
|
-
}
|
|
16725
|
-
initializeDefaultKeys() {
|
|
16726
|
-
Object.entries(this.defaultShortKeys).forEach(([longKey, shortKey]) => {
|
|
16727
|
-
this.registerKey(longKey, shortKey);
|
|
16728
|
-
});
|
|
16729
|
-
}
|
|
16730
|
-
transformObject(entry, keyMap, isDecode) {
|
|
16731
|
-
if (Array.isArray(entry)) {
|
|
16732
|
-
return entry.map((item) => this.transformObject(item, keyMap, isDecode));
|
|
16733
|
-
}
|
|
16734
|
-
if (entry && typeof entry === 'object') {
|
|
16735
|
-
if (!isDecode) {
|
|
16736
|
-
delete entry[VALUE_OBJECT];
|
|
16737
|
-
}
|
|
16738
|
-
return Object.keys(entry).reduce((acc, key) => {
|
|
16739
|
-
const newKey = keyMap.get(key);
|
|
16740
|
-
if (!newKey) {
|
|
16741
|
-
throw new Error(`Query key mapping not found for: ${key}`);
|
|
16742
|
-
}
|
|
16743
|
-
if (isDecode && newKey === 'operator') {
|
|
16744
|
-
acc[VALUE_OBJECT] = `${VALUE_OBJECT}`;
|
|
16745
|
-
}
|
|
16746
|
-
acc[newKey] = this.transformObject(entry[key], keyMap, isDecode);
|
|
16747
|
-
return acc;
|
|
16748
|
-
}, {});
|
|
16749
|
-
}
|
|
16750
|
-
return entry;
|
|
16751
|
-
}
|
|
16752
|
-
}
|
|
16753
|
-
FilterQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16754
|
-
FilterQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, providedIn: 'root' });
|
|
16755
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, decorators: [{
|
|
16756
|
-
type: Injectable,
|
|
16757
|
-
args: [{
|
|
16758
|
-
providedIn: 'root'
|
|
16759
|
-
}]
|
|
16760
|
-
}], ctorParameters: function () { return []; } });
|
|
16761
|
-
|
|
16762
16603
|
class FiltersMapperService {
|
|
16763
16604
|
preparePayload(fields, criteria) {
|
|
16764
16605
|
return this._preparePayload(fields, criteria);
|
|
@@ -16922,7 +16763,10 @@ class AggregationBaseSelectionComponent extends BaseAggregationField {
|
|
|
16922
16763
|
}
|
|
16923
16764
|
writeValue(values) {
|
|
16924
16765
|
if (values) {
|
|
16925
|
-
const _values =
|
|
16766
|
+
const _values = this._getValues(values);
|
|
16767
|
+
if (___default.isEqual(_values, this.internalValue)) {
|
|
16768
|
+
return;
|
|
16769
|
+
}
|
|
16926
16770
|
const _vals = Array.isArray(_values) ? _values : [_values];
|
|
16927
16771
|
this.internalValue = _values;
|
|
16928
16772
|
this.selectionModel.select(..._vals);
|
|
@@ -16937,19 +16781,28 @@ class AggregationBaseSelectionComponent extends BaseAggregationField {
|
|
|
16937
16781
|
updateValue() {
|
|
16938
16782
|
this.selectionModel.changed
|
|
16939
16783
|
.asObservable()
|
|
16940
|
-
.pipe(map((data) => data.source.selected), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
|
|
16784
|
+
.pipe(map((data) => data.source.selected), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), filter$1((value) => !___default.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
|
|
16941
16785
|
.subscribe((value) => {
|
|
16942
16786
|
this.emitValue(value);
|
|
16943
16787
|
});
|
|
16944
16788
|
}
|
|
16945
16789
|
emitValue(value) {
|
|
16790
|
+
var _a;
|
|
16946
16791
|
this.internalValue = value;
|
|
16947
16792
|
this._isFieldDirty = !!(value === null || value === void 0 ? void 0 : value.length);
|
|
16948
|
-
|
|
16793
|
+
if ((value === null || value === void 0 ? void 0 : value.length) !== 0 && this._isValueObject()) {
|
|
16794
|
+
this.onChange(this._prepareValueObject(value, ((_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.operator) || COMPARISON_OPERATOR.in));
|
|
16795
|
+
return;
|
|
16796
|
+
}
|
|
16797
|
+
this.onChange(value);
|
|
16949
16798
|
}
|
|
16950
16799
|
sortChange(event) {
|
|
16951
16800
|
this.sort = Object.assign({}, event);
|
|
16952
16801
|
}
|
|
16802
|
+
_getValues(values) {
|
|
16803
|
+
var _a;
|
|
16804
|
+
return Array.isArray(values) ? values : ((_a = values) === null || _a === void 0 ? void 0 : _a.value) || [];
|
|
16805
|
+
}
|
|
16953
16806
|
}
|
|
16954
16807
|
AggregationBaseSelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationBaseSelectionComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16955
16808
|
AggregationBaseSelectionComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AggregationBaseSelectionComponent, usesInheritance: true, ngImport: i0 });
|
|
@@ -16957,6 +16810,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
16957
16810
|
type: Directive
|
|
16958
16811
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
16959
16812
|
|
|
16813
|
+
class BaseCustomValueAccessor extends BaseComponent {
|
|
16814
|
+
constructor(injector) {
|
|
16815
|
+
super(injector);
|
|
16816
|
+
this.injector = injector;
|
|
16817
|
+
this.onChange = () => { };
|
|
16818
|
+
this.onTouched = () => { };
|
|
16819
|
+
this.onValidationChange = () => { };
|
|
16820
|
+
}
|
|
16821
|
+
registerOnChange(fn) {
|
|
16822
|
+
this.onChange = fn;
|
|
16823
|
+
}
|
|
16824
|
+
registerOnTouched(fn) {
|
|
16825
|
+
this.onTouched = fn;
|
|
16826
|
+
}
|
|
16827
|
+
setDisabledState(isDisabled) {
|
|
16828
|
+
this.disabled = isDisabled;
|
|
16829
|
+
this.cdr.markForCheck();
|
|
16830
|
+
}
|
|
16831
|
+
registerOnValidatorChange(fn) {
|
|
16832
|
+
this.onValidationChange = fn;
|
|
16833
|
+
}
|
|
16834
|
+
}
|
|
16835
|
+
BaseCustomValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomValueAccessor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16836
|
+
BaseCustomValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseCustomValueAccessor, inputs: { disabled: "disabled" }, usesInheritance: true, ngImport: i0 });
|
|
16837
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomValueAccessor, decorators: [{
|
|
16838
|
+
type: Directive,
|
|
16839
|
+
args: [{}]
|
|
16840
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { disabled: [{
|
|
16841
|
+
type: Input
|
|
16842
|
+
}] } });
|
|
16843
|
+
|
|
16960
16844
|
class BasePredicateField extends BaseCustomValueAccessor {
|
|
16961
16845
|
constructor() {
|
|
16962
16846
|
super(...arguments);
|
|
@@ -16995,6 +16879,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
16995
16879
|
type: Input
|
|
16996
16880
|
}] } });
|
|
16997
16881
|
|
|
16882
|
+
class BaseCustomField extends BaseCustomValueAccessor {
|
|
16883
|
+
constructor(injector) {
|
|
16884
|
+
super(injector);
|
|
16885
|
+
this.injector = injector;
|
|
16886
|
+
this._isFieldDirty = false;
|
|
16887
|
+
}
|
|
16888
|
+
get renderOptions() {
|
|
16889
|
+
var _a, _b;
|
|
16890
|
+
return (_b = (_a = this.field) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.options;
|
|
16891
|
+
}
|
|
16892
|
+
validate(control) {
|
|
16893
|
+
return control.valid ? null : control.errors;
|
|
16894
|
+
}
|
|
16895
|
+
_isValueObject() {
|
|
16896
|
+
var _a;
|
|
16897
|
+
return ((_a = this.field) === null || _a === void 0 ? void 0 : _a.valueType) === 'valueObject';
|
|
16898
|
+
}
|
|
16899
|
+
_isSendAsQueryParams() {
|
|
16900
|
+
var _a;
|
|
16901
|
+
return ((_a = this.field) === null || _a === void 0 ? void 0 : _a.sendMode) === FIELD_SEND_MODE.queryParam;
|
|
16902
|
+
}
|
|
16903
|
+
_prepareValueObject(value, operator, prefix) {
|
|
16904
|
+
var _a;
|
|
16905
|
+
if (operator === void 0) { operator = (_a = this.field) === null || _a === void 0 ? void 0 : _a.operator; }
|
|
16906
|
+
return new FieldValueObject({
|
|
16907
|
+
operator: operator,
|
|
16908
|
+
value: value,
|
|
16909
|
+
prefix
|
|
16910
|
+
});
|
|
16911
|
+
}
|
|
16912
|
+
}
|
|
16913
|
+
BaseCustomField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomField, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16914
|
+
BaseCustomField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseCustomField, inputs: { aggregations: "aggregations", field: "field" }, usesInheritance: true, ngImport: i0 });
|
|
16915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomField, decorators: [{
|
|
16916
|
+
type: Directive
|
|
16917
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { aggregations: [{
|
|
16918
|
+
type: Input
|
|
16919
|
+
}], field: [{
|
|
16920
|
+
type: Input
|
|
16921
|
+
}] } });
|
|
16922
|
+
|
|
16998
16923
|
const AUTOCOMPLETE_TEMPLATE = new InjectionToken('AutocompleteTemplateDirective');
|
|
16999
16924
|
class AutocompleteTemplateDirective {
|
|
17000
16925
|
constructor(template) {
|
|
@@ -17949,7 +17874,7 @@ class PredicateTextInputComponent extends BasePredicateField {
|
|
|
17949
17874
|
updateObjectValue() {
|
|
17950
17875
|
var _a;
|
|
17951
17876
|
if (this.internalValue.value) {
|
|
17952
|
-
const operator = (((_a = this.selectValue) === null || _a === void 0 ? void 0 : _a.value) || COMPARISON_OPERATOR.like);
|
|
17877
|
+
const operator = (((_a = this.selectValue) === null || _a === void 0 ? void 0 : _a.value) || this.field.operator || COMPARISON_OPERATOR.like);
|
|
17953
17878
|
const data = this._prepareValueObject(this.internalValue.value, operator);
|
|
17954
17879
|
this.onChange(data);
|
|
17955
17880
|
return;
|
|
@@ -18333,7 +18258,7 @@ class AggregationFieldComponent extends BaseField {
|
|
|
18333
18258
|
[AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
|
|
18334
18259
|
[AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
|
|
18335
18260
|
[AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
|
|
18336
|
-
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this)
|
|
18261
|
+
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this),
|
|
18337
18262
|
};
|
|
18338
18263
|
}
|
|
18339
18264
|
ngOnInit() {
|
|
@@ -18346,7 +18271,8 @@ class AggregationFieldComponent extends BaseField {
|
|
|
18346
18271
|
}
|
|
18347
18272
|
}
|
|
18348
18273
|
_prepareField() {
|
|
18349
|
-
const instance = this._componentRef
|
|
18274
|
+
const instance = this._componentRef
|
|
18275
|
+
.instance;
|
|
18350
18276
|
instance.aggregation = this.aggregation;
|
|
18351
18277
|
instance.fieldConfig = this.fieldConfig;
|
|
18352
18278
|
if (this.contentTemplate) {
|
|
@@ -18359,13 +18285,13 @@ AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
18359
18285
|
{
|
|
18360
18286
|
provide: NG_VALUE_ACCESSOR,
|
|
18361
18287
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18362
|
-
multi: true
|
|
18288
|
+
multi: true,
|
|
18363
18289
|
},
|
|
18364
18290
|
{
|
|
18365
18291
|
provide: NG_VALIDATORS,
|
|
18366
18292
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18367
|
-
multi: true
|
|
18368
|
-
}
|
|
18293
|
+
multi: true,
|
|
18294
|
+
},
|
|
18369
18295
|
], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
18370
18296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
|
|
18371
18297
|
type: Component,
|
|
@@ -18378,29 +18304,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18378
18304
|
{
|
|
18379
18305
|
provide: NG_VALUE_ACCESSOR,
|
|
18380
18306
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18381
|
-
multi: true
|
|
18307
|
+
multi: true,
|
|
18382
18308
|
},
|
|
18383
18309
|
{
|
|
18384
18310
|
provide: NG_VALIDATORS,
|
|
18385
18311
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18386
|
-
multi: true
|
|
18387
|
-
}
|
|
18312
|
+
multi: true,
|
|
18313
|
+
},
|
|
18388
18314
|
],
|
|
18389
18315
|
host: {
|
|
18390
|
-
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' "
|
|
18391
|
-
}
|
|
18316
|
+
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' ",
|
|
18317
|
+
},
|
|
18392
18318
|
}]
|
|
18393
18319
|
}], propDecorators: { aggregation: [{
|
|
18394
18320
|
type: Input
|
|
18395
18321
|
}], contentTemplate: [{
|
|
18396
18322
|
type: Input
|
|
18397
|
-
}] } });
|
|
18323
|
+
}] } });
|
|
18324
|
+
class AggregationFieldModule {
|
|
18325
|
+
}
|
|
18326
|
+
AggregationFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18327
|
+
AggregationFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldModule, declarations: [AggregationFieldComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [AggregationFieldComponent] });
|
|
18328
|
+
AggregationFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule]] });
|
|
18329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldModule, decorators: [{
|
|
18330
|
+
type: NgModule,
|
|
18331
|
+
args: [{
|
|
18332
|
+
declarations: [AggregationFieldComponent],
|
|
18333
|
+
exports: [AggregationFieldComponent],
|
|
18334
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule],
|
|
18335
|
+
}]
|
|
18336
|
+
}] });
|
|
18398
18337
|
|
|
18399
18338
|
class CustomFieldComponent extends BaseField {
|
|
18400
18339
|
constructor() {
|
|
18401
18340
|
super(...arguments);
|
|
18402
18341
|
this.handlers = {
|
|
18403
|
-
activeUser: this._prepareField.bind(this)
|
|
18342
|
+
activeUser: this._prepareField.bind(this),
|
|
18343
|
+
aggregationGroup: this._prepareField.bind(this)
|
|
18404
18344
|
};
|
|
18405
18345
|
}
|
|
18406
18346
|
ngOnInit() {
|
|
@@ -18896,12 +18836,14 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18896
18836
|
}
|
|
18897
18837
|
for (const field of this.fields) {
|
|
18898
18838
|
const key = field.config.fieldKey;
|
|
18899
|
-
this.formGroup.
|
|
18839
|
+
if (!this.formGroup.contains(key)) {
|
|
18840
|
+
this.formGroup.addControl(key, new FormControl(field.config.values));
|
|
18841
|
+
}
|
|
18900
18842
|
}
|
|
18901
18843
|
}
|
|
18902
18844
|
_handleFormGroupChanges() {
|
|
18903
18845
|
this.formGroup.valueChanges
|
|
18904
|
-
.pipe(debounceTime(300), map((data) => removeEmptyKeys(data)), distinctUntilChanged((a, b) => ___default.isEqual(a
|
|
18846
|
+
.pipe(debounceTime(300), map((data) => removeEmptyKeys(data)), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
|
|
18905
18847
|
.subscribe((res) => {
|
|
18906
18848
|
this.filterChanged.emit(res);
|
|
18907
18849
|
});
|
|
@@ -18939,6 +18881,158 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18939
18881
|
type: Output
|
|
18940
18882
|
}] } });
|
|
18941
18883
|
|
|
18884
|
+
class ActiveUserService extends BaseService {
|
|
18885
|
+
getCurrentUser() {
|
|
18886
|
+
return this.user;
|
|
18887
|
+
}
|
|
18888
|
+
}
|
|
18889
|
+
ActiveUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
18890
|
+
ActiveUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, providedIn: 'root' });
|
|
18891
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserService, decorators: [{
|
|
18892
|
+
type: Injectable,
|
|
18893
|
+
args: [{
|
|
18894
|
+
providedIn: 'root'
|
|
18895
|
+
}]
|
|
18896
|
+
}] });
|
|
18897
|
+
|
|
18898
|
+
class ActiveUserSwitchComponent extends BaseCustomField {
|
|
18899
|
+
constructor() {
|
|
18900
|
+
super(...arguments);
|
|
18901
|
+
this._userService = this.injector.get(ActiveUserService);
|
|
18902
|
+
this.isUserSelected = false;
|
|
18903
|
+
}
|
|
18904
|
+
writeValue(value) {
|
|
18905
|
+
if (value) {
|
|
18906
|
+
const val = isFieldValueObject(value) ? value.value : value;
|
|
18907
|
+
this.isUserSelected = val === this.getValue();
|
|
18908
|
+
}
|
|
18909
|
+
}
|
|
18910
|
+
toggle({ checked }) {
|
|
18911
|
+
this.isUserSelected = checked;
|
|
18912
|
+
if (!checked) {
|
|
18913
|
+
this.onChange(null);
|
|
18914
|
+
return;
|
|
18915
|
+
}
|
|
18916
|
+
if (this.field.valueType === 'property') {
|
|
18917
|
+
this.onChange(this.getValue());
|
|
18918
|
+
return;
|
|
18919
|
+
}
|
|
18920
|
+
this.updateObjectValue();
|
|
18921
|
+
}
|
|
18922
|
+
getValue() {
|
|
18923
|
+
var _a;
|
|
18924
|
+
return ___default.get(this._userService.getCurrentUser(), ((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.bindValue) || 'properties.username');
|
|
18925
|
+
}
|
|
18926
|
+
updateObjectValue() {
|
|
18927
|
+
var _a;
|
|
18928
|
+
const operator = ((_a = this.field) === null || _a === void 0 ? void 0 : _a.operator) || COMPARISON_OPERATOR.equals;
|
|
18929
|
+
const data = this._prepareValueObject(this.getValue(), operator);
|
|
18930
|
+
this.onChange(data);
|
|
18931
|
+
}
|
|
18932
|
+
}
|
|
18933
|
+
ActiveUserSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18934
|
+
ActiveUserSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActiveUserSwitchComponent, selector: "active-user-switch", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle\r\n\tclass=\"filter-switch__item\"\r\n\t[checked]=\"isUserSelected\"\r\n\t(change)=\"toggle($event)\"\r\n\t[class.checkedBox]=\"isUserSelected\"\r\n\t[class.unCheckedBox]=\"!isUserSelected\"\r\n>\r\n\t{{ renderOptions?.text || field?.label | translate }}\r\n</mat-slide-toggle>\r\n", styles: [""], components: [{ type: i1$9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
18935
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActiveUserSwitchComponent, decorators: [{
|
|
18936
|
+
type: Component,
|
|
18937
|
+
args: [{
|
|
18938
|
+
selector: 'active-user-switch',
|
|
18939
|
+
templateUrl: './active-user-switch.component.html',
|
|
18940
|
+
styleUrls: ['./active-user-switch.component.scss']
|
|
18941
|
+
}]
|
|
18942
|
+
}] });
|
|
18943
|
+
|
|
18944
|
+
class MapToAggregationConfigPipe {
|
|
18945
|
+
transform(config) {
|
|
18946
|
+
if (!config) {
|
|
18947
|
+
return null;
|
|
18948
|
+
}
|
|
18949
|
+
const aggregationConfig = Object.assign(Object.assign({}, config), { valueType: 'property', sendMode: 'queryParam' });
|
|
18950
|
+
return aggregationConfig;
|
|
18951
|
+
}
|
|
18952
|
+
}
|
|
18953
|
+
MapToAggregationConfigPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapToAggregationConfigPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18954
|
+
MapToAggregationConfigPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapToAggregationConfigPipe, name: "mapToAggregationConfig" });
|
|
18955
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapToAggregationConfigPipe, decorators: [{
|
|
18956
|
+
type: Pipe,
|
|
18957
|
+
args: [{
|
|
18958
|
+
name: 'mapToAggregationConfig'
|
|
18959
|
+
}]
|
|
18960
|
+
}] });
|
|
18961
|
+
|
|
18962
|
+
class AggregationGroupComponent extends BaseCustomField {
|
|
18963
|
+
constructor() {
|
|
18964
|
+
super(...arguments);
|
|
18965
|
+
this.formItems = new FormArray([]);
|
|
18966
|
+
this.formGroup = new FormGroup({
|
|
18967
|
+
items: this.formItems
|
|
18968
|
+
});
|
|
18969
|
+
this.internalValue = [];
|
|
18970
|
+
this.fieldTypes = FIELD_TYPE;
|
|
18971
|
+
}
|
|
18972
|
+
get options() {
|
|
18973
|
+
var _a, _b;
|
|
18974
|
+
return (_b = (_a = this.field) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.options;
|
|
18975
|
+
}
|
|
18976
|
+
trackByFieldKey(_, field) {
|
|
18977
|
+
return field === null || field === void 0 ? void 0 : field.fieldKey;
|
|
18978
|
+
}
|
|
18979
|
+
writeValue(value) {
|
|
18980
|
+
if (value) {
|
|
18981
|
+
const _values = this._getValues(value);
|
|
18982
|
+
if (___default.isEqual(_values, this.internalValue)) {
|
|
18983
|
+
return;
|
|
18984
|
+
}
|
|
18985
|
+
this.internalValue = _values;
|
|
18986
|
+
this.formItems.clear();
|
|
18987
|
+
this._prepareFormFields(this.internalValue);
|
|
18988
|
+
}
|
|
18989
|
+
}
|
|
18990
|
+
ngOnInit() {
|
|
18991
|
+
this._prepareFormFields(this.internalValue);
|
|
18992
|
+
this._listenToChanges();
|
|
18993
|
+
}
|
|
18994
|
+
_listenToChanges() {
|
|
18995
|
+
this.formGroup.valueChanges
|
|
18996
|
+
.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)), map(({ items }) => items.reduce((acc, curr) => acc.concat(curr), []).filter(Boolean)), filter$1((value) => !___default.isEqual(this.internalValue, value)), takeUntil(this.destroy$))
|
|
18997
|
+
.subscribe((value) => {
|
|
18998
|
+
this.emitValue(value);
|
|
18999
|
+
});
|
|
19000
|
+
}
|
|
19001
|
+
_prepareFormFields(values = []) {
|
|
19002
|
+
var _a;
|
|
19003
|
+
const items = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.aggregations) || [];
|
|
19004
|
+
if (!!items.length) {
|
|
19005
|
+
this.formItems.clear();
|
|
19006
|
+
items.forEach((item) => {
|
|
19007
|
+
this.formItems.push(new FormControl(values));
|
|
19008
|
+
});
|
|
19009
|
+
}
|
|
19010
|
+
}
|
|
19011
|
+
emitValue(value) {
|
|
19012
|
+
var _a;
|
|
19013
|
+
this.internalValue = value;
|
|
19014
|
+
if ((value === null || value === void 0 ? void 0 : value.length) !== 0 && this._isValueObject()) {
|
|
19015
|
+
this.onChange(this._prepareValueObject(value, ((_a = this.field) === null || _a === void 0 ? void 0 : _a.operator) || COMPARISON_OPERATOR.in));
|
|
19016
|
+
return;
|
|
19017
|
+
}
|
|
19018
|
+
this.onChange(value);
|
|
19019
|
+
}
|
|
19020
|
+
_getValues(values) {
|
|
19021
|
+
var _a;
|
|
19022
|
+
return Array.isArray(values) ? values : ((_a = values) === null || _a === void 0 ? void 0 : _a.value) || [];
|
|
19023
|
+
}
|
|
19024
|
+
}
|
|
19025
|
+
AggregationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
19026
|
+
AggregationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationGroupComponent, selector: "app-aggregation-group", usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" *ngIf=\"options?.aggregations && aggregations\">\r\n\t<div formArrayName=\"items\">\r\n\t\t<ng-container *ngFor=\"let fieldConfig of options?.aggregations; trackBy: trackByFieldKey; let i = index\">\r\n\t\t\t<ng-container *permission=\"{ name: fieldConfig?.permission }\">\r\n\t\t\t\t<app-aggregation-field\r\n\t\t\t\t\t*ngIf=\"fieldConfig?.condition | checkCondition: aggregations : currentLang\"\r\n\t\t\t\t\t[aggregation]=\"aggregations[fieldConfig.aggregation]\"\r\n\t\t\t\t\t[fieldConfig]=\"fieldConfig | mapToAggregationConfig\"\r\n\t\t\t\t\t[formControlName]=\"i\"\r\n\t\t\t\t></app-aggregation-field>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [""], components: [{ type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: ["aggregation", "contentTemplate"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "mapToAggregationConfig": MapToAggregationConfigPipe, "checkCondition": CheckConditionPipe } });
|
|
19027
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationGroupComponent, decorators: [{
|
|
19028
|
+
type: Component,
|
|
19029
|
+
args: [{
|
|
19030
|
+
selector: 'app-aggregation-group',
|
|
19031
|
+
templateUrl: './aggregation-group.component.html',
|
|
19032
|
+
styleUrls: ['./aggregation-group.component.scss']
|
|
19033
|
+
}]
|
|
19034
|
+
}] });
|
|
19035
|
+
|
|
18942
19036
|
class NdfDatepickerModule {
|
|
18943
19037
|
}
|
|
18944
19038
|
NdfDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -18991,7 +19085,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18991
19085
|
}]
|
|
18992
19086
|
}] });
|
|
18993
19087
|
|
|
18994
|
-
const CONTAINERS$1 = [
|
|
19088
|
+
const CONTAINERS$1 = [
|
|
19089
|
+
FiltersPanelComponent,
|
|
19090
|
+
PredicateFieldComponent,
|
|
19091
|
+
CustomFieldComponent,
|
|
19092
|
+
];
|
|
18995
19093
|
const COMPONENTS$4 = [
|
|
18996
19094
|
AggregationAutocompleteComponent,
|
|
18997
19095
|
AggregationSelectComponent,
|
|
@@ -19001,9 +19099,13 @@ const COMPONENTS$4 = [
|
|
|
19001
19099
|
AggregationCustomComponent,
|
|
19002
19100
|
AggregationDateListComponent,
|
|
19003
19101
|
PredicateTextInputComponent,
|
|
19004
|
-
PredicateDateInputComponent
|
|
19102
|
+
PredicateDateInputComponent,
|
|
19103
|
+
];
|
|
19104
|
+
const CUSTOM_ELEMENTS = [
|
|
19105
|
+
ActiveUserSwitchComponent,
|
|
19106
|
+
AggregationGroupComponent,
|
|
19107
|
+
MapToAggregationConfigPipe,
|
|
19005
19108
|
];
|
|
19006
|
-
const CUSTOM_ELEMENTS = [ActiveUserSwitchComponent];
|
|
19007
19109
|
const PARTS = [
|
|
19008
19110
|
FilterOptionTextComponent,
|
|
19009
19111
|
FilterSearchInputComponent,
|
|
@@ -19012,7 +19114,7 @@ const PARTS = [
|
|
|
19012
19114
|
FilterEmptyMessageComponent,
|
|
19013
19115
|
FilterDateRangeComponent,
|
|
19014
19116
|
FilterAutocompleteInputComponent,
|
|
19015
|
-
FilterOptionsSortComponent
|
|
19117
|
+
FilterOptionsSortComponent,
|
|
19016
19118
|
];
|
|
19017
19119
|
const EXPORTED_PARTS = [HtmlDialogComponent];
|
|
19018
19120
|
const DIRECTIVES$3 = [
|
|
@@ -19024,7 +19126,7 @@ const DIRECTIVES$3 = [
|
|
|
19024
19126
|
CustomTemplateDirective,
|
|
19025
19127
|
DropdownLabelTemplateDirective,
|
|
19026
19128
|
DropdownMultiLabelTemplateDirective,
|
|
19027
|
-
DateListTemplateDirective
|
|
19129
|
+
DateListTemplateDirective,
|
|
19028
19130
|
];
|
|
19029
19131
|
const PIPES = [
|
|
19030
19132
|
AutocompleteFilterPipe,
|
|
@@ -19036,12 +19138,49 @@ const PIPES = [
|
|
|
19036
19138
|
SortListPipe,
|
|
19037
19139
|
TooltipPipe,
|
|
19038
19140
|
FiltersByRolesPipe,
|
|
19039
|
-
CheckConditionPipe
|
|
19141
|
+
CheckConditionPipe,
|
|
19040
19142
|
];
|
|
19041
19143
|
class NdfFiltersPanelModule {
|
|
19144
|
+
/**
|
|
19145
|
+
*
|
|
19146
|
+
*/
|
|
19147
|
+
constructor(loaderService) {
|
|
19148
|
+
this.loaderService = loaderService;
|
|
19149
|
+
this._registerCustomComponent();
|
|
19150
|
+
this._registerAggregationsComponents();
|
|
19151
|
+
this._registerPredicateComponents();
|
|
19152
|
+
}
|
|
19153
|
+
//------
|
|
19154
|
+
// CUSTOM
|
|
19155
|
+
//------
|
|
19156
|
+
_registerCustomComponent() {
|
|
19157
|
+
this.loaderService.registerComponent(CUSTOM_FIELD_TYPES.activeUser, ActiveUserSwitchComponent);
|
|
19158
|
+
this.loaderService.registerComponent(CUSTOM_FIELD_TYPES.aggregationGroup, AggregationGroupComponent);
|
|
19159
|
+
}
|
|
19160
|
+
//------
|
|
19161
|
+
// AGGREGATION
|
|
19162
|
+
//------
|
|
19163
|
+
_registerAggregationsComponents() {
|
|
19164
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.autocomplete, AggregationAutocompleteComponent);
|
|
19165
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.dropdown, AggregationSelectComponent);
|
|
19166
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.switch, AggregationSwitchComponent);
|
|
19167
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.radio, AggregationRadioComponent);
|
|
19168
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.dateList, AggregationDateListComponent);
|
|
19169
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.custom, AggregationCustomComponent);
|
|
19170
|
+
this.loaderService.registerComponent(AGGREGATION_FIELD_TYPES.checkbox, AggregationCheckboxComponent);
|
|
19171
|
+
}
|
|
19172
|
+
//------
|
|
19173
|
+
// PREDICATE
|
|
19174
|
+
//------
|
|
19175
|
+
_registerPredicateComponents() {
|
|
19176
|
+
this.loaderService.registerComponent(PREDICATE_FIELD_TYPES.input, PredicateTextInputComponent);
|
|
19177
|
+
this.loaderService.registerComponent(PREDICATE_FIELD_TYPES.date, PredicateDateInputComponent);
|
|
19178
|
+
}
|
|
19042
19179
|
}
|
|
19043
|
-
NdfFiltersPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfFiltersPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19044
|
-
NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfFiltersPanelModule, declarations: [FiltersPanelComponent,
|
|
19180
|
+
NdfFiltersPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfFiltersPanelModule, deps: [{ token: DynamicComponentLoaderService }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19181
|
+
NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfFiltersPanelModule, declarations: [FiltersPanelComponent,
|
|
19182
|
+
PredicateFieldComponent,
|
|
19183
|
+
CustomFieldComponent, AggregationAutocompleteComponent,
|
|
19045
19184
|
AggregationSelectComponent,
|
|
19046
19185
|
AggregationCheckboxComponent,
|
|
19047
19186
|
AggregationSwitchComponent,
|
|
@@ -19049,7 +19188,9 @@ NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
19049
19188
|
AggregationCustomComponent,
|
|
19050
19189
|
AggregationDateListComponent,
|
|
19051
19190
|
PredicateTextInputComponent,
|
|
19052
|
-
PredicateDateInputComponent, ActiveUserSwitchComponent,
|
|
19191
|
+
PredicateDateInputComponent, ActiveUserSwitchComponent,
|
|
19192
|
+
AggregationGroupComponent,
|
|
19193
|
+
MapToAggregationConfigPipe, CheckboxTemplateDirective,
|
|
19053
19194
|
RadioTemplateDirective,
|
|
19054
19195
|
SwitchTemplateDirective,
|
|
19055
19196
|
DropdownTemplateDirective,
|
|
@@ -19092,7 +19233,10 @@ NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
19092
19233
|
DynamicFormModule,
|
|
19093
19234
|
NuxeoDialogModule,
|
|
19094
19235
|
DirectiveModule,
|
|
19095
|
-
NdfDatepickerModule,
|
|
19236
|
+
NdfDatepickerModule,
|
|
19237
|
+
AggregationFieldModule, i5$4.NgxMaskModule], exports: [FiltersPanelComponent,
|
|
19238
|
+
PredicateFieldComponent,
|
|
19239
|
+
CustomFieldComponent, AggregationAutocompleteComponent,
|
|
19096
19240
|
AggregationSelectComponent,
|
|
19097
19241
|
AggregationCheckboxComponent,
|
|
19098
19242
|
AggregationSwitchComponent,
|
|
@@ -19100,7 +19244,9 @@ NdfFiltersPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
19100
19244
|
AggregationCustomComponent,
|
|
19101
19245
|
AggregationDateListComponent,
|
|
19102
19246
|
PredicateTextInputComponent,
|
|
19103
|
-
PredicateDateInputComponent, ActiveUserSwitchComponent,
|
|
19247
|
+
PredicateDateInputComponent, ActiveUserSwitchComponent,
|
|
19248
|
+
AggregationGroupComponent,
|
|
19249
|
+
MapToAggregationConfigPipe, CheckboxTemplateDirective,
|
|
19104
19250
|
RadioTemplateDirective,
|
|
19105
19251
|
SwitchTemplateDirective,
|
|
19106
19252
|
DropdownTemplateDirective,
|
|
@@ -19130,15 +19276,30 @@ NdfFiltersPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
|
|
|
19130
19276
|
NuxeoDialogModule,
|
|
19131
19277
|
DirectiveModule,
|
|
19132
19278
|
NdfDatepickerModule,
|
|
19279
|
+
AggregationFieldModule,
|
|
19133
19280
|
NgxMaskModule.forRoot({
|
|
19134
|
-
validation: true
|
|
19135
|
-
})
|
|
19281
|
+
validation: true,
|
|
19282
|
+
}),
|
|
19136
19283
|
]] });
|
|
19137
19284
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfFiltersPanelModule, decorators: [{
|
|
19138
19285
|
type: NgModule,
|
|
19139
19286
|
args: [{
|
|
19140
|
-
declarations: [
|
|
19141
|
-
|
|
19287
|
+
declarations: [
|
|
19288
|
+
CONTAINERS$1,
|
|
19289
|
+
COMPONENTS$4,
|
|
19290
|
+
CUSTOM_ELEMENTS,
|
|
19291
|
+
DIRECTIVES$3,
|
|
19292
|
+
PIPES,
|
|
19293
|
+
PARTS,
|
|
19294
|
+
EXPORTED_PARTS,
|
|
19295
|
+
],
|
|
19296
|
+
exports: [
|
|
19297
|
+
CONTAINERS$1,
|
|
19298
|
+
COMPONENTS$4,
|
|
19299
|
+
CUSTOM_ELEMENTS,
|
|
19300
|
+
DIRECTIVES$3,
|
|
19301
|
+
EXPORTED_PARTS,
|
|
19302
|
+
],
|
|
19142
19303
|
imports: [
|
|
19143
19304
|
CommonModule,
|
|
19144
19305
|
FormsModule,
|
|
@@ -19160,13 +19321,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
19160
19321
|
NuxeoDialogModule,
|
|
19161
19322
|
DirectiveModule,
|
|
19162
19323
|
NdfDatepickerModule,
|
|
19324
|
+
AggregationFieldModule,
|
|
19163
19325
|
NgxMaskModule.forRoot({
|
|
19164
|
-
validation: true
|
|
19165
|
-
})
|
|
19326
|
+
validation: true,
|
|
19327
|
+
}),
|
|
19166
19328
|
],
|
|
19167
|
-
providers: [DynamicComponentLoaderService, AggregationFieldService]
|
|
19329
|
+
providers: [DynamicComponentLoaderService, AggregationFieldService],
|
|
19168
19330
|
}]
|
|
19169
|
-
}] });
|
|
19331
|
+
}], ctorParameters: function () { return [{ type: DynamicComponentLoaderService }]; } });
|
|
19170
19332
|
|
|
19171
19333
|
class TextSearchComponent extends DestroySubject {
|
|
19172
19334
|
constructor() {
|
|
@@ -19537,7 +19699,7 @@ class SkeletonComponent {
|
|
|
19537
19699
|
}
|
|
19538
19700
|
}
|
|
19539
19701
|
SkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19540
|
-
SkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SkeletonComponent, selector: "app-skeleton", inputs: { styleClass: "styleClass", style: "style", shape: "shape", animation: "animation", radius: "radius", size: "size", width: "width", height: "height", randomWidth: "randomWidth" }, ngImport: i0, template: `<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="containerStyle()"></div>`, isInline: true, styles: [".skeleton-circle{--skeleton-radius: 50%}.skeleton-none{--skeleton-animation: none}.skeleton-opacity{--skeleton-animation: skeleton-opacity 1.2s infinite;--skeleton-bg: linear-gradient( 0deg, rgba(150, 153, 158, 0) 40%, rgba(150, 153, 158, .6) 100% );--skeleton-transform: none}.skeleton{position:relative;overflow:hidden;background-color:var(--skeleton-bg
|
|
19702
|
+
SkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SkeletonComponent, selector: "app-skeleton", inputs: { styleClass: "styleClass", style: "style", shape: "shape", animation: "animation", radius: "radius", size: "size", width: "width", height: "height", randomWidth: "randomWidth" }, ngImport: i0, template: `<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="containerStyle()"></div>`, isInline: true, styles: [".skeleton-circle{--skeleton-radius: 50%}.skeleton-none{--skeleton-animation: none}.skeleton-opacity{--skeleton-animation: skeleton-opacity 1.2s infinite;--skeleton-opacity-bg: linear-gradient( 0deg, rgba(150, 153, 158, 0) 40%, rgba(150, 153, 158, .6) 100% );--skeleton-transform: none}.skeleton{position:relative;overflow:hidden;background-color:var(--skeleton-bg);border-radius:var(--skeleton-radius, 3px)}.skeleton:after{content:\"\";animation:var(--skeleton-animation, skeleton-animation 1.2s infinite);height:100%;left:0;position:absolute;right:0;top:0;transform:var(--skeleton-transform, translateX(-100%));z-index:1;background:var(--skeleton-animation-bg, linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .5), rgba(255, 255, 255, 0)))}@keyframes skeleton-animation{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes skeleton-opacity{0%{opacity:.12}to{opacity:.02}}\n"], directives: [{ type: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
19541
19703
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SkeletonComponent, decorators: [{
|
|
19542
19704
|
type: Component,
|
|
19543
19705
|
args: [{
|
|
@@ -41200,6 +41362,12 @@ class BaseChart extends DestroySubject {
|
|
|
41200
41362
|
get config() {
|
|
41201
41363
|
return this._config;
|
|
41202
41364
|
}
|
|
41365
|
+
set criteria(value) {
|
|
41366
|
+
this._criteria = ___default.cloneDeep(value);
|
|
41367
|
+
}
|
|
41368
|
+
get criteria() {
|
|
41369
|
+
return this._criteria;
|
|
41370
|
+
}
|
|
41203
41371
|
_subscribeToLanguage() {
|
|
41204
41372
|
this._translateService.onLangChange
|
|
41205
41373
|
.pipe(distinctUntilChanged((pre, next) => pre.lang == next.lang), filter$1(() => this._isInitialized), takeUntil(this.destroy$))
|
|
@@ -41209,18 +41377,92 @@ class BaseChart extends DestroySubject {
|
|
|
41209
41377
|
}
|
|
41210
41378
|
}
|
|
41211
41379
|
BaseChart.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseChart, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41212
|
-
BaseChart.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseChart, inputs: { data: "data", config: "config" }, outputs: { onReady: "onReady" }, usesInheritance: true, ngImport: i0 });
|
|
41380
|
+
BaseChart.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseChart, inputs: { data: "data", config: "config", criteria: "criteria" }, outputs: { onReady: "onReady" }, usesInheritance: true, ngImport: i0 });
|
|
41213
41381
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseChart, decorators: [{
|
|
41214
41382
|
type: Directive
|
|
41215
41383
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { data: [{
|
|
41216
41384
|
type: Input
|
|
41217
41385
|
}], config: [{
|
|
41218
41386
|
type: Input
|
|
41387
|
+
}], criteria: [{
|
|
41388
|
+
type: Input
|
|
41219
41389
|
}], onReady: [{
|
|
41220
41390
|
type: Output
|
|
41221
41391
|
}] } });
|
|
41222
41392
|
|
|
41393
|
+
class ReportsDataTransformers {
|
|
41394
|
+
constructor() {
|
|
41395
|
+
this._transformations = new Map();
|
|
41396
|
+
}
|
|
41397
|
+
register(arg1, arg2) {
|
|
41398
|
+
if (typeof arg1 === 'object') {
|
|
41399
|
+
Object.entries(arg1).forEach(([key, fn]) => this._transformations.set(key, fn));
|
|
41400
|
+
return;
|
|
41401
|
+
}
|
|
41402
|
+
if (typeof arg1 === 'string' && arg2) {
|
|
41403
|
+
this._transformations.set(arg1, arg2);
|
|
41404
|
+
}
|
|
41405
|
+
}
|
|
41406
|
+
/**
|
|
41407
|
+
* Retrieves a transformer function by its key.
|
|
41408
|
+
*
|
|
41409
|
+
* @param {string} key - The key of the transformer function.
|
|
41410
|
+
* @returns {ReportDataTransformer | undefined} - The transformer function or undefined if not found.
|
|
41411
|
+
*/
|
|
41412
|
+
get(key) {
|
|
41413
|
+
return this._transformations.get(key);
|
|
41414
|
+
}
|
|
41415
|
+
/**
|
|
41416
|
+
* Retrieves all registered transformer functions.
|
|
41417
|
+
*
|
|
41418
|
+
* @returns {Map<string, ReportDataTransformer>} - A map of all transformer functions.
|
|
41419
|
+
*/
|
|
41420
|
+
getAll() {
|
|
41421
|
+
return this._transformations;
|
|
41422
|
+
}
|
|
41423
|
+
/**
|
|
41424
|
+
* Clears all registered transformer functions.
|
|
41425
|
+
*/
|
|
41426
|
+
clear() {
|
|
41427
|
+
this._transformations.clear();
|
|
41428
|
+
}
|
|
41429
|
+
/**
|
|
41430
|
+
* Checks if a transformer function is registered for a specific key.
|
|
41431
|
+
*
|
|
41432
|
+
* @param {string} key - The key to check.
|
|
41433
|
+
* @returns {boolean} - True if the key exists, false otherwise.
|
|
41434
|
+
*/
|
|
41435
|
+
has(key) {
|
|
41436
|
+
return this._transformations.has(key);
|
|
41437
|
+
}
|
|
41438
|
+
/**
|
|
41439
|
+
* Removes a transformer function by its key.
|
|
41440
|
+
*
|
|
41441
|
+
* @param {string} key - The key of the transformer function to remove.
|
|
41442
|
+
*/
|
|
41443
|
+
remove(key) {
|
|
41444
|
+
this._transformations.delete(key);
|
|
41445
|
+
}
|
|
41446
|
+
transform(key, data) {
|
|
41447
|
+
const fn = this.get(key);
|
|
41448
|
+
if (!fn) {
|
|
41449
|
+
throw new Error(`No transformer registered for key: ${key}`);
|
|
41450
|
+
}
|
|
41451
|
+
return fn(data);
|
|
41452
|
+
}
|
|
41453
|
+
}
|
|
41454
|
+
ReportsDataTransformers.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportsDataTransformers, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41455
|
+
ReportsDataTransformers.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportsDataTransformers, providedIn: 'root' });
|
|
41456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ReportsDataTransformers, decorators: [{
|
|
41457
|
+
type: Injectable,
|
|
41458
|
+
args: [{ providedIn: 'root' }]
|
|
41459
|
+
}] });
|
|
41460
|
+
|
|
41223
41461
|
class NdfReportsService extends BaseService {
|
|
41462
|
+
constructor(injector, _reportsDataTransformers) {
|
|
41463
|
+
super(injector);
|
|
41464
|
+
this._reportsDataTransformers = _reportsDataTransformers;
|
|
41465
|
+
}
|
|
41224
41466
|
getData(request, criteria = {}) {
|
|
41225
41467
|
return (request === null || request === void 0 ? void 0 : request.customUrl) ? this._customQuery(request, criteria) : this._query(request, criteria);
|
|
41226
41468
|
}
|
|
@@ -41230,7 +41472,7 @@ class NdfReportsService extends BaseService {
|
|
|
41230
41472
|
pageProvider: request.pageProvider,
|
|
41231
41473
|
headers: request === null || request === void 0 ? void 0 : request.headers,
|
|
41232
41474
|
params: params
|
|
41233
|
-
});
|
|
41475
|
+
}).pipe(switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer) ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response) : of(response)));
|
|
41234
41476
|
}
|
|
41235
41477
|
_customQuery(request, criteria) {
|
|
41236
41478
|
var _a;
|
|
@@ -41241,7 +41483,7 @@ class NdfReportsService extends BaseService {
|
|
|
41241
41483
|
headers: request === null || request === void 0 ? void 0 : request.headers,
|
|
41242
41484
|
queryParams: params,
|
|
41243
41485
|
payload: payload
|
|
41244
|
-
});
|
|
41486
|
+
}).pipe(switchMap((response) => !!(request === null || request === void 0 ? void 0 : request.transformer) ? this._reportsDataTransformers.transform(request === null || request === void 0 ? void 0 : request.transformer, response) : of(response)));
|
|
41245
41487
|
}
|
|
41246
41488
|
_prepareRequest(request, criteria) {
|
|
41247
41489
|
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) || {}));
|
|
@@ -41256,14 +41498,14 @@ class NdfReportsService extends BaseService {
|
|
|
41256
41498
|
};
|
|
41257
41499
|
}
|
|
41258
41500
|
}
|
|
41259
|
-
NdfReportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, deps:
|
|
41501
|
+
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 });
|
|
41260
41502
|
NdfReportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, providedIn: 'root' });
|
|
41261
41503
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsService, decorators: [{
|
|
41262
41504
|
type: Injectable,
|
|
41263
41505
|
args: [{
|
|
41264
41506
|
providedIn: 'root'
|
|
41265
41507
|
}]
|
|
41266
|
-
}] });
|
|
41508
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: ReportsDataTransformers }]; } });
|
|
41267
41509
|
|
|
41268
41510
|
class ChartManagerService {
|
|
41269
41511
|
constructor(_translateService, _document) {
|
|
@@ -41483,36 +41725,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
41483
41725
|
class DynamicTimelineReportService {
|
|
41484
41726
|
constructor(_ndfReportsService) {
|
|
41485
41727
|
this._ndfReportsService = _ndfReportsService;
|
|
41486
|
-
this._rebuildTriggerSub = new BehaviorSubject(false);
|
|
41487
|
-
this.rebuild$ = this._rebuildTriggerSub.asObservable();
|
|
41488
41728
|
this._isInitialized = false;
|
|
41489
41729
|
this.isLoadingResult = false;
|
|
41490
|
-
this._selectedGroupSub = new
|
|
41730
|
+
this._selectedGroupSub = new BehaviorSubject(null);
|
|
41491
41731
|
this.selectedGroup$ = this._selectedGroupSub.asObservable();
|
|
41492
|
-
|
|
41493
|
-
|
|
41494
|
-
if (!this._selectedGroup) {
|
|
41495
|
-
this._selectedGroup = selected || 'week';
|
|
41496
|
-
}
|
|
41497
|
-
this._selectedGroupSub.next(this._selectedGroup);
|
|
41732
|
+
this._rebuildTriggerSub = new BehaviorSubject(false);
|
|
41733
|
+
this.rebuild$ = this._rebuildTriggerSub.asObservable();
|
|
41498
41734
|
}
|
|
41499
41735
|
changeGroup(group) {
|
|
41500
|
-
this.
|
|
41501
|
-
this.
|
|
41736
|
+
this._selectedGroupSub.next(group);
|
|
41737
|
+
this.rebuild();
|
|
41502
41738
|
}
|
|
41503
41739
|
rebuild() {
|
|
41504
41740
|
this._rebuildTriggerSub.next(true);
|
|
41505
41741
|
}
|
|
41506
41742
|
prepareData() {
|
|
41507
|
-
return pipe(
|
|
41743
|
+
return pipe(tap(([config, criteria]) => {
|
|
41508
41744
|
var _a;
|
|
41745
|
+
if (!this._selectedGroupSub.getValue()) {
|
|
41746
|
+
this._selectedGroupSub.next(((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected) || 'week');
|
|
41747
|
+
}
|
|
41748
|
+
this.payload = ___default.merge(this.prepareSelectedGroups(config), criteria || {});
|
|
41749
|
+
}), switchMap(([config, criteria]) => {
|
|
41750
|
+
var _a, _b, _c;
|
|
41509
41751
|
const request = config === null || config === void 0 ? void 0 : config.request;
|
|
41510
41752
|
if (!request) {
|
|
41511
41753
|
return of(null);
|
|
41512
41754
|
}
|
|
41513
|
-
|
|
41514
|
-
|
|
41515
|
-
|
|
41755
|
+
let _payload = this.payload;
|
|
41756
|
+
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') {
|
|
41757
|
+
try {
|
|
41758
|
+
_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');
|
|
41759
|
+
}
|
|
41760
|
+
catch (e) {
|
|
41761
|
+
console.error(e);
|
|
41762
|
+
_payload = this.payload;
|
|
41763
|
+
}
|
|
41764
|
+
}
|
|
41765
|
+
const data$ = this._ndfReportsService.getData(request, _payload).pipe(catchError((error) => {
|
|
41516
41766
|
console.error(error);
|
|
41517
41767
|
return of(null);
|
|
41518
41768
|
}), finalize(() => {
|
|
@@ -41524,14 +41774,11 @@ class DynamicTimelineReportService {
|
|
|
41524
41774
|
});
|
|
41525
41775
|
}));
|
|
41526
41776
|
}
|
|
41527
|
-
|
|
41528
|
-
const data = config.datasource.map((source) => {
|
|
41529
|
-
|
|
41530
|
-
|
|
41531
|
-
|
|
41532
|
-
interval: this._selectedGroup || ((_a = config === null || config === void 0 ? void 0 : config.group) === null || _a === void 0 ? void 0 : _a.selected) || 'week'
|
|
41533
|
-
});
|
|
41534
|
-
});
|
|
41777
|
+
prepareSelectedGroups(config) {
|
|
41778
|
+
const data = config.datasource.map((source) => ({
|
|
41779
|
+
name: source.aggregation,
|
|
41780
|
+
interval: this._selectedGroupSub.getValue()
|
|
41781
|
+
}));
|
|
41535
41782
|
return {
|
|
41536
41783
|
payload: {
|
|
41537
41784
|
aggregationNames: data
|
|
@@ -41540,10 +41787,9 @@ class DynamicTimelineReportService {
|
|
|
41540
41787
|
}
|
|
41541
41788
|
}
|
|
41542
41789
|
DynamicTimelineReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, deps: [{ token: NdfReportsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41543
|
-
DynamicTimelineReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService
|
|
41790
|
+
DynamicTimelineReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService });
|
|
41544
41791
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportService, decorators: [{
|
|
41545
|
-
type: Injectable
|
|
41546
|
-
args: [{ providedIn: 'root' }]
|
|
41792
|
+
type: Injectable
|
|
41547
41793
|
}], ctorParameters: function () { return [{ type: NdfReportsService }]; } });
|
|
41548
41794
|
|
|
41549
41795
|
class ReportsStateService {
|
|
@@ -41676,7 +41922,7 @@ class DigitChartService {
|
|
|
41676
41922
|
constructor(_dataTransformers) {
|
|
41677
41923
|
this._dataTransformers = _dataTransformers;
|
|
41678
41924
|
}
|
|
41679
|
-
prepareChart(response, config) {
|
|
41925
|
+
prepareChart(response, config, filterCriteria) {
|
|
41680
41926
|
if (!config.datasource) {
|
|
41681
41927
|
console.warn('No datasource provided for chart configuration');
|
|
41682
41928
|
return of(null);
|
|
@@ -41685,7 +41931,7 @@ class DigitChartService {
|
|
|
41685
41931
|
const rawData = ___default.get(response, sourceConfig.propertyPath);
|
|
41686
41932
|
if (this._dataTransformers.hasDigitsTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer)) {
|
|
41687
41933
|
const adapter = this._dataTransformers.getDigitsTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer);
|
|
41688
|
-
return adapter(rawData, response);
|
|
41934
|
+
return adapter(rawData, response, filterCriteria);
|
|
41689
41935
|
}
|
|
41690
41936
|
if (___default.isObject(rawData)) {
|
|
41691
41937
|
return ___default.get(rawData, sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.bindValue, rawData);
|
|
@@ -41714,7 +41960,7 @@ class BaseChartBuilderService {
|
|
|
41714
41960
|
this._dataTransformers = _dataTransformers;
|
|
41715
41961
|
this._translatePrefix = '';
|
|
41716
41962
|
}
|
|
41717
|
-
prepareChart(response, config) {
|
|
41963
|
+
prepareChart(response, config, filterCriteria) {
|
|
41718
41964
|
var _a;
|
|
41719
41965
|
this._translatePrefix = (_a = config === null || config === void 0 ? void 0 : config.prefix) !== null && _a !== void 0 ? _a : '';
|
|
41720
41966
|
if (!config.datasource) {
|
|
@@ -41725,7 +41971,7 @@ class BaseChartBuilderService {
|
|
|
41725
41971
|
});
|
|
41726
41972
|
}
|
|
41727
41973
|
return of(config.datasource).pipe(switchMap((sources) => {
|
|
41728
|
-
const observables$ = sources.map((src) => this._prepareDataSource(src, response));
|
|
41974
|
+
const observables$ = sources.map((src) => this._prepareDataSource(src, response, filterCriteria));
|
|
41729
41975
|
return forkJoin(observables$).pipe(map((results) => {
|
|
41730
41976
|
return {
|
|
41731
41977
|
data: this._prepareChartData(results, config),
|
|
@@ -41740,12 +41986,12 @@ class BaseChartBuilderService {
|
|
|
41740
41986
|
}));
|
|
41741
41987
|
}));
|
|
41742
41988
|
}
|
|
41743
|
-
_prepareDataSource(sourceConfig, response) {
|
|
41989
|
+
_prepareDataSource(sourceConfig, response, filterCriteria) {
|
|
41744
41990
|
const buckets = ___default.get(response, sourceConfig.propertyPath) || [];
|
|
41745
41991
|
return of(buckets).pipe(map((rawData) => {
|
|
41746
41992
|
if (this._dataTransformers.hasGraphTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer)) {
|
|
41747
41993
|
const transformer = this._dataTransformers.getGraphTransformer(sourceConfig === null || sourceConfig === void 0 ? void 0 : sourceConfig.transformer);
|
|
41748
|
-
const adaptedData = transformer(rawData, response);
|
|
41994
|
+
const adaptedData = transformer(rawData, response, filterCriteria, this._translateService.currentLang);
|
|
41749
41995
|
if (adaptedData) {
|
|
41750
41996
|
return adaptedData.map((row) => (Object.assign(Object.assign({}, row), { key: this._getLabel(row, sourceConfig) })));
|
|
41751
41997
|
}
|
|
@@ -42136,7 +42382,7 @@ class DigitChartComponent extends BaseChart {
|
|
|
42136
42382
|
this._dataSub.asObservable(),
|
|
42137
42383
|
this._configSub.asObservable(),
|
|
42138
42384
|
this._rebuildTriggerSub.asObservable()
|
|
42139
|
-
]).pipe(switchMap(([response, config]) => this._digitService.prepareChart(response, config)), finalize(() => {
|
|
42385
|
+
]).pipe(switchMap(([response, config]) => this._digitService.prepareChart(response, config, this.criteria)), finalize(() => {
|
|
42140
42386
|
this._isInitialized = true;
|
|
42141
42387
|
}));
|
|
42142
42388
|
}
|
|
@@ -42190,7 +42436,7 @@ class GraphChartComponent extends BaseChart {
|
|
|
42190
42436
|
this._configSub.asObservable(),
|
|
42191
42437
|
this._rebuildTriggerSub.asObservable()
|
|
42192
42438
|
]).pipe(switchMap(([response, config]) => {
|
|
42193
|
-
return this._graphService.prepareChart(response, config);
|
|
42439
|
+
return this._graphService.prepareChart(response, config, this.criteria);
|
|
42194
42440
|
}), tap((data) => {
|
|
42195
42441
|
this._isInitialized = true;
|
|
42196
42442
|
}));
|
|
@@ -42609,8 +42855,12 @@ class TimelineDialogComponent {
|
|
|
42609
42855
|
this.dialogRef = dialogRef;
|
|
42610
42856
|
this.chart = chart;
|
|
42611
42857
|
this._timelineService = _timelineService;
|
|
42858
|
+
this._rebuildTriggerSub = new BehaviorSubject(false);
|
|
42612
42859
|
this.selectedGroup$ = this._timelineService.selectedGroup$;
|
|
42613
42860
|
this.report$ = combineLatest([of(this.chart.config), of(this.chart.criteria), this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
|
|
42861
|
+
this.filterCriteria$ = this._timelineService.selectedGroup$.pipe(map((group) => {
|
|
42862
|
+
return ___default.cloneDeep(___default.merge(this.chart.criteria || {}, this._timelineService.prepareSelectedGroups(this.chart.config)));
|
|
42863
|
+
}));
|
|
42614
42864
|
}
|
|
42615
42865
|
changeGroup(group) {
|
|
42616
42866
|
this._timelineService.changeGroup(group);
|
|
@@ -42622,13 +42872,14 @@ class TimelineDialogComponent {
|
|
|
42622
42872
|
}
|
|
42623
42873
|
}
|
|
42624
42874
|
TimelineDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDialogComponent, deps: [{ token: i1$3.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: DynamicTimelineReportService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42625
|
-
TimelineDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDialogComponent, selector: "app-timeline-dialog", viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ chart?.title | translate }}\" *ngIf=\"report$ | async as report\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<app-graph-chart\r\n\t\t\t#graphChart\r\n\t\t\
|
|
42875
|
+
TimelineDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TimelineDialogComponent, selector: "app-timeline-dialog", providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], ngImport: i0, template: "<ndf-nuxeo-dialog dialogTitle=\"{{ chart?.title | translate }}\" *ngIf=\"report$ | async as report\">\r\n\t<ng-template #contentTemplate>\r\n\t\t<app-graph-chart\r\n\t\t\t#graphChart\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t\t[data]=\"report.data\"\r\n\t\t></app-graph-chart>\r\n\t</ng-template>\r\n\t<ng-template #footerTemplate>\r\n\t\t<div class=\"flex gap-x-4\">\r\n\t\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 p-1\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tclass=\"print-button chart-actions__item rounded\"\r\n\t\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t\t*ngIf=\"chart.config?.print\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<time-group-selector\r\n\t\t\t\t*ngIf=\"report.config?.group?.active ?? true\"\r\n\t\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t\t></time-group-selector>\r\n\t\t</div>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [":host{--graph-chart-height: 100%;--app-chart-height: 100%;--dialog-body-max-height: 100%}\n"], components: [{ type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "loaderMode"] }, { type: GraphChartComponent, selector: "app-graph-chart" }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "translate": i1.TranslatePipe, "async": i4$1.AsyncPipe } });
|
|
42626
42876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TimelineDialogComponent, decorators: [{
|
|
42627
42877
|
type: Component,
|
|
42628
42878
|
args: [{
|
|
42629
42879
|
selector: 'app-timeline-dialog',
|
|
42630
42880
|
templateUrl: './timeline-dialog.component.html',
|
|
42631
|
-
styleUrls: ['./timeline-dialog.component.scss']
|
|
42881
|
+
styleUrls: ['./timeline-dialog.component.scss'],
|
|
42882
|
+
providers: [DynamicTimelineReportService]
|
|
42632
42883
|
}]
|
|
42633
42884
|
}], ctorParameters: function () { return [{ type: i1$3.MatDialogRef }, { type: undefined, decorators: [{
|
|
42634
42885
|
type: Inject,
|
|
@@ -42721,12 +42972,12 @@ class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
42721
42972
|
super(injector);
|
|
42722
42973
|
this.injector = injector;
|
|
42723
42974
|
this._timelineService = this.injector.get(DynamicTimelineReportService);
|
|
42724
|
-
this.
|
|
42725
|
-
this.config$,
|
|
42726
|
-
this.criteria$.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b))),
|
|
42727
|
-
this._timelineService.rebuild$
|
|
42728
|
-
]).pipe(this._timelineService.prepareData());
|
|
42975
|
+
this._criteria$ = this.criteria$.pipe(distinctUntilChanged((a, b) => ___default.isEqual(a, b)));
|
|
42729
42976
|
this.selectedGroup$ = this._timelineService.selectedGroup$;
|
|
42977
|
+
this.filterCriteria$ = combineLatest([this._criteria$, this._timelineService.selectedGroup$]).pipe(map(([criteria]) => {
|
|
42978
|
+
return ___default.cloneDeep(___default.merge(criteria || {}, this._timelineService.prepareSelectedGroups(this.config)));
|
|
42979
|
+
}));
|
|
42980
|
+
this.report$ = combineLatest([this.config$, this._criteria$, this._timelineService.rebuild$]).pipe(this._timelineService.prepareData());
|
|
42730
42981
|
this._subscribeToLanguage();
|
|
42731
42982
|
}
|
|
42732
42983
|
_subscribeToLanguage() {
|
|
@@ -42756,7 +43007,7 @@ class DynamicTimelineReportComponent extends BaseGraphReport {
|
|
|
42756
43007
|
}
|
|
42757
43008
|
}
|
|
42758
43009
|
DynamicTimelineReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
42759
|
-
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\
|
|
43010
|
+
DynamicTimelineReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report", host: { classAttribute: "timeline-report flex flex-col flex-grow" }, providers: [DynamicTimelineReportService], viewQueries: [{ propertyName: "graphChartComponent", first: true, predicate: ["graphChart"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<chart-panel *ngIf=\"report$ | async as report; else noData\" class=\"ndf-report\">\r\n\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t<span>\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</span>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"config?.dialog?.active\"\r\n\t\t\tclass=\"dialog-button\"\r\n\t\t\t(click)=\"openTimelineDialog()\"\r\n\t\t\t[matTooltip]=\"'REPORTS.fullscreen' | translate\"\r\n\t\t>\r\n\t\t\t<mat-icon>fullscreen</mat-icon>\r\n\t\t</button>\r\n\t</chart-panel-header>\r\n\r\n\t<app-graph-chart\r\n\t\t#graphChart\r\n\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t[config]=\"report.config\"\r\n\t\t[criteria]=\"filterCriteria$ | async\"\r\n\t\t[data]=\"report.data\"\r\n\t></app-graph-chart>\r\n\r\n\t<chart-panel-footer class=\"ndf-report__footer\">\r\n\t\t<div class=\"chart-actions flex items-center rounded-lg gap-2 flex-wrap p-1\">\r\n\t\t\t<button\r\n\t\t\t\tclass=\"print-button chart-actions__item\"\r\n\t\t\t\t(click)=\"printChart()\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.print' | translate\"\r\n\t\t\t\t*ngIf=\"config?.print\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>print</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"navigate()\"\r\n\t\t\t\t*ngIf=\"config?.navigate?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.enabled' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>send</mat-icon>\r\n\t\t\t</button>\r\n\r\n\t\t\t<button\r\n\t\t\t\tclass=\"navigate-button chart-actions__item\"\r\n\t\t\t\t(click)=\"openDetails()\"\r\n\t\t\t\t*ngIf=\"config?.details?.enabled\"\r\n\t\t\t\t[matTooltip]=\"'REPORTS.details' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<mat-icon>info</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<time-group-selector\r\n\t\t\t*ngIf=\"config?.group?.active ?? true\"\r\n\t\t\t[group]=\"selectedGroup$ | async\"\r\n\t\t\t(groupChange)=\"changeGroup($event)\"\r\n\t\t></time-group-selector>\r\n\t</chart-panel-footer>\r\n</chart-panel>\r\n\r\n<ng-template #noData>\r\n\t<chart-panel class=\"ndf-report\">\r\n\t\t<chart-panel-header class=\"ndf-report__header mb-3\">\r\n\t\t\t{{ config.label | translate }}\r\n\t\t</chart-panel-header>\r\n\t\t<app-skeleton\r\n\t\t\tanimation=\"opacity\"\r\n\t\t\tclass=\"ndf-report__content ndf-report__content timeline-chart\"\r\n\t\t\theight=\"220px\"\r\n\t\t></app-skeleton>\r\n\t</chart-panel>\r\n</ng-template>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}:host{min-width:0;max-width:100%}.timeline-chart{display:var(--ndf-report-display, flex);flex-direction:var(--ndf-report-direction, column);justify-content:var(--ndf-report-justify-content, center);align-items:var(--ndf-report-align-items, center)}\n"], components: [{ type: ChartPanel, selector: "chart-panel" }, { type: ChartPanelHeaderComponent, selector: "chart-panel-header" }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: GraphChartComponent, selector: "app-graph-chart" }, { type: ChartPanelFooterComponent, selector: "chart-panel-footer" }, { type: TimeGroupSelectorComponent, selector: "time-group-selector", inputs: ["direction", "group"], outputs: ["groupChange"] }, { 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: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42760
43011
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTimelineReportComponent, decorators: [{
|
|
42761
43012
|
type: Component,
|
|
42762
43013
|
args: [{
|
|
@@ -42782,8 +43033,8 @@ function mapToNdfTableConfig(report, details) {
|
|
|
42782
43033
|
url: `/api/v1${_request === null || _request === void 0 ? void 0 : _request.customUrl.url}`,
|
|
42783
43034
|
method: _request === null || _request === void 0 ? void 0 : _request.customUrl.method
|
|
42784
43035
|
}, ((_b = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.customUrl) || {});
|
|
42785
|
-
const _headers =
|
|
42786
|
-
const _queryParam =
|
|
43036
|
+
const _headers = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.headers) || _request.headers || {};
|
|
43037
|
+
const _queryParam = ((_d = _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.params) || _request.params || {};
|
|
42787
43038
|
const _sortingBy = ___default.merge({
|
|
42788
43039
|
sortBy: 'dc:modified',
|
|
42789
43040
|
sortOrder: 'desc'
|
|
@@ -42920,6 +43171,7 @@ class NdfReportsComponent extends DestroySubject {
|
|
|
42920
43171
|
this.jsonEditorEnabled = false;
|
|
42921
43172
|
this.editorType = NDF_EDITOR_TYPE.REPORTS;
|
|
42922
43173
|
this.navigateRoute = [];
|
|
43174
|
+
this._isConfigChanged = false;
|
|
42923
43175
|
this.onQueryChange = new EventEmitter();
|
|
42924
43176
|
this.trackByFn = (_, report) => {
|
|
42925
43177
|
return report.id;
|
|
@@ -42942,7 +43194,9 @@ class NdfReportsComponent extends DestroySubject {
|
|
|
42942
43194
|
var _a;
|
|
42943
43195
|
return (_a = this.config) === null || _a === void 0 ? void 0 : _a.reports;
|
|
42944
43196
|
}
|
|
42945
|
-
set config(
|
|
43197
|
+
set config(config) {
|
|
43198
|
+
const value = ___default.cloneDeep(config);
|
|
43199
|
+
this._checkConfigChange(value);
|
|
42946
43200
|
this._configSubject.next(value);
|
|
42947
43201
|
if (value === null || value === void 0 ? void 0 : value.activeQuery) {
|
|
42948
43202
|
this._updateActiveQuery(value === null || value === void 0 ? void 0 : value.activeQuery);
|
|
@@ -43052,6 +43306,7 @@ class NdfReportsComponent extends DestroySubject {
|
|
|
43052
43306
|
}));
|
|
43053
43307
|
return forkJoin([of(config), data$]);
|
|
43054
43308
|
}), map(([config, response]) => {
|
|
43309
|
+
this._prepareAggregations(response === null || response === void 0 ? void 0 : response.aggregations);
|
|
43055
43310
|
return {
|
|
43056
43311
|
config,
|
|
43057
43312
|
response
|
|
@@ -43081,9 +43336,25 @@ class NdfReportsComponent extends DestroySubject {
|
|
|
43081
43336
|
emitEvent: false
|
|
43082
43337
|
});
|
|
43083
43338
|
}
|
|
43339
|
+
_prepareAggregations(aggregations) {
|
|
43340
|
+
var _a;
|
|
43341
|
+
if (this._isConfigChanged && this.aggregations) {
|
|
43342
|
+
this.aggregations = null;
|
|
43343
|
+
}
|
|
43344
|
+
if (this.aggregations && ((_a = this.config.filters) === null || _a === void 0 ? void 0 : _a.reloadStrategy) === 'never') {
|
|
43345
|
+
return;
|
|
43346
|
+
}
|
|
43347
|
+
this.aggregations = aggregations;
|
|
43348
|
+
this._isConfigChanged = false;
|
|
43349
|
+
}
|
|
43350
|
+
_checkConfigChange(value) {
|
|
43351
|
+
const { activeQuery } = value, config = __rest(value, ["activeQuery"]);
|
|
43352
|
+
const _a = this._configSubject.getValue() || {}, { activeQuery: aq } = _a, currentConfig = __rest(_a, ["activeQuery"]);
|
|
43353
|
+
this._isConfigChanged = !___default.isEqual(currentConfig, config);
|
|
43354
|
+
}
|
|
43084
43355
|
}
|
|
43085
43356
|
NdfReportsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, deps: [{ token: i1.TranslateService }, { token: FiltersMapperService }, { token: NdfReportsService }, { token: ChartManagerService }, { token: ReportTransformService }, { token: i0.ChangeDetectorRef }, { token: FilterQueryService }, { token: ReportsStateService }, { token: i1$5.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
43086
|
-
NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"reports?.response?.aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[class.col-small]=\"config?.layout?.width === 'small'\"\r\n\t\t\t\t[class.col-medium]=\"config?.layout?.width === 'medium'\"\r\n\t\t\t\t[class.col-half]=\"config?.layout?.width === 'half'\"\r\n\t\t\t\t[class.col-wide]=\"config?.layout?.width === 'wide'\"\r\n\t\t\t\t[class.col-extra-wide]=\"config?.layout?.width === 'extra'\"\r\n\t\t\t\t[class.col-full]=\"config?.layout?.width === 'full'\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }}\"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 6;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}@media screen{.reports-grid__item{grid-column:var(--col-span, span var(--grid-column, 2));grid-row:span var(--row-span, 1);grid-template-rows:subgrid}}.reports-grid__item.col-small{--col-span: var(--col-small-span, span 1)}.reports-grid__item.col-medium{--col-span: var(--col-medium-span, span 2)}.reports-grid__item.col-half{--col-span: var(--col-half-span, span 3)}.reports-grid__item.col-wide{--col-span: var(--col-wide-span, span 4)}.reports-grid__item.col-extra-wide{--col-span: var(--col-extra-wide-span, span 5)}.reports-grid__item.col-full{--col-span: 1 / -1}@media screen and (max-width: 1200px){.reports-grid{--col-span: span 1;--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-extra-wide-span: 1 / -1;--col-wide-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 2}}@media screen and (max-width: 776px){.reports-grid{--col-half-span: var(--col-span);--col-medium-span: var(--col-span);--col-small-span: var(--col-span);--col-span: 1 / -1;--reports-grid-gap: 1rem;--grid-columns: 1}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
|
|
43357
|
+
NdfReportsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tclass=\"ndf-reports__container\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content p-4 pt-0\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\t[style.--col-start]=\"config.layout?.startColumn || 'auto'\"\r\n\r\n [class.wide]=\"config.layout?.width >= 6\"\r\n [attr.data-width]=\"config.layout?.width || 4\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 0);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 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-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}@media screen{.reports-grid__item{grid-row-start:var(--row-start, initial);grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--start-row, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 11mm;--rg-columns: repeat(2, 1fr)}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i3$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe }, animations: [slideAnimation] });
|
|
43087
43358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsComponent, decorators: [{
|
|
43088
43359
|
type: Component,
|
|
43089
43360
|
args: [{
|
|
@@ -45250,5 +45521,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
45250
45521
|
* Generated bundle index. Do not edit.
|
|
45251
45522
|
*/
|
|
45252
45523
|
|
|
45253
|
-
export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MoveComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportTransformService, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getChartsOptions, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
|
|
45524
|
+
export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationFieldModule, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseNodeClass, BaseSelector, BaseService, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ClipboardComponent, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateDirectoryComponent, CreateEntityComponent, CreateEntityModule, CreateModalComponent, CreationTypeComponent, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomPpViewerComponent, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileGridInfiniteScrollDirective, FileManagerAbstract, FileManagerAdapter, FileManagerPaginationConfig, FileManagerService, FileMangerModule, FileSizePipe, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FolderModalComponent, FolderishType, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, ListViewerComponent, LoanRequestComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, 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, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateTextInputComponent, PublishDialogComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, RenameComponent, ReportConfigMapperService, ReportTransformService, ReportsDataTransformers, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, ScanModalComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, ShareDialogComponent, SharedDocsService, SharedServicesModule, SidepanelComponent, SilentPdfTronService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableModule, TableSkeletonComponent, TagsApiService, TemplateModalComponent, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipPipe, TransferDocComponent, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UpdateModalComponent, UploadFileService, UploadManagmentService, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, departmentCacheBuster$, extensionJsonsFactory, filterEnabled, getChartsOptions, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
|
|
45254
45525
|
//# sourceMappingURL=nuxeo-development-framework.js.map
|