nuxeo-development-framework 5.4.6 → 5.4.7
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 +633 -346
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-config-editor/services/dummy-data.js +2 -2
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +62 -16
- package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
- package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +41 -0
- package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +3 -2
- package/esm2015/lib/components/reports/ndf-reports/base/index.js +5 -0
- package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +49 -0
- package/esm2015/lib/components/reports/ndf-reports/components/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +2 -0
- package/esm2015/lib/components/reports/ndf-reports/models/index.js +3 -2
- package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +4 -3
- package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +132 -0
- package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +8 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +7 -6
- package/esm2015/lib/shared/evaluator/evaluator.js +3 -2
- package/esm2015/lib/shared/evaluator/types.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +591 -324
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.d.ts +10 -3
- package/lib/components/ndf-filters/models/base-field-config.d.ts +2 -2
- package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +1 -1
- package/lib/components/reports/ndf-reports/base/base-custom-report.d.ts +38 -0
- package/lib/components/reports/ndf-reports/base/index.d.ts +4 -0
- package/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.d.ts +1 -0
- package/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.d.ts +14 -0
- package/lib/components/reports/ndf-reports/components/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/constants/charts-types.d.ts +1 -0
- package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +1 -0
- package/lib/components/reports/ndf-reports/models/custom-definition.d.ts +11 -0
- package/lib/components/reports/ndf-reports/models/dialog-data.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +1 -1
- package/lib/components/reports/ndf-reports/models/index.d.ts +2 -1
- package/lib/components/reports/ndf-reports/models/report-config.d.ts +3 -2
- package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +21 -20
- package/lib/components/reports/ndf-reports/services/custom-reports-registry.service.d.ts +83 -0
- package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
- package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +6 -1
- package/lib/shared/evaluator/types.d.ts +1 -1
- package/package.json +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/graph.js +0 -2
- /package/lib/components/reports/ndf-reports/models/{graph.d.ts → graph-definition.d.ts} +0 -0
|
@@ -1853,11 +1853,12 @@ class NdfNuxeoDialog extends BaseComponent {
|
|
|
1853
1853
|
}
|
|
1854
1854
|
}
|
|
1855
1855
|
isArrowFunction(fn) {
|
|
1856
|
-
const strFn = fn.toString();
|
|
1857
|
-
const firstIndex = strFn.indexOf(')');
|
|
1858
|
-
const lastIndex = strFn.indexOf('{') + 1;
|
|
1859
|
-
const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
1860
|
-
return lastIndex == 0 || target.includes('=>');
|
|
1856
|
+
// const strFn = fn.toString();
|
|
1857
|
+
// const firstIndex = strFn.indexOf(')');
|
|
1858
|
+
// const lastIndex = strFn.indexOf('{') + 1;
|
|
1859
|
+
// const target = strFn.substring(firstIndex, lastIndex).replace(' ', '');
|
|
1860
|
+
// return lastIndex == 0 || target.includes('=>');
|
|
1861
|
+
return true;
|
|
1861
1862
|
}
|
|
1862
1863
|
onClose() {
|
|
1863
1864
|
this.dialogRef.close();
|
|
@@ -18132,296 +18133,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18132
18133
|
type: Input
|
|
18133
18134
|
}] } });
|
|
18134
18135
|
|
|
18135
|
-
class BaseField extends BaseCustomValueAccessor {
|
|
18136
|
-
constructor() {
|
|
18137
|
-
super(...arguments);
|
|
18138
|
-
this.dynamicComponent = this.injector.get(DynamicComponentLoaderService);
|
|
18139
|
-
}
|
|
18140
|
-
writeValue(obj) {
|
|
18141
|
-
var _a, _b, _c, _d;
|
|
18142
|
-
this.internalValue = obj;
|
|
18143
|
-
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.writeValue) {
|
|
18144
|
-
(_d = (_c = this._componentRef) === null || _c === void 0 ? void 0 : _c.instance) === null || _d === void 0 ? void 0 : _d.writeValue(obj);
|
|
18145
|
-
}
|
|
18146
|
-
}
|
|
18147
|
-
validate(control) {
|
|
18148
|
-
var _a, _b;
|
|
18149
|
-
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.validate) {
|
|
18150
|
-
return this._componentRef.instance.validate(control);
|
|
18151
|
-
}
|
|
18152
|
-
else {
|
|
18153
|
-
return null;
|
|
18154
|
-
}
|
|
18155
|
-
}
|
|
18156
|
-
registerOnValidatorChange(fn) {
|
|
18157
|
-
var _a, _b;
|
|
18158
|
-
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.registerOnValidatorChange) {
|
|
18159
|
-
this._componentRef.instance.registerOnValidatorChange(fn);
|
|
18160
|
-
}
|
|
18161
|
-
}
|
|
18162
|
-
ngOnChanges(changes) {
|
|
18163
|
-
if (!this._componentRef) {
|
|
18164
|
-
return;
|
|
18165
|
-
}
|
|
18166
|
-
Object.keys(changes).forEach((key) => {
|
|
18167
|
-
this._componentRef.instance[key] = changes[key].currentValue;
|
|
18168
|
-
});
|
|
18169
|
-
this._componentRef.changeDetectorRef.markForCheck();
|
|
18170
|
-
}
|
|
18171
|
-
ngOnDestroy() {
|
|
18172
|
-
if (this._componentRef) {
|
|
18173
|
-
this._componentRef.destroy();
|
|
18174
|
-
}
|
|
18175
|
-
}
|
|
18176
|
-
_prepareValueAccessor() {
|
|
18177
|
-
const ngControl = this.injector.get(NgControl);
|
|
18178
|
-
ngControl.valueAccessor = this._componentRef.instance;
|
|
18179
|
-
}
|
|
18180
|
-
}
|
|
18181
|
-
BaseField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
18182
|
-
BaseField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseField, inputs: { fieldConfig: "fieldConfig" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["dynamicContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
18183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, decorators: [{
|
|
18184
|
-
type: Directive
|
|
18185
|
-
}], propDecorators: { container: [{
|
|
18186
|
-
type: ViewChild,
|
|
18187
|
-
args: ['dynamicContainer', { read: ViewContainerRef, static: true }]
|
|
18188
|
-
}], fieldConfig: [{
|
|
18189
|
-
type: Input
|
|
18190
|
-
}] } });
|
|
18191
|
-
|
|
18192
|
-
class PredicateFieldComponent extends BaseField {
|
|
18193
|
-
constructor() {
|
|
18194
|
-
super(...arguments);
|
|
18195
|
-
this.handlers = {
|
|
18196
|
-
input: this._prepareField.bind(this),
|
|
18197
|
-
date: this._prepareField.bind(this)
|
|
18198
|
-
};
|
|
18199
|
-
}
|
|
18200
|
-
ngOnInit() {
|
|
18201
|
-
var _a, _b;
|
|
18202
|
-
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18203
|
-
if (componentType) {
|
|
18204
|
-
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18205
|
-
this._prepareValueAccessor();
|
|
18206
|
-
this._prepareComponent(componentType);
|
|
18207
|
-
}
|
|
18208
|
-
}
|
|
18209
|
-
_prepareComponent(type) {
|
|
18210
|
-
var _a, _b;
|
|
18211
|
-
(_b = (_a = this.handlers)[type]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
18212
|
-
}
|
|
18213
|
-
_prepareField() {
|
|
18214
|
-
const instance = this._componentRef.instance;
|
|
18215
|
-
instance.field = this.fieldConfig;
|
|
18216
|
-
}
|
|
18217
|
-
}
|
|
18218
|
-
PredicateFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18219
|
-
PredicateFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PredicateFieldComponent, selector: "app-predicate-field", host: { properties: { "class": "'predicate-field' + ' predicate-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18220
|
-
{
|
|
18221
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18222
|
-
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18223
|
-
multi: true
|
|
18224
|
-
},
|
|
18225
|
-
{
|
|
18226
|
-
provide: NG_VALIDATORS,
|
|
18227
|
-
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18228
|
-
multi: true
|
|
18229
|
-
}
|
|
18230
|
-
], usesInheritance: true, ngImport: i0, template: "<field-header *ngIf=\"fieldConfig.label && !fieldConfig.render?.options?.hideLabel\" class=\"predicate-field__label\">{{\r\n\tfieldConfig.label | translate\r\n}}</field-header>\r\n\r\n<ng-container #dynamicContainer></ng-container>\r\n", styles: [".predicate-field{display:var(--pf-display, block);padding-inline:var(--pf-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--pf-padding-block, var(--ff-padding-block, 0));max-width:100%}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
18231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateFieldComponent, decorators: [{
|
|
18232
|
-
type: Component,
|
|
18233
|
-
args: [{
|
|
18234
|
-
selector: 'app-predicate-field',
|
|
18235
|
-
templateUrl: './predicate-field.component.html',
|
|
18236
|
-
styleUrls: ['./predicate-field.component.scss'],
|
|
18237
|
-
encapsulation: ViewEncapsulation.None,
|
|
18238
|
-
providers: [
|
|
18239
|
-
{
|
|
18240
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18241
|
-
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18242
|
-
multi: true
|
|
18243
|
-
},
|
|
18244
|
-
{
|
|
18245
|
-
provide: NG_VALIDATORS,
|
|
18246
|
-
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18247
|
-
multi: true
|
|
18248
|
-
}
|
|
18249
|
-
],
|
|
18250
|
-
host: {
|
|
18251
|
-
'[class]': "'predicate-field' + ' predicate-field__fieldConfig?.render?.type' "
|
|
18252
|
-
}
|
|
18253
|
-
}]
|
|
18254
|
-
}] });
|
|
18255
|
-
|
|
18256
|
-
class AggregationFieldComponent extends BaseField {
|
|
18257
|
-
constructor() {
|
|
18258
|
-
super(...arguments);
|
|
18259
|
-
this.handlers = {
|
|
18260
|
-
[AGGREGATION_FIELD_TYPES.dropdown]: this._prepareField.bind(this),
|
|
18261
|
-
[AGGREGATION_FIELD_TYPES.checkbox]: this._prepareField.bind(this),
|
|
18262
|
-
[AGGREGATION_FIELD_TYPES.radio]: this._prepareField.bind(this),
|
|
18263
|
-
[AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
|
|
18264
|
-
[AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
|
|
18265
|
-
[AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
|
|
18266
|
-
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this),
|
|
18267
|
-
};
|
|
18268
|
-
}
|
|
18269
|
-
ngOnInit() {
|
|
18270
|
-
var _a, _b, _c, _d;
|
|
18271
|
-
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18272
|
-
if (componentType) {
|
|
18273
|
-
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18274
|
-
this._prepareValueAccessor();
|
|
18275
|
-
(_d = (_c = this.handlers)[componentType]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
18276
|
-
}
|
|
18277
|
-
}
|
|
18278
|
-
_prepareField() {
|
|
18279
|
-
const instance = this._componentRef
|
|
18280
|
-
.instance;
|
|
18281
|
-
instance.aggregation = this.aggregation;
|
|
18282
|
-
instance.fieldConfig = this.fieldConfig;
|
|
18283
|
-
if (this.contentTemplate) {
|
|
18284
|
-
instance.contentTemplate = this.contentTemplate;
|
|
18285
|
-
}
|
|
18286
|
-
}
|
|
18287
|
-
}
|
|
18288
|
-
AggregationFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18289
|
-
AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: { aggregation: "aggregation", contentTemplate: "contentTemplate" }, host: { properties: { "class": "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18290
|
-
{
|
|
18291
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18292
|
-
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18293
|
-
multi: true,
|
|
18294
|
-
},
|
|
18295
|
-
{
|
|
18296
|
-
provide: NG_VALIDATORS,
|
|
18297
|
-
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18298
|
-
multi: true,
|
|
18299
|
-
},
|
|
18300
|
-
], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
18301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
|
|
18302
|
-
type: Component,
|
|
18303
|
-
args: [{
|
|
18304
|
-
selector: 'app-aggregation-field',
|
|
18305
|
-
template: '<ng-container #dynamicContainer></ng-container>',
|
|
18306
|
-
styles: [''],
|
|
18307
|
-
encapsulation: ViewEncapsulation.None,
|
|
18308
|
-
providers: [
|
|
18309
|
-
{
|
|
18310
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18311
|
-
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18312
|
-
multi: true,
|
|
18313
|
-
},
|
|
18314
|
-
{
|
|
18315
|
-
provide: NG_VALIDATORS,
|
|
18316
|
-
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18317
|
-
multi: true,
|
|
18318
|
-
},
|
|
18319
|
-
],
|
|
18320
|
-
host: {
|
|
18321
|
-
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' ",
|
|
18322
|
-
},
|
|
18323
|
-
}]
|
|
18324
|
-
}], propDecorators: { aggregation: [{
|
|
18325
|
-
type: Input
|
|
18326
|
-
}], contentTemplate: [{
|
|
18327
|
-
type: Input
|
|
18328
|
-
}] } });
|
|
18329
|
-
|
|
18330
|
-
class CustomFieldComponent extends BaseField {
|
|
18331
|
-
constructor() {
|
|
18332
|
-
super(...arguments);
|
|
18333
|
-
this.handlers = {
|
|
18334
|
-
activeUser: this._prepareField.bind(this),
|
|
18335
|
-
aggregationGroup: this._prepareField.bind(this)
|
|
18336
|
-
};
|
|
18337
|
-
}
|
|
18338
|
-
ngOnInit() {
|
|
18339
|
-
var _a, _b;
|
|
18340
|
-
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18341
|
-
if (componentType) {
|
|
18342
|
-
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18343
|
-
this._prepareValueAccessor();
|
|
18344
|
-
this._prepareComponent(componentType);
|
|
18345
|
-
}
|
|
18346
|
-
}
|
|
18347
|
-
_prepareComponent(type) {
|
|
18348
|
-
var _a, _b;
|
|
18349
|
-
(_b = (_a = this.handlers)[type]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
18350
|
-
}
|
|
18351
|
-
_prepareField() {
|
|
18352
|
-
const instance = this._componentRef.instance;
|
|
18353
|
-
instance.field = this.fieldConfig;
|
|
18354
|
-
instance.aggregations = this.aggregations;
|
|
18355
|
-
}
|
|
18356
|
-
}
|
|
18357
|
-
CustomFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18358
|
-
CustomFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomFieldComponent, selector: "app-custom-field", inputs: { aggregations: "aggregations" }, host: { properties: { "class": "'custom-field' + ' custom-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18359
|
-
{
|
|
18360
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18361
|
-
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18362
|
-
multi: true
|
|
18363
|
-
},
|
|
18364
|
-
{
|
|
18365
|
-
provide: NG_VALIDATORS,
|
|
18366
|
-
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18367
|
-
multi: true
|
|
18368
|
-
}
|
|
18369
|
-
], usesInheritance: true, ngImport: i0, template: "<field-header *ngIf=\"fieldConfig.label && !fieldConfig.render?.options?.hideLabel\" class=\"predicate-field__label\">{{\r\n\tfieldConfig.label | translate\r\n}}</field-header>\r\n\r\n<ng-container #dynamicContainer></ng-container>\r\n", styles: [".custom-field{display:var(--cf-display, block);padding-inline:var(--cf-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--cf-padding-block, var(--ff-padding-block, 0));max-width:100%}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
18370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomFieldComponent, decorators: [{
|
|
18371
|
-
type: Component,
|
|
18372
|
-
args: [{
|
|
18373
|
-
selector: 'app-custom-field',
|
|
18374
|
-
templateUrl: './custom-field.component.html',
|
|
18375
|
-
styleUrls: ['./custom-field.component.scss'],
|
|
18376
|
-
encapsulation: ViewEncapsulation.None,
|
|
18377
|
-
providers: [
|
|
18378
|
-
{
|
|
18379
|
-
provide: NG_VALUE_ACCESSOR,
|
|
18380
|
-
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18381
|
-
multi: true
|
|
18382
|
-
},
|
|
18383
|
-
{
|
|
18384
|
-
provide: NG_VALIDATORS,
|
|
18385
|
-
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18386
|
-
multi: true
|
|
18387
|
-
}
|
|
18388
|
-
],
|
|
18389
|
-
host: {
|
|
18390
|
-
'[class]': "'custom-field' + ' custom-field__fieldConfig?.render?.type' "
|
|
18391
|
-
}
|
|
18392
|
-
}]
|
|
18393
|
-
}], propDecorators: { aggregations: [{
|
|
18394
|
-
type: Input
|
|
18395
|
-
}] } });
|
|
18396
|
-
|
|
18397
|
-
class FiltersByRolesPipe {
|
|
18398
|
-
constructor(_nuxeoService, _rolesService) {
|
|
18399
|
-
this._nuxeoService = _nuxeoService;
|
|
18400
|
-
this._rolesService = _rolesService;
|
|
18401
|
-
}
|
|
18402
|
-
transform(items) {
|
|
18403
|
-
if (!items) {
|
|
18404
|
-
return items;
|
|
18405
|
-
}
|
|
18406
|
-
return items.filter((item) => {
|
|
18407
|
-
var _a, _b, _c, _d, _e;
|
|
18408
|
-
if (!Array.isArray((_a = item.config) === null || _a === void 0 ? void 0 : _a.roles) || ((_b = item.config) === null || _b === void 0 ? void 0 : _b.roles.length) === 0) {
|
|
18409
|
-
return true;
|
|
18410
|
-
}
|
|
18411
|
-
const user = (_d = (_c = this._nuxeoService) === null || _c === void 0 ? void 0 : _c.nuxeoClient) === null || _d === void 0 ? void 0 : _d.user;
|
|
18412
|
-
return this._rolesService.isUserInRole(user, (_e = item.config) === null || _e === void 0 ? void 0 : _e.roles);
|
|
18413
|
-
});
|
|
18414
|
-
}
|
|
18415
|
-
}
|
|
18416
|
-
FiltersByRolesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, deps: [{ token: NuxeoService }, { token: RolesService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18417
|
-
FiltersByRolesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, name: "filterByRoles" });
|
|
18418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, decorators: [{
|
|
18419
|
-
type: Pipe,
|
|
18420
|
-
args: [{
|
|
18421
|
-
name: 'filterByRoles'
|
|
18422
|
-
}]
|
|
18423
|
-
}], ctorParameters: function () { return [{ type: NuxeoService }, { type: RolesService }]; } });
|
|
18424
|
-
|
|
18425
18136
|
/**
|
|
18426
18137
|
* Creates a secure context for function evaluation that prevents access to the window object.
|
|
18427
18138
|
* @returns {Record<string, any>} A secure context object with safe properties.
|
|
@@ -18447,7 +18158,8 @@ function createSecureContext() {
|
|
|
18447
18158
|
// Prevent access to window
|
|
18448
18159
|
window: undefined,
|
|
18449
18160
|
self: undefined,
|
|
18450
|
-
globalThis: undefined
|
|
18161
|
+
globalThis: undefined,
|
|
18162
|
+
_: ___default // Include lodash if needed, but ensure it's used safely
|
|
18451
18163
|
};
|
|
18452
18164
|
}
|
|
18453
18165
|
/**
|
|
@@ -18737,37 +18449,301 @@ Evaluator.templateSettings = {
|
|
|
18737
18449
|
escape: /\{\{\{([\s\S]+?)\}\}\}/g
|
|
18738
18450
|
};
|
|
18739
18451
|
|
|
18740
|
-
class
|
|
18741
|
-
constructor(
|
|
18742
|
-
|
|
18743
|
-
this.
|
|
18452
|
+
class BaseField extends BaseCustomValueAccessor {
|
|
18453
|
+
constructor() {
|
|
18454
|
+
super(...arguments);
|
|
18455
|
+
this.dynamicComponent = this.injector.get(DynamicComponentLoaderService);
|
|
18744
18456
|
}
|
|
18745
|
-
|
|
18746
|
-
|
|
18747
|
-
|
|
18457
|
+
writeValue(obj) {
|
|
18458
|
+
var _a, _b, _c, _d;
|
|
18459
|
+
this.internalValue = obj;
|
|
18460
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.writeValue) {
|
|
18461
|
+
(_d = (_c = this._componentRef) === null || _c === void 0 ? void 0 : _c.instance) === null || _d === void 0 ? void 0 : _d.writeValue(obj);
|
|
18748
18462
|
}
|
|
18749
|
-
|
|
18750
|
-
|
|
18463
|
+
}
|
|
18464
|
+
validate(control) {
|
|
18465
|
+
var _a, _b;
|
|
18466
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.validate) {
|
|
18467
|
+
return this._componentRef.instance.validate(control);
|
|
18751
18468
|
}
|
|
18752
|
-
|
|
18753
|
-
|
|
18754
|
-
|
|
18469
|
+
else {
|
|
18470
|
+
return null;
|
|
18471
|
+
}
|
|
18472
|
+
}
|
|
18473
|
+
registerOnValidatorChange(fn) {
|
|
18474
|
+
var _a, _b;
|
|
18475
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.registerOnValidatorChange) {
|
|
18476
|
+
this._componentRef.instance.registerOnValidatorChange(fn);
|
|
18755
18477
|
}
|
|
18756
18478
|
}
|
|
18479
|
+
ngOnChanges(changes) {
|
|
18480
|
+
if (!this._componentRef) {
|
|
18481
|
+
return;
|
|
18482
|
+
}
|
|
18483
|
+
Object.keys(changes).forEach((key) => {
|
|
18484
|
+
this._componentRef.instance[key] = changes[key].currentValue;
|
|
18485
|
+
});
|
|
18486
|
+
this._componentRef.changeDetectorRef.markForCheck();
|
|
18487
|
+
}
|
|
18488
|
+
ngOnDestroy() {
|
|
18489
|
+
if (this._componentRef) {
|
|
18490
|
+
this._componentRef.destroy();
|
|
18491
|
+
}
|
|
18492
|
+
}
|
|
18493
|
+
_prepareValueAccessor() {
|
|
18494
|
+
const ngControl = this.injector.get(NgControl);
|
|
18495
|
+
ngControl.valueAccessor = this._componentRef.instance;
|
|
18496
|
+
}
|
|
18757
18497
|
}
|
|
18758
|
-
|
|
18759
|
-
|
|
18760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type:
|
|
18498
|
+
BaseField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
18499
|
+
BaseField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseField, inputs: { fieldConfig: "fieldConfig" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["dynamicContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
18500
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, decorators: [{
|
|
18501
|
+
type: Directive
|
|
18502
|
+
}], propDecorators: { container: [{
|
|
18503
|
+
type: ViewChild,
|
|
18504
|
+
args: ['dynamicContainer', { read: ViewContainerRef, static: true }]
|
|
18505
|
+
}], fieldConfig: [{
|
|
18506
|
+
type: Input
|
|
18507
|
+
}] } });
|
|
18508
|
+
|
|
18509
|
+
class PredicateFieldComponent extends BaseField {
|
|
18510
|
+
constructor() {
|
|
18511
|
+
super(...arguments);
|
|
18512
|
+
this.handlers = {
|
|
18513
|
+
input: this._prepareField.bind(this),
|
|
18514
|
+
date: this._prepareField.bind(this)
|
|
18515
|
+
};
|
|
18516
|
+
}
|
|
18517
|
+
ngOnInit() {
|
|
18518
|
+
var _a, _b;
|
|
18519
|
+
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18520
|
+
if (componentType) {
|
|
18521
|
+
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18522
|
+
this._prepareValueAccessor();
|
|
18523
|
+
this._prepareComponent(componentType);
|
|
18524
|
+
}
|
|
18525
|
+
}
|
|
18526
|
+
_prepareComponent(type) {
|
|
18527
|
+
var _a, _b;
|
|
18528
|
+
(_b = (_a = this.handlers)[type]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
18529
|
+
}
|
|
18530
|
+
_prepareField() {
|
|
18531
|
+
const instance = this._componentRef.instance;
|
|
18532
|
+
instance.field = this.fieldConfig;
|
|
18533
|
+
}
|
|
18534
|
+
}
|
|
18535
|
+
PredicateFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18536
|
+
PredicateFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PredicateFieldComponent, selector: "app-predicate-field", host: { properties: { "class": "'predicate-field' + ' predicate-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18537
|
+
{
|
|
18538
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18539
|
+
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18540
|
+
multi: true
|
|
18541
|
+
},
|
|
18542
|
+
{
|
|
18543
|
+
provide: NG_VALIDATORS,
|
|
18544
|
+
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18545
|
+
multi: true
|
|
18546
|
+
}
|
|
18547
|
+
], usesInheritance: true, ngImport: i0, template: "<field-header *ngIf=\"fieldConfig.label && !fieldConfig.render?.options?.hideLabel\" class=\"predicate-field__label\">{{\r\n\tfieldConfig.label | translate\r\n}}</field-header>\r\n\r\n<ng-container #dynamicContainer></ng-container>\r\n", styles: [".predicate-field{display:var(--pf-display, block);padding-inline:var(--pf-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--pf-padding-block, var(--ff-padding-block, 0));max-width:100%}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
18548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateFieldComponent, decorators: [{
|
|
18549
|
+
type: Component,
|
|
18550
|
+
args: [{
|
|
18551
|
+
selector: 'app-predicate-field',
|
|
18552
|
+
templateUrl: './predicate-field.component.html',
|
|
18553
|
+
styleUrls: ['./predicate-field.component.scss'],
|
|
18554
|
+
encapsulation: ViewEncapsulation.None,
|
|
18555
|
+
providers: [
|
|
18556
|
+
{
|
|
18557
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18558
|
+
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18559
|
+
multi: true
|
|
18560
|
+
},
|
|
18561
|
+
{
|
|
18562
|
+
provide: NG_VALIDATORS,
|
|
18563
|
+
useExisting: forwardRef(() => PredicateFieldComponent),
|
|
18564
|
+
multi: true
|
|
18565
|
+
}
|
|
18566
|
+
],
|
|
18567
|
+
host: {
|
|
18568
|
+
'[class]': "'predicate-field' + ' predicate-field__fieldConfig?.render?.type' "
|
|
18569
|
+
}
|
|
18570
|
+
}]
|
|
18571
|
+
}] });
|
|
18572
|
+
|
|
18573
|
+
class AggregationFieldComponent extends BaseField {
|
|
18574
|
+
constructor() {
|
|
18575
|
+
super(...arguments);
|
|
18576
|
+
this.handlers = {
|
|
18577
|
+
[AGGREGATION_FIELD_TYPES.dropdown]: this._prepareField.bind(this),
|
|
18578
|
+
[AGGREGATION_FIELD_TYPES.checkbox]: this._prepareField.bind(this),
|
|
18579
|
+
[AGGREGATION_FIELD_TYPES.radio]: this._prepareField.bind(this),
|
|
18580
|
+
[AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
|
|
18581
|
+
[AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
|
|
18582
|
+
[AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
|
|
18583
|
+
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this),
|
|
18584
|
+
};
|
|
18585
|
+
}
|
|
18586
|
+
ngOnInit() {
|
|
18587
|
+
var _a, _b, _c, _d;
|
|
18588
|
+
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18589
|
+
if (componentType) {
|
|
18590
|
+
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18591
|
+
this._prepareValueAccessor();
|
|
18592
|
+
(_d = (_c = this.handlers)[componentType]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
18593
|
+
}
|
|
18594
|
+
}
|
|
18595
|
+
_prepareField() {
|
|
18596
|
+
const instance = this._componentRef
|
|
18597
|
+
.instance;
|
|
18598
|
+
instance.aggregation = this.aggregation;
|
|
18599
|
+
instance.fieldConfig = this.fieldConfig;
|
|
18600
|
+
if (this.contentTemplate) {
|
|
18601
|
+
instance.contentTemplate = this.contentTemplate;
|
|
18602
|
+
}
|
|
18603
|
+
}
|
|
18604
|
+
}
|
|
18605
|
+
AggregationFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18606
|
+
AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: { aggregation: "aggregation", contentTemplate: "contentTemplate" }, host: { properties: { "class": "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18607
|
+
{
|
|
18608
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18609
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18610
|
+
multi: true,
|
|
18611
|
+
},
|
|
18612
|
+
{
|
|
18613
|
+
provide: NG_VALIDATORS,
|
|
18614
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18615
|
+
multi: true,
|
|
18616
|
+
},
|
|
18617
|
+
], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
18618
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
|
|
18619
|
+
type: Component,
|
|
18620
|
+
args: [{
|
|
18621
|
+
selector: 'app-aggregation-field',
|
|
18622
|
+
template: '<ng-container #dynamicContainer></ng-container>',
|
|
18623
|
+
styles: [''],
|
|
18624
|
+
encapsulation: ViewEncapsulation.None,
|
|
18625
|
+
providers: [
|
|
18626
|
+
{
|
|
18627
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18628
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18629
|
+
multi: true,
|
|
18630
|
+
},
|
|
18631
|
+
{
|
|
18632
|
+
provide: NG_VALIDATORS,
|
|
18633
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
18634
|
+
multi: true,
|
|
18635
|
+
},
|
|
18636
|
+
],
|
|
18637
|
+
host: {
|
|
18638
|
+
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' ",
|
|
18639
|
+
},
|
|
18640
|
+
}]
|
|
18641
|
+
}], propDecorators: { aggregation: [{
|
|
18642
|
+
type: Input
|
|
18643
|
+
}], contentTemplate: [{
|
|
18644
|
+
type: Input
|
|
18645
|
+
}] } });
|
|
18646
|
+
|
|
18647
|
+
class CustomFieldComponent extends BaseField {
|
|
18648
|
+
constructor() {
|
|
18649
|
+
super(...arguments);
|
|
18650
|
+
this.handlers = {
|
|
18651
|
+
activeUser: this._prepareField.bind(this),
|
|
18652
|
+
aggregationGroup: this._prepareField.bind(this)
|
|
18653
|
+
};
|
|
18654
|
+
}
|
|
18655
|
+
ngOnInit() {
|
|
18656
|
+
var _a, _b;
|
|
18657
|
+
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
18658
|
+
if (componentType) {
|
|
18659
|
+
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
18660
|
+
this._prepareValueAccessor();
|
|
18661
|
+
this._prepareComponent(componentType);
|
|
18662
|
+
}
|
|
18663
|
+
}
|
|
18664
|
+
_prepareComponent(type) {
|
|
18665
|
+
var _a, _b;
|
|
18666
|
+
(_b = (_a = this.handlers)[type]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
18667
|
+
}
|
|
18668
|
+
_prepareField() {
|
|
18669
|
+
const instance = this._componentRef.instance;
|
|
18670
|
+
instance.field = this.fieldConfig;
|
|
18671
|
+
instance.aggregations = this.aggregations;
|
|
18672
|
+
}
|
|
18673
|
+
}
|
|
18674
|
+
CustomFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18675
|
+
CustomFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomFieldComponent, selector: "app-custom-field", inputs: { aggregations: "aggregations" }, host: { properties: { "class": "'custom-field' + ' custom-field__fieldConfig?.render?.type' " } }, providers: [
|
|
18676
|
+
{
|
|
18677
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18678
|
+
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18679
|
+
multi: true
|
|
18680
|
+
},
|
|
18681
|
+
{
|
|
18682
|
+
provide: NG_VALIDATORS,
|
|
18683
|
+
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18684
|
+
multi: true
|
|
18685
|
+
}
|
|
18686
|
+
], usesInheritance: true, ngImport: i0, template: "<field-header *ngIf=\"fieldConfig.label && !fieldConfig.render?.options?.hideLabel\" class=\"predicate-field__label\">{{\r\n\tfieldConfig.label | translate\r\n}}</field-header>\r\n\r\n<ng-container #dynamicContainer></ng-container>\r\n", styles: [".custom-field{display:var(--cf-display, block);padding-inline:var(--cf-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--cf-padding-block, var(--ff-padding-block, 0));max-width:100%}\n"], components: [{ type: FieldHeaderComponent, selector: "field-header" }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
18687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomFieldComponent, decorators: [{
|
|
18688
|
+
type: Component,
|
|
18689
|
+
args: [{
|
|
18690
|
+
selector: 'app-custom-field',
|
|
18691
|
+
templateUrl: './custom-field.component.html',
|
|
18692
|
+
styleUrls: ['./custom-field.component.scss'],
|
|
18693
|
+
encapsulation: ViewEncapsulation.None,
|
|
18694
|
+
providers: [
|
|
18695
|
+
{
|
|
18696
|
+
provide: NG_VALUE_ACCESSOR,
|
|
18697
|
+
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18698
|
+
multi: true
|
|
18699
|
+
},
|
|
18700
|
+
{
|
|
18701
|
+
provide: NG_VALIDATORS,
|
|
18702
|
+
useExisting: forwardRef(() => CustomFieldComponent),
|
|
18703
|
+
multi: true
|
|
18704
|
+
}
|
|
18705
|
+
],
|
|
18706
|
+
host: {
|
|
18707
|
+
'[class]': "'custom-field' + ' custom-field__fieldConfig?.render?.type' "
|
|
18708
|
+
}
|
|
18709
|
+
}]
|
|
18710
|
+
}], propDecorators: { aggregations: [{
|
|
18711
|
+
type: Input
|
|
18712
|
+
}] } });
|
|
18713
|
+
|
|
18714
|
+
class FiltersByRolesPipe {
|
|
18715
|
+
constructor(_nuxeoService, _rolesService) {
|
|
18716
|
+
this._nuxeoService = _nuxeoService;
|
|
18717
|
+
this._rolesService = _rolesService;
|
|
18718
|
+
}
|
|
18719
|
+
transform(items) {
|
|
18720
|
+
if (!items) {
|
|
18721
|
+
return items;
|
|
18722
|
+
}
|
|
18723
|
+
return items.filter((item) => {
|
|
18724
|
+
var _a, _b, _c, _d, _e;
|
|
18725
|
+
if (!Array.isArray((_a = item.config) === null || _a === void 0 ? void 0 : _a.roles) || ((_b = item.config) === null || _b === void 0 ? void 0 : _b.roles.length) === 0) {
|
|
18726
|
+
return true;
|
|
18727
|
+
}
|
|
18728
|
+
const user = (_d = (_c = this._nuxeoService) === null || _c === void 0 ? void 0 : _c.nuxeoClient) === null || _d === void 0 ? void 0 : _d.user;
|
|
18729
|
+
return this._rolesService.isUserInRole(user, (_e = item.config) === null || _e === void 0 ? void 0 : _e.roles);
|
|
18730
|
+
});
|
|
18731
|
+
}
|
|
18732
|
+
}
|
|
18733
|
+
FiltersByRolesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, deps: [{ token: NuxeoService }, { token: RolesService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18734
|
+
FiltersByRolesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, name: "filterByRoles" });
|
|
18735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, decorators: [{
|
|
18761
18736
|
type: Pipe,
|
|
18762
18737
|
args: [{
|
|
18763
|
-
name: '
|
|
18738
|
+
name: 'filterByRoles'
|
|
18764
18739
|
}]
|
|
18765
|
-
}], ctorParameters: function () { return [{ type: NuxeoService }]; } });
|
|
18740
|
+
}], ctorParameters: function () { return [{ type: NuxeoService }, { type: RolesService }]; } });
|
|
18766
18741
|
|
|
18767
18742
|
class FiltersPanelComponent extends BaseFiltersPanel {
|
|
18768
|
-
constructor(_translateService) {
|
|
18743
|
+
constructor(_translateService, nuxeoService) {
|
|
18769
18744
|
super();
|
|
18770
18745
|
this._translateService = _translateService;
|
|
18746
|
+
this.nuxeoService = nuxeoService;
|
|
18771
18747
|
this.currentLang = this._translateService.currentLang;
|
|
18772
18748
|
this.direction$ = this._translateService.onLangChange.pipe(startWith({ lang: this._translateService.currentLang }), map((lang) => {
|
|
18773
18749
|
this.currentLang = lang.lang;
|
|
@@ -18778,6 +18754,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18778
18754
|
this.filterChanged = new EventEmitter();
|
|
18779
18755
|
this.fieldTypes = FIELD_TYPE;
|
|
18780
18756
|
this.FieldRenderType = AGGREGATION_FIELD_TYPES;
|
|
18757
|
+
this.visibleFields = {};
|
|
18781
18758
|
this.formGroup = new FormGroup({});
|
|
18782
18759
|
}
|
|
18783
18760
|
set fields(vals) {
|
|
@@ -18791,6 +18768,9 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18791
18768
|
}
|
|
18792
18769
|
set activeQuery(obj) {
|
|
18793
18770
|
this._activeQuerySub.next(obj);
|
|
18771
|
+
if (obj) {
|
|
18772
|
+
this._evaluateConditions();
|
|
18773
|
+
}
|
|
18794
18774
|
}
|
|
18795
18775
|
trackByFieldKey(_, field) {
|
|
18796
18776
|
var _a;
|
|
@@ -18803,6 +18783,13 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18803
18783
|
ngOnInit() {
|
|
18804
18784
|
this._handleFormGroupChanges();
|
|
18805
18785
|
this._handelActiveQueryChange();
|
|
18786
|
+
this._evaluateConditions();
|
|
18787
|
+
}
|
|
18788
|
+
ngOnChanges(changes) {
|
|
18789
|
+
var _a, _b;
|
|
18790
|
+
if (!((_a = changes === null || changes === void 0 ? void 0 : changes.fields) === null || _a === void 0 ? void 0 : _a.firstChange) || !((_b = changes === null || changes === void 0 ? void 0 : changes.aggregations) === null || _b === void 0 ? void 0 : _b.firstChange)) {
|
|
18791
|
+
this._evaluateConditions();
|
|
18792
|
+
}
|
|
18806
18793
|
}
|
|
18807
18794
|
resetFilters() {
|
|
18808
18795
|
this.formGroup.reset({});
|
|
@@ -18812,6 +18799,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18812
18799
|
return items.sort(({ config: { order: o1 } }, { config: { order: o2 } }) => (o1 !== null && o1 !== void 0 ? o1 : _defaultOrder) - (o2 !== null && o2 !== void 0 ? o2 : _defaultOrder));
|
|
18813
18800
|
}
|
|
18814
18801
|
_initFormGroup() {
|
|
18802
|
+
this.visibleFields = {};
|
|
18815
18803
|
this._removeControls();
|
|
18816
18804
|
this._prepareFiltersForm();
|
|
18817
18805
|
}
|
|
@@ -18835,7 +18823,10 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18835
18823
|
}
|
|
18836
18824
|
_handleFormGroupChanges() {
|
|
18837
18825
|
this.formGroup.valueChanges
|
|
18838
|
-
.pipe(debounceTime(300), map((
|
|
18826
|
+
.pipe(debounceTime(300), map((formValue) => {
|
|
18827
|
+
const data = this._evaluateConditions(formValue);
|
|
18828
|
+
return removeEmptyKeys(data);
|
|
18829
|
+
}), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
|
|
18839
18830
|
.subscribe((res) => {
|
|
18840
18831
|
this.filterChanged.emit(res);
|
|
18841
18832
|
});
|
|
@@ -18852,9 +18843,38 @@ class FiltersPanelComponent extends BaseFiltersPanel {
|
|
|
18852
18843
|
this._patchActiveQuery(res);
|
|
18853
18844
|
});
|
|
18854
18845
|
}
|
|
18846
|
+
_evaluateConditions(values = this.formGroup.getRawValue()) {
|
|
18847
|
+
this.visibleFields = {};
|
|
18848
|
+
this.fields.forEach((field) => {
|
|
18849
|
+
var _a;
|
|
18850
|
+
const fieldKey = field.config.fieldKey;
|
|
18851
|
+
const condition = (_a = field.config) === null || _a === void 0 ? void 0 : _a.condition;
|
|
18852
|
+
try {
|
|
18853
|
+
const isVisible = !condition ||
|
|
18854
|
+
Evaluator.evaluate(condition, ___default.cloneDeep({
|
|
18855
|
+
aggregations: this.aggregations,
|
|
18856
|
+
language: this.currentLang,
|
|
18857
|
+
user: this.nuxeoService.nuxeoClient.user,
|
|
18858
|
+
values: this.formGroup.getRawValue()
|
|
18859
|
+
}));
|
|
18860
|
+
this.visibleFields[fieldKey] = isVisible;
|
|
18861
|
+
if (!isVisible) {
|
|
18862
|
+
const control = this.formGroup.get(fieldKey);
|
|
18863
|
+
if (!!(control === null || control === void 0 ? void 0 : control.value)) {
|
|
18864
|
+
control.reset();
|
|
18865
|
+
control.updateValueAndValidity({ emitEvent: false });
|
|
18866
|
+
}
|
|
18867
|
+
}
|
|
18868
|
+
}
|
|
18869
|
+
catch (e) {
|
|
18870
|
+
console.error(`Error evaluating condition for field ${field.config.fieldKey}:`, e);
|
|
18871
|
+
}
|
|
18872
|
+
});
|
|
18873
|
+
return this.formGroup.value;
|
|
18874
|
+
}
|
|
18855
18875
|
}
|
|
18856
|
-
FiltersPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersPanelComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18857
|
-
FiltersPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FiltersPanelComponent, selector: "app-filters-panel", inputs: { aggregations: "aggregations", fields: "fields", activeQuery: "activeQuery" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" class=\"filters-panel\" [dir]=\"direction$ | async\">\r\n\t<div class=\"reset-filter flex reset-container\">\r\n\t\t<button mat-stroked-button class=\"w-full\" (click)=\"resetFilters()\" [disabled]=\"!hasValues\">\r\n\t\t\t{{ 'BUTTONS.clearFilter' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n\t<ng-container *ngFor=\"let field of fields | filterByRoles; trackBy: trackByFieldKey\">\r\n\t\t<ng-container *permission=\"{ name: field.config?.permission }\">\r\n\t\t\t<ng-container *ngIf=\"field.config
|
|
18876
|
+
FiltersPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersPanelComponent, deps: [{ token: i1.TranslateService }, { token: NuxeoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18877
|
+
FiltersPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FiltersPanelComponent, selector: "app-filters-panel", inputs: { aggregations: "aggregations", fields: "fields", activeQuery: "activeQuery" }, outputs: { filterChanged: "filterChanged" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" class=\"filters-panel\" [dir]=\"direction$ | async\">\r\n\t<div class=\"reset-filter flex reset-container\">\r\n\t\t<button mat-stroked-button class=\"w-full\" (click)=\"resetFilters()\" [disabled]=\"!hasValues\">\r\n\t\t\t{{ 'BUTTONS.clearFilter' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n\t<ng-container *ngFor=\"let field of fields | filterByRoles; trackBy: trackByFieldKey\">\r\n\t\t<ng-container *permission=\"{ name: field.config?.permission }\">\r\n\t\t\t<ng-container *ngIf=\"visibleFields[field.config.fieldKey]\">\r\n\t\t\t\t<app-predicate-field\r\n\t\t\t\t\t*ngIf=\"field.type == fieldTypes.predicate\"\r\n\t\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t></app-predicate-field>\r\n\t\t\t\t<app-aggregation-field\r\n\t\t\t\t\t*ngIf=\"field.type == fieldTypes.aggregation && !!aggregations\"\r\n\t\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t\t[aggregation]=\"aggregations[field.config.aggregation]\"\r\n\t\t\t\t\t[contentTemplate]=\"getContentTemplate(field.config.render.type)\"\r\n\t\t\t\t></app-aggregation-field>\r\n\t\t\t\t<app-custom-field\r\n\t\t\t\t\t*ngIf=\"field.type == fieldTypes.custom\"\r\n\t\t\t\t\t[fieldConfig]=\"field.config\"\r\n\t\t\t\t\t[formControlName]=\"field.config.fieldKey\"\r\n\t\t\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t\t></app-custom-field>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</div>\r\n", styles: [".filters-panel{display:var(--filters-panel-display, flex);flex-direction:var(--filters-panel-direction, column);grid-gap:var(--filters-panel-gap, .5rem);gap:var(--filters-panel-gap, .5rem);flex-wrap:var(--filters-panel-wrap, wrap);max-width:100%;box-sizing:border-box}.aggregation-field{padding-inline:var(--af-padding-inline, var(--ff-padding-inline, .5rem));padding-block:var(--af-padding-block, var(--ff-padding-block, 0));max-width:100%}.reset-container{padding:.5rem;position:sticky;top:-8px;z-index:4;background:var(--reset-filter-panel-bg, #fff)}.reset-container button.mat-button-base{background-color:var(--reset-filter-panel-btn-bg, transparent);border-color:var(--reset-filter-panel-btn-bg, #e2e8f0);color:var(--reset-filter-panel-btn-color, currentColor)}\n"], components: [{ type: i1$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: PredicateFieldComponent, selector: "app-predicate-field" }, { type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: ["aggregation", "contentTemplate"] }, { type: CustomFieldComponent, selector: "app-custom-field", inputs: ["aggregations"] }], directives: [{ type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "async": i4$1.AsyncPipe, "translate": i1.TranslatePipe, "filterByRoles": FiltersByRolesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18858
18878
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersPanelComponent, decorators: [{
|
|
18859
18879
|
type: Component,
|
|
18860
18880
|
args: [{
|
|
@@ -18863,7 +18883,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18863
18883
|
styleUrls: ['./filters-panel.component.scss'],
|
|
18864
18884
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
18865
18885
|
}]
|
|
18866
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { aggregations: [{
|
|
18886
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: NuxeoService }]; }, propDecorators: { aggregations: [{
|
|
18867
18887
|
type: Input
|
|
18868
18888
|
}], fields: [{
|
|
18869
18889
|
type: Input
|
|
@@ -18951,6 +18971,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
18951
18971
|
}]
|
|
18952
18972
|
}] });
|
|
18953
18973
|
|
|
18974
|
+
class CheckConditionPipe {
|
|
18975
|
+
constructor(nuxeoService) {
|
|
18976
|
+
this.nuxeoService = nuxeoService;
|
|
18977
|
+
this.user = nuxeoService.nuxeoClient.user;
|
|
18978
|
+
}
|
|
18979
|
+
transform(condition, aggregations, language, filterValues) {
|
|
18980
|
+
if (!condition) {
|
|
18981
|
+
return true;
|
|
18982
|
+
}
|
|
18983
|
+
try {
|
|
18984
|
+
return Evaluator.evaluate(condition, ___default.cloneDeep({ aggregations, language, user: this.user, values: filterValues }));
|
|
18985
|
+
}
|
|
18986
|
+
catch (error) {
|
|
18987
|
+
console.error({ error });
|
|
18988
|
+
return false;
|
|
18989
|
+
}
|
|
18990
|
+
}
|
|
18991
|
+
}
|
|
18992
|
+
CheckConditionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, deps: [{ token: NuxeoService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18993
|
+
CheckConditionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, name: "checkCondition" });
|
|
18994
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CheckConditionPipe, decorators: [{
|
|
18995
|
+
type: Pipe,
|
|
18996
|
+
args: [{
|
|
18997
|
+
name: 'checkCondition'
|
|
18998
|
+
}]
|
|
18999
|
+
}], ctorParameters: function () { return [{ type: NuxeoService }]; } });
|
|
19000
|
+
|
|
18954
19001
|
class AggregationGroupComponent extends BaseCustomField {
|
|
18955
19002
|
constructor() {
|
|
18956
19003
|
super(...arguments);
|
|
@@ -42340,6 +42387,13 @@ class ReportConfigMapperService {
|
|
|
42340
42387
|
const _colors = [...((config === null || config === void 0 ? void 0 : config.colors) || []), ...getColors()];
|
|
42341
42388
|
return Object.assign(Object.assign({}, config), { colors: _colors, chart: chart });
|
|
42342
42389
|
}
|
|
42390
|
+
/**
|
|
42391
|
+
* Prepares a custom chart configuration
|
|
42392
|
+
* @param config
|
|
42393
|
+
*/
|
|
42394
|
+
prepareCustomConfig(config) {
|
|
42395
|
+
return config;
|
|
42396
|
+
}
|
|
42343
42397
|
/**
|
|
42344
42398
|
* Prepares a digit chart configuration
|
|
42345
42399
|
* @param config The digit chart definition
|
|
@@ -42384,6 +42438,136 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
42384
42438
|
}]
|
|
42385
42439
|
}], ctorParameters: function () { return [{ type: ChartPluginsRegistry }]; } });
|
|
42386
42440
|
|
|
42441
|
+
class CustomReportsRegistry {
|
|
42442
|
+
constructor(_factoryResolver) {
|
|
42443
|
+
this._factoryResolver = _factoryResolver;
|
|
42444
|
+
this._components = new Map();
|
|
42445
|
+
}
|
|
42446
|
+
/**
|
|
42447
|
+
* Register a component with the registry
|
|
42448
|
+
* @param config Component configuration
|
|
42449
|
+
*/
|
|
42450
|
+
registerComponent(config) {
|
|
42451
|
+
if (!config.type || !config.component) {
|
|
42452
|
+
throw new Error('Invalid component configuration: type and component are required');
|
|
42453
|
+
}
|
|
42454
|
+
if (this._components.has(config.type)) {
|
|
42455
|
+
console.warn(`Component with type '${config.type}' is already registered. Overwriting...`);
|
|
42456
|
+
}
|
|
42457
|
+
this._components.set(config.type, config);
|
|
42458
|
+
}
|
|
42459
|
+
/**
|
|
42460
|
+
* Register multiple components at once
|
|
42461
|
+
* @param configs Array of component configurations
|
|
42462
|
+
*/
|
|
42463
|
+
registerComponents(configs) {
|
|
42464
|
+
configs.forEach((config) => this.registerComponent(config));
|
|
42465
|
+
}
|
|
42466
|
+
/**
|
|
42467
|
+
* Render a component by type into a ViewContainerRef
|
|
42468
|
+
* @param type Component type identifier
|
|
42469
|
+
* @param vcr ViewContainerRef to render into
|
|
42470
|
+
*/
|
|
42471
|
+
renderComponent(type, vcr) {
|
|
42472
|
+
if (!this._components.has(type)) {
|
|
42473
|
+
throw new Error(`Unknown component with type: '${type}'`);
|
|
42474
|
+
}
|
|
42475
|
+
const config = this._components.get(type);
|
|
42476
|
+
return this.loadComponent(config, vcr);
|
|
42477
|
+
}
|
|
42478
|
+
/**
|
|
42479
|
+
* Load a component into a ViewContainerRef
|
|
42480
|
+
* @param config Component configuration
|
|
42481
|
+
* @param vcr ViewContainerRef to render into
|
|
42482
|
+
*/
|
|
42483
|
+
loadComponent(config, vcr) {
|
|
42484
|
+
const componentFactory = this._factoryResolver.resolveComponentFactory(config.component);
|
|
42485
|
+
return vcr.createComponent(componentFactory);
|
|
42486
|
+
}
|
|
42487
|
+
/**
|
|
42488
|
+
* Check if a component is registered
|
|
42489
|
+
* @param type Component type identifier
|
|
42490
|
+
*/
|
|
42491
|
+
hasComponent(type) {
|
|
42492
|
+
return this._components.has(type);
|
|
42493
|
+
}
|
|
42494
|
+
/**
|
|
42495
|
+
* Get component configuration by type
|
|
42496
|
+
* @param type Component type identifier
|
|
42497
|
+
*/
|
|
42498
|
+
getComponent(type) {
|
|
42499
|
+
return this._components.get(type);
|
|
42500
|
+
}
|
|
42501
|
+
/**
|
|
42502
|
+
* Get all registered component types
|
|
42503
|
+
*/
|
|
42504
|
+
getComponentTypes() {
|
|
42505
|
+
return Array.from(this._components.keys());
|
|
42506
|
+
}
|
|
42507
|
+
/**
|
|
42508
|
+
* Get all registered components
|
|
42509
|
+
*/
|
|
42510
|
+
getAllComponents() {
|
|
42511
|
+
return Array.from(this._components.values());
|
|
42512
|
+
}
|
|
42513
|
+
/**
|
|
42514
|
+
* Get components by category
|
|
42515
|
+
* @param category Category to filter by
|
|
42516
|
+
*/
|
|
42517
|
+
getComponentsByCategory(category) {
|
|
42518
|
+
return Array.from(this._components.values()).filter((config) => config.category === category);
|
|
42519
|
+
}
|
|
42520
|
+
/**
|
|
42521
|
+
* Get all unique categories
|
|
42522
|
+
*/
|
|
42523
|
+
getCategories() {
|
|
42524
|
+
const categories = Array.from(this._components.values())
|
|
42525
|
+
.map((config) => config.category)
|
|
42526
|
+
.filter((category) => !!category);
|
|
42527
|
+
return [...new Set(categories)];
|
|
42528
|
+
}
|
|
42529
|
+
/**
|
|
42530
|
+
* Unregister a component
|
|
42531
|
+
* @param type Component type identifier
|
|
42532
|
+
*/
|
|
42533
|
+
unregisterComponent(type) {
|
|
42534
|
+
return this._components.delete(type);
|
|
42535
|
+
}
|
|
42536
|
+
/**
|
|
42537
|
+
* Clear all registered components
|
|
42538
|
+
*/
|
|
42539
|
+
clearComponents() {
|
|
42540
|
+
this._components.clear();
|
|
42541
|
+
}
|
|
42542
|
+
/**
|
|
42543
|
+
* Get the total number of registered components
|
|
42544
|
+
*/
|
|
42545
|
+
getComponentCount() {
|
|
42546
|
+
return this._components.size;
|
|
42547
|
+
}
|
|
42548
|
+
/**
|
|
42549
|
+
* Search components by name or type
|
|
42550
|
+
* @param searchTerm Search term
|
|
42551
|
+
*/
|
|
42552
|
+
searchComponents(searchTerm) {
|
|
42553
|
+
const term = searchTerm.toLowerCase();
|
|
42554
|
+
return Array.from(this._components.values()).filter((config) => {
|
|
42555
|
+
var _a, _b;
|
|
42556
|
+
return config.type.toLowerCase().includes(term) ||
|
|
42557
|
+
((_a = config.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(term)) ||
|
|
42558
|
+
((_b = config.description) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(term));
|
|
42559
|
+
});
|
|
42560
|
+
}
|
|
42561
|
+
}
|
|
42562
|
+
CustomReportsRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42563
|
+
CustomReportsRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, providedIn: 'root' });
|
|
42564
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportsRegistry, decorators: [{
|
|
42565
|
+
type: Injectable,
|
|
42566
|
+
args: [{
|
|
42567
|
+
providedIn: 'root'
|
|
42568
|
+
}]
|
|
42569
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
|
|
42570
|
+
|
|
42387
42571
|
class DigitChartComponent extends BaseChart {
|
|
42388
42572
|
constructor() {
|
|
42389
42573
|
super(...arguments);
|
|
@@ -42470,7 +42654,7 @@ class GraphChartComponent extends BaseChart {
|
|
|
42470
42654
|
}
|
|
42471
42655
|
}
|
|
42472
42656
|
GraphChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GraphChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
42473
|
-
GraphChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GraphChartComponent, selector: "app-graph-chart", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"report$ | async as report\">\r\n\t<div class=\"chart-legends\"></div>\r\n\t<app-chart\r\n\t\t[type]=\"report.config.type\"\r\n\t\t[data]=\"report.data\"\r\n\t\t[options]=\"report.config?.options\"\r\n\t\t[plugins]=\"report.config?.plugins\"\r\n\t\t[responsive]=\"true\"\r\n\t\t(onReady)=\"chartReady($event)\"\r\n\t\tclass=\"app-chart\"\r\n\t></app-chart>\r\n</ng-container>\r\n", styles: [":host{--chart-height: var(--graph-chart-height,
|
|
42657
|
+
GraphChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GraphChartComponent, selector: "app-graph-chart", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"report$ | async as report\">\r\n\t<div class=\"chart-legends\"></div>\r\n\t<app-chart\r\n\t\t[type]=\"report.config.type\"\r\n\t\t[data]=\"report.data\"\r\n\t\t[options]=\"report.config?.options\"\r\n\t\t[plugins]=\"report.config?.plugins\"\r\n\t\t[responsive]=\"true\"\r\n\t\t(onReady)=\"chartReady($event)\"\r\n\t\tclass=\"app-chart\"\r\n\t></app-chart>\r\n</ng-container>\r\n", styles: [":host{--chart-height: var(--graph-chart-height, 330px);display:var(--graph-chart-display, flex);flex-direction:var(--graph-chart-direction, row);justify-content:var(--graph-chart-justify-content, between);align-items:var(--graph-chart-align-items, center);grid-gap:var(--graph-chart-gap, .5rem);gap:var(--graph-chart-gap, .5rem)}.app-chart{min-width:var(--app-chart-min-width, 0);min-height:var(--app-chart-min-height, 0);height:var(--app-chart-height, auto);width:var(--app-chart-width, 100%);padding:var(--app-chart-padding, 1rem);display:flex;align-items:center;justify-content:center;align-self:stretch}@media print{.app-chart ::ng-deep canvas{max-width:100%!important}}::ng-deep .chart-legends{max-height:var(--chart-legends-height, var(--chart-height));min-width:var(--chart-legends-width, 0);overflow:auto;font-size:1rem;text-align:start;display:flex;flex-direction:column;grid-gap:.2rem;gap:.2rem;padding-block:.5rem}::ng-deep .chart-legends:empty{--chart-legends-width: 0;display:none}::ng-deep .chart-legends.has-items{--chart-legends-width: 200px}::ng-deep .chart-legends__legend{display:flex;align-items:baseline;-webkit-user-select:none;user-select:none;cursor:default}::ng-deep .chart-legends__box{width:var(--chart-legends-box-width, 8px);height:var(--chart-legends-box-height, 8px);border-radius:var(--chart-legends-radius, 50%);margin-inline:var(--chart-legends-box-inline, 0 .5rem);display:inline-block;flex-shrink:0}\n"], components: [{ type: ChartComponent, selector: "app-chart", inputs: ["data", "options"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4$1.AsyncPipe } });
|
|
42474
42658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GraphChartComponent, decorators: [{
|
|
42475
42659
|
type: Component,
|
|
42476
42660
|
args: [{
|
|
@@ -42491,6 +42675,7 @@ const REPORT_MODE = {
|
|
|
42491
42675
|
graph: 'graph',
|
|
42492
42676
|
digit: 'digit',
|
|
42493
42677
|
dynamicLine: 'dynamicLine',
|
|
42678
|
+
custom: 'custom',
|
|
42494
42679
|
};
|
|
42495
42680
|
|
|
42496
42681
|
const TIME_GROUPS = {
|
|
@@ -42538,7 +42723,8 @@ class BaseReport extends DestroySubject {
|
|
|
42538
42723
|
const mappers = {
|
|
42539
42724
|
[REPORT_MODE.graph]: this._configMapperService.prepareGraphConfig,
|
|
42540
42725
|
[REPORT_MODE.digit]: this._configMapperService.prepareDigitConfig,
|
|
42541
|
-
[REPORT_MODE.dynamicLine]: this._configMapperService.prepareGraphLineConfig
|
|
42726
|
+
[REPORT_MODE.dynamicLine]: this._configMapperService.prepareGraphLineConfig,
|
|
42727
|
+
[REPORT_MODE.custom]: this._configMapperService.prepareCustomConfig
|
|
42542
42728
|
};
|
|
42543
42729
|
return mappers[obj.mode].call(this._configMapperService, obj);
|
|
42544
42730
|
}
|
|
@@ -43040,6 +43226,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
43040
43226
|
args: ['graphChart']
|
|
43041
43227
|
}] } });
|
|
43042
43228
|
|
|
43229
|
+
class BaseCustomReport extends DestroySubject {
|
|
43230
|
+
constructor() {
|
|
43231
|
+
super(...arguments);
|
|
43232
|
+
this.direction = 'rtl';
|
|
43233
|
+
this._criteriaSub = new ReplaySubject(null);
|
|
43234
|
+
this.criteria$ = this._criteriaSub.asObservable();
|
|
43235
|
+
this._configSub = new BehaviorSubject(null);
|
|
43236
|
+
this.config$ = this._configSub.asObservable();
|
|
43237
|
+
}
|
|
43238
|
+
set criteria(value) {
|
|
43239
|
+
this._criteria = ___default.cloneDeep(value);
|
|
43240
|
+
this._criteriaSub.next(this._criteria);
|
|
43241
|
+
}
|
|
43242
|
+
set config(obj) {
|
|
43243
|
+
if (obj) {
|
|
43244
|
+
this._configSub.next(obj);
|
|
43245
|
+
}
|
|
43246
|
+
}
|
|
43247
|
+
get config() {
|
|
43248
|
+
return this._configSub.getValue();
|
|
43249
|
+
}
|
|
43250
|
+
}
|
|
43251
|
+
BaseCustomReport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomReport, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
43252
|
+
BaseCustomReport.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseCustomReport, inputs: { direction: "direction", data: "data", criteria: "criteria", config: "config" }, usesInheritance: true, ngImport: i0 });
|
|
43253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseCustomReport, decorators: [{
|
|
43254
|
+
type: Directive
|
|
43255
|
+
}], propDecorators: { direction: [{
|
|
43256
|
+
type: Input
|
|
43257
|
+
}], data: [{
|
|
43258
|
+
type: Input
|
|
43259
|
+
}], criteria: [{
|
|
43260
|
+
type: Input
|
|
43261
|
+
}], config: [{
|
|
43262
|
+
type: Input
|
|
43263
|
+
}] } });
|
|
43264
|
+
|
|
43265
|
+
class CustomReportComponent extends BaseReport {
|
|
43266
|
+
constructor() {
|
|
43267
|
+
super(...arguments);
|
|
43268
|
+
this._registeredComponents = this.injector.get(CustomReportsRegistry);
|
|
43269
|
+
}
|
|
43270
|
+
ngOnInit() {
|
|
43271
|
+
/* const componentType = this._registeredComponents.getComponent(this.reportDefinition.type);
|
|
43272
|
+
if (componentType) {
|
|
43273
|
+
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
43274
|
+
this._prepareValueAccessor();
|
|
43275
|
+
this._prepareComponent(componentType);
|
|
43276
|
+
}*/
|
|
43277
|
+
}
|
|
43278
|
+
ngOnChanges(changes) {
|
|
43279
|
+
if (!this._componentRef) {
|
|
43280
|
+
return;
|
|
43281
|
+
}
|
|
43282
|
+
Object.keys(changes).forEach((key) => {
|
|
43283
|
+
this._componentRef.instance[key] = changes[key].currentValue;
|
|
43284
|
+
});
|
|
43285
|
+
this._componentRef.changeDetectorRef.markForCheck();
|
|
43286
|
+
}
|
|
43287
|
+
ngOnDestroy() {
|
|
43288
|
+
if (this._componentRef) {
|
|
43289
|
+
this._componentRef.destroy();
|
|
43290
|
+
}
|
|
43291
|
+
}
|
|
43292
|
+
}
|
|
43293
|
+
CustomReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
43294
|
+
CustomReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomReportComponent, selector: "app-custom-report", host: { classAttribute: "custom-report flex flex-col flex-grow" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["dynamicContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "\r\n<ng-container #dynamicContainer></ng-container>\r\n", styles: [""] });
|
|
43295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomReportComponent, decorators: [{
|
|
43296
|
+
type: Component,
|
|
43297
|
+
args: [{
|
|
43298
|
+
selector: 'app-custom-report',
|
|
43299
|
+
templateUrl: './custom-report.component.html',
|
|
43300
|
+
styleUrls: ['./custom-report.component.scss'],
|
|
43301
|
+
host: {
|
|
43302
|
+
class: 'custom-report flex flex-col flex-grow'
|
|
43303
|
+
}
|
|
43304
|
+
}]
|
|
43305
|
+
}], propDecorators: { container: [{
|
|
43306
|
+
type: ViewChild,
|
|
43307
|
+
args: ['dynamicContainer', { read: ViewContainerRef, static: true }]
|
|
43308
|
+
}] } });
|
|
43309
|
+
|
|
43043
43310
|
function mapToNdfTableConfig(report, details) {
|
|
43044
43311
|
var _a, _b, _c, _d, _e;
|
|
43045
43312
|
const _request = report.request;
|
|
@@ -43422,7 +43689,7 @@ NdfReportsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
43422
43689
|
DynamicTimelineReportComponent,
|
|
43423
43690
|
TimeGroupSelectorComponent,
|
|
43424
43691
|
GraphDialogComponent,
|
|
43425
|
-
TimelineDialogComponent, ScrollableDivDirective, GraphChartComponent, DigitChartComponent, ReportActionsComponent], imports: [CommonModule,
|
|
43692
|
+
TimelineDialogComponent, ScrollableDivDirective, GraphChartComponent, DigitChartComponent, ReportActionsComponent, CustomReportComponent], imports: [CommonModule,
|
|
43426
43693
|
TranslateModule,
|
|
43427
43694
|
MatMenuModule,
|
|
43428
43695
|
MatIconModule,
|
|
@@ -43467,7 +43734,7 @@ NdfReportsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
|
|
|
43467
43734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfReportsModule, decorators: [{
|
|
43468
43735
|
type: NgModule,
|
|
43469
43736
|
args: [{
|
|
43470
|
-
declarations: [CONTAINERS, COMPONENTS, DIRECTIVES, CHARTS, ReportActionsComponent],
|
|
43737
|
+
declarations: [CONTAINERS, COMPONENTS, DIRECTIVES, CHARTS, ReportActionsComponent, CustomReportComponent],
|
|
43471
43738
|
imports: [
|
|
43472
43739
|
CommonModule,
|
|
43473
43740
|
TranslateModule,
|
|
@@ -44760,7 +45027,7 @@ const REPORTS_DATA = {
|
|
|
44760
45027
|
{
|
|
44761
45028
|
aggregation: 'RetentionInfo_activeRetentionExpireDate_agg',
|
|
44762
45029
|
propertyPath: 'aggregations.RetentionInfo_activeRetentionExpireDate_agg.buckets',
|
|
44763
|
-
transformer: '
|
|
45030
|
+
transformer: 'timeFormat',
|
|
44764
45031
|
},
|
|
44765
45032
|
],
|
|
44766
45033
|
chart: {
|
|
@@ -45540,5 +45807,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
45540
45807
|
* Generated bundle index. Do not edit.
|
|
45541
45808
|
*/
|
|
45542
45809
|
|
|
45543
|
-
export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, 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 };
|
|
45810
|
+
export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AddToCollectionComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, 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, CustomReportsRegistry, CustomSocketComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CutomeVocViewerComponent, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DeleteComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_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 };
|
|
45544
45811
|
//# sourceMappingURL=nuxeo-development-framework.js.map
|