nuxeo-development-framework 5.7.7 → 5.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +150 -69
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +1 -1
  4. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +2 -2
  5. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +2 -2
  6. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  7. package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -2
  8. package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +38 -0
  9. package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
  10. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +61 -9
  11. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +7 -6
  12. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  13. package/fesm2015/nuxeo-development-framework.js +142 -67
  14. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  15. package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +6 -0
  16. package/lib/components/reports/ndf-reports/options/index.d.ts +0 -1
  17. package/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.d.ts +14 -0
  18. package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
  19. package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +6 -1
  20. package/package.json +1 -1
  21. package/src/docs/ndf-table.doc.md +1 -1
  22. package/esm2015/lib/components/reports/ndf-reports/options/options.js +0 -15
  23. package/lib/components/reports/ndf-reports/options/options.d.ts +0 -2
@@ -12776,7 +12776,7 @@
12776
12776
  }());
12777
12777
  DynamicFormTextareaComponent.DEFAULT_SEPARATOR = ', ';
12778
12778
  DynamicFormTextareaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicFormTextareaComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1__namespace.TranslateService }, { token: i2__namespace$4.NgControl, optional: true, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
12779
- DynamicFormTextareaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: { property: "property", label: "label", editable: "editable", disabled: "disabled", id: "id", placeholder: "placeholder", displayEmpty: "displayEmpty", horizontalAlign: "horizontalAlign" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\" [ngClass]=\"{ row: horizontalAlign }\">\r\n\t\t<label\r\n\t\t\t*ngIf=\"label\"\r\n\t\t\tfor=\"formGroupInputSmall\"\r\n\t\t\t[ngClass]=\"{ 'col-3': horizontalAlign }\"\r\n\t\t\t>{{ label | translate\r\n\t\t\t}}<span *ngIf=\"isRequired()\" class=\"text-danger\">*</span></label\r\n\t\t>\r\n\t\t<div [ngClass]=\"{ 'col-9': horizontalAlign }\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\tclass=\"form-control field-style\"\r\n\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t[attr.disabled]=\"isDisabled() || null\"\r\n\t\t\t\t\t#editorInput\r\n\t\t\t\t\tmatTextareaAutosize\r\n\t\t\t\t\tmatAutosizeMinRows=\"3\"\r\n\t\t\t\t\tmatAutosizeMaxRows=\"5\"\r\n\t\t\t\t\t[(ngModel)]=\"editedValue\"\r\n\t\t\t\t\t(input)=\"onTextAreaInputChange()\"\r\n\t\t\t\t\t(keyup)=\"update($event)\"\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-edittextarea-'\"\r\n\t\t\t\t></textarea>\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">\r\n\t\t\t\t\t\t\t{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-textitem-editable-error{margin-top:-15px;padding-top:0}textarea::placeholder{font-size:12px}\n"], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$2.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i2__namespace$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
12779
+ DynamicFormTextareaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: { property: "property", label: "label", editable: "editable", disabled: "disabled", id: "id", placeholder: "placeholder", displayEmpty: "displayEmpty", horizontalAlign: "horizontalAlign" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\" [ngClass]=\"{ row: horizontalAlign }\">\r\n\t\t<label\r\n\t\t\t*ngIf=\"label\"\r\n\t\t\tfor=\"formGroupInputSmall\"\r\n\t\t\t[ngClass]=\"{ 'col-3': horizontalAlign }\"\r\n\t\t\t>{{ label | translate\r\n\t\t\t}}<span *ngIf=\"isRequired()\" class=\"text-danger\">*</span></label\r\n\t\t>\r\n\t\t<div [ngClass]=\"{ 'col-9': horizontalAlign }\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\tclass=\"form-control field-style\"\r\n\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t[attr.disabled]=\"isDisabled() || null\"\r\n\t\t\t\t\t#editorInput\r\n\t\t\t\t\tmatTextareaAutosize\r\n\t\t\t\t\tmatAutosizeMinRows=\"3\"\r\n\t\t\t\t\tmatAutosizeMaxRows=\"5\"\r\n\t\t\t\t\t[(ngModel)]=\"editedValue\"\r\n\t\t\t\t\t(input)=\"onTextAreaInputChange()\"\r\n\t\t\t\t\t(keyup)=\"update($event)\"\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-edittextarea-'\"\r\n\t\t\t\t></textarea>\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">\r\n\t\t\t\t\t\t\t{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: ["textarea::placeholder{font-size:12px}\n"], directives: [{ type: i4__namespace$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace$2.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i2__namespace$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace$7.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1__namespace.TranslatePipe }, encapsulation: i0__namespace.ViewEncapsulation.None });
12780
12780
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DynamicFormTextareaComponent, decorators: [{
12781
12781
  type: i0.Component,
12782
12782
  args: [{
@@ -45717,30 +45717,58 @@
45717
45717
  }
45718
45718
 
45719
45719
  /**
45720
- * Vertical Bar Options
45720
+ * Pie Options
45721
45721
  * @param override
45722
45722
  * @returns
45723
45723
  */
45724
- function getVerticalBarOptions(override) {
45724
+ function getPieOptions(override) {
45725
45725
  if (override === void 0) { override = {}; }
45726
45726
  var data = {
45727
45727
  responsive: true,
45728
45728
  maintainAspectRatio: false,
45729
- indexAxis: 'x',
45729
+ plugins: {
45730
+ legend: {
45731
+ // rtl: dir == 'rtl',
45732
+ position: 'bottom',
45733
+ align: 'center',
45734
+ maxWidth: 170,
45735
+ labels: {
45736
+ usePointStyle: true,
45737
+ boxWidth: 6,
45738
+ boxHeight: 6,
45739
+ pointStyleWidth: 8
45740
+ }
45741
+ }
45742
+ }
45743
+ };
45744
+ return ___default["default"].merge(data, override);
45745
+ }
45746
+
45747
+ /**
45748
+ * Line Options
45749
+ * @param override
45750
+ * @returns
45751
+ */
45752
+ function getLineOptions(override) {
45753
+ if (override === void 0) { override = {}; }
45754
+ var data = {
45755
+ responsive: true,
45756
+ maintainAspectRatio: false,
45757
+ showLine: true,
45730
45758
  scales: {
45731
- y: {
45759
+ x: {
45732
45760
  ticks: {
45733
45761
  stepSize: 1,
45734
- color: getTicksColor('y')
45762
+ color: getTicksColor('x')
45735
45763
  },
45736
45764
  grid: {
45737
45765
  color: getGridColor('x')
45738
45766
  }
45739
45767
  },
45740
- x: {
45768
+ y: {
45741
45769
  ticks: {
45742
45770
  stepSize: 1,
45743
- color: getTicksColor('x')
45771
+ color: getTicksColor('y')
45744
45772
  },
45745
45773
  grid: {
45746
45774
  color: getGridColor('y')
@@ -45786,30 +45814,30 @@
45786
45814
  }
45787
45815
 
45788
45816
  /**
45789
- * Line Options
45817
+ * Vertical Bar Options
45790
45818
  * @param override
45791
45819
  * @returns
45792
45820
  */
45793
- function getLineOptions(override) {
45821
+ function getVerticalBarOptions(override) {
45794
45822
  if (override === void 0) { override = {}; }
45795
45823
  var data = {
45796
45824
  responsive: true,
45797
45825
  maintainAspectRatio: false,
45798
- showLine: true,
45826
+ indexAxis: 'x',
45799
45827
  scales: {
45800
- x: {
45828
+ y: {
45801
45829
  ticks: {
45802
45830
  stepSize: 1,
45803
- color: getTicksColor('x')
45831
+ color: getTicksColor('y')
45804
45832
  },
45805
45833
  grid: {
45806
45834
  color: getGridColor('x')
45807
45835
  }
45808
45836
  },
45809
- y: {
45837
+ x: {
45810
45838
  ticks: {
45811
45839
  stepSize: 1,
45812
- color: getTicksColor('y')
45840
+ color: getTicksColor('x')
45813
45841
  },
45814
45842
  grid: {
45815
45843
  color: getGridColor('y')
@@ -45825,54 +45853,17 @@
45825
45853
  return ___default["default"].merge(data, override);
45826
45854
  }
45827
45855
 
45828
- /**
45829
- * Pie Options
45830
- * @param override
45831
- * @returns
45832
- */
45833
- function getPieOptions(override) {
45834
- if (override === void 0) { override = {}; }
45835
- var data = {
45836
- responsive: true,
45837
- maintainAspectRatio: false,
45838
- plugins: {
45839
- legend: {
45840
- // rtl: dir == 'rtl',
45841
- position: 'bottom',
45842
- align: 'center',
45843
- maxWidth: 170,
45844
- labels: {
45845
- usePointStyle: true,
45846
- boxWidth: 6,
45847
- boxHeight: 6,
45848
- pointStyleWidth: 8
45849
- }
45850
- }
45851
- }
45852
- };
45853
- return ___default["default"].merge(data, override);
45854
- }
45855
-
45856
- function getChartsOptions(overrides) {
45857
- return {
45858
- verticalBar: getVerticalBarOptions(overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar),
45859
- horizontalBar: getHorizontalBarOptions(overrides === null || overrides === void 0 ? void 0 : overrides.horizontalBar),
45860
- doughnut: getDoughnutOptions(overrides === null || overrides === void 0 ? void 0 : overrides.doughnut),
45861
- line: getLineOptions(overrides === null || overrides === void 0 ? void 0 : overrides.line),
45862
- pie: getPieOptions(overrides === null || overrides === void 0 ? void 0 : overrides.pie)
45863
- };
45864
- }
45865
-
45866
45856
  function mapToNdfTableConfig(report, details) {
45867
- var _a, _b, _c, _d;
45857
+ var _a, _b, _c, _d, _e;
45868
45858
  var _request = report.request;
45869
45859
  var _detailsConfig = details.source;
45860
+ var _payload = ((_a = _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.payload) || {};
45870
45861
  var customUrl = ___default["default"].merge({
45871
45862
  url: "/api/v1" + (_request === null || _request === void 0 ? void 0 : _request.customUrl.url),
45872
45863
  method: _request === null || _request === void 0 ? void 0 : _request.customUrl.method
45873
- }, ((_a = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.customUrl) || {});
45874
- var _headers = ((_b = _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.headers) || _request.headers || {};
45875
- var _queryParam = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.params) || _request.params || {};
45864
+ }, ((_b = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.customUrl) || {}, _payload);
45865
+ var _headers = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.headers) || _request.headers || {};
45866
+ var _queryParam = ((_d = _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.params) || _request.params || {};
45876
45867
  var _sortingBy = ___default["default"].merge({
45877
45868
  sortBy: 'dc:modified',
45878
45869
  sortOrder: 'desc'
@@ -45902,7 +45893,7 @@
45902
45893
  queryParam: _queryParam,
45903
45894
  quickFilters: _detailsConfig.quickFilters,
45904
45895
  sortingBy: _sortingBy,
45905
- requestActions: (_d = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.actions
45896
+ requestActions: (_e = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _e === void 0 ? void 0 : _e.actions
45906
45897
  };
45907
45898
  return data;
45908
45899
  }
@@ -45977,9 +45968,52 @@
45977
45968
  return newObject;
45978
45969
  }
45979
45970
 
45971
+ var ChartCallbacksRegisterService = /** @class */ (function () {
45972
+ function ChartCallbacksRegisterService() {
45973
+ this._callbacks = new Map();
45974
+ }
45975
+ ChartCallbacksRegisterService.prototype.register = function (key, callback) {
45976
+ var _this = this;
45977
+ if (typeof key === 'object') {
45978
+ Object.entries(key).forEach(function (_a) {
45979
+ var _b = __read(_a, 2), k = _b[0], fn = _b[1];
45980
+ return _this._callbacks.set(k, fn);
45981
+ });
45982
+ }
45983
+ else if (typeof key === 'string' && callback) {
45984
+ this._callbacks.set(key, callback);
45985
+ }
45986
+ };
45987
+ ChartCallbacksRegisterService.prototype.getAll = function () {
45988
+ return this._callbacks;
45989
+ };
45990
+ ChartCallbacksRegisterService.prototype.has = function (key) {
45991
+ return this._callbacks.has(key);
45992
+ };
45993
+ ChartCallbacksRegisterService.prototype.get = function (key) {
45994
+ var fn = this._callbacks.get(key);
45995
+ if (!fn) {
45996
+ console.error("Callback with key '" + key + "' not found.");
45997
+ }
45998
+ return fn;
45999
+ };
46000
+ ChartCallbacksRegisterService.prototype.delete = function (key) {
46001
+ return this._callbacks.delete(key);
46002
+ };
46003
+ return ChartCallbacksRegisterService;
46004
+ }());
46005
+ ChartCallbacksRegisterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
46006
+ ChartCallbacksRegisterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, providedIn: 'root' });
46007
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, decorators: [{
46008
+ type: i0.Injectable,
46009
+ args: [{ providedIn: 'root' }]
46010
+ }] });
46011
+
45980
46012
  var ReportConfigMapperService = /** @class */ (function () {
45981
- function ReportConfigMapperService(_chartPluginsRegistry) {
46013
+ function ReportConfigMapperService(_chartPluginsRegistry, _chartPluginsCallbacks, _translateService) {
45982
46014
  this._chartPluginsRegistry = _chartPluginsRegistry;
46015
+ this._chartPluginsCallbacks = _chartPluginsCallbacks;
46016
+ this._translateService = _translateService;
45983
46017
  }
45984
46018
  /**
45985
46019
  * Prepares a graph chart configuration by converting plugin names to actual plugin objects
@@ -45987,8 +46021,28 @@
45987
46021
  * @returns The prepared graph chart with plugin objects
45988
46022
  */
45989
46023
  ReportConfigMapperService.prototype.prepareGraphConfig = function (config) {
45990
- var _a = config.chart, plugins = _a.plugins, colors = _a.colors, options = _a.options, direction = _a.direction, overrides = _a.overrides, rest = __rest(_a, ["plugins", "colors", "options", "direction", "overrides"]);
45991
- var chart = Object.assign(Object.assign({}, rest), { overrides: getChartsOptions(overrides), options: this._getChartOptions(config.chart.type, options, direction) });
46024
+ var _a = config.chart, plugins = _a.plugins, callbacks = _a.callbacks, colors = _a.colors, options = _a.options, direction = _a.direction, overrides = _a.overrides, rest = __rest(_a, ["plugins", "callbacks", "colors", "options", "direction", "overrides"]);
46025
+ var chart = Object.assign(Object.assign({}, rest), { overrides: {
46026
+ verticalBar: this._getChartOptions({
46027
+ type: 'bar',
46028
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
46029
+ direction: 'vertical',
46030
+ callbacks: callbacks
46031
+ }),
46032
+ horizontalBar: this._getChartOptions({
46033
+ type: 'bar',
46034
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
46035
+ direction: 'horizontal',
46036
+ callbacks: callbacks
46037
+ }),
46038
+ doughnut: this._getChartOptions({
46039
+ type: 'doughnut',
46040
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.doughnut,
46041
+ callbacks: callbacks
46042
+ }),
46043
+ line: this._getChartOptions({ type: 'line', options: overrides === null || overrides === void 0 ? void 0 : overrides.line, callbacks: callbacks }),
46044
+ pie: this._getChartOptions({ type: 'pie', options: overrides === null || overrides === void 0 ? void 0 : overrides.pie, callbacks: callbacks })
46045
+ }, options: this._getChartOptions({ type: config.chart.type, options: options, direction: direction, callbacks: callbacks }) });
45992
46046
  if (Array.isArray(plugins) && plugins.length > 0) {
45993
46047
  chart.plugins = this._preparePlugins(plugins);
45994
46048
  }
@@ -46044,8 +46098,8 @@
46044
46098
  return acc;
46045
46099
  }, []);
46046
46100
  };
46047
- ReportConfigMapperService.prototype._getChartOptions = function (type, options, direction) {
46048
- if (direction === void 0) { direction = 'horizontal'; }
46101
+ ReportConfigMapperService.prototype._getChartOptions = function (_b) {
46102
+ var type = _b.type, options = _b.options, _c = _b.direction, direction = _c === void 0 ? 'horizontal' : _c, callbacks = _b.callbacks;
46049
46103
  var _a;
46050
46104
  var _optionsMap = {
46051
46105
  verticalBar: getVerticalBarOptions,
@@ -46055,22 +46109,49 @@
46055
46109
  pie: getPieOptions
46056
46110
  };
46057
46111
  var key = type === 'bar' ? direction + "Bar" : type;
46058
- return ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
46112
+ var _options = ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
46113
+ if (Array.isArray(callbacks) && callbacks.length > 0) {
46114
+ var _callbacks = this._prepareCallbacks(callbacks, key);
46115
+ if (_callbacks === null || _callbacks === void 0 ? void 0 : _callbacks.plugins) {
46116
+ ___default["default"].merge(_options, _callbacks);
46117
+ }
46118
+ }
46119
+ return _options;
46059
46120
  };
46060
46121
  ReportConfigMapperService.prototype._prepareColors = function (colors) {
46061
46122
  var _colors = getCssColors(colors || []);
46062
46123
  return __spreadArray(__spreadArray([], __read(_colors)), __read(getColors()));
46063
46124
  };
46125
+ ReportConfigMapperService.prototype._prepareCallbacks = function (callbacks, type) {
46126
+ var _this = this;
46127
+ var data = {};
46128
+ callbacks
46129
+ .filter(function (call) { return !!call.path && !!call.callback; })
46130
+ .forEach(function (callback) {
46131
+ try {
46132
+ var fn = Evaluator.evaluate(callback.callback, {
46133
+ type: type,
46134
+ translate: _this._translateService,
46135
+ register: _this._chartPluginsCallbacks,
46136
+ }, 'callback');
46137
+ if (fn && typeof fn === 'function') {
46138
+ ___default["default"].set(data, callback.path, fn);
46139
+ }
46140
+ }
46141
+ catch (e) { }
46142
+ });
46143
+ return { plugins: data };
46144
+ };
46064
46145
  return ReportConfigMapperService;
46065
46146
  }());
46066
- ReportConfigMapperService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, deps: [{ token: ChartPluginsRegistry }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
46147
+ ReportConfigMapperService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, deps: [{ token: ChartPluginsRegistry }, { token: ChartCallbacksRegisterService }, { token: i1__namespace.TranslateService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
46067
46148
  ReportConfigMapperService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, providedIn: 'root' });
46068
46149
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, decorators: [{
46069
46150
  type: i0.Injectable,
46070
46151
  args: [{
46071
46152
  providedIn: 'root'
46072
46153
  }]
46073
- }], ctorParameters: function () { return [{ type: ChartPluginsRegistry }]; } });
46154
+ }], ctorParameters: function () { return [{ type: ChartPluginsRegistry }, { type: ChartCallbacksRegisterService }, { type: i1__namespace.TranslateService }]; } });
46074
46155
 
46075
46156
  var CustomReportsRegistry = /** @class */ (function () {
46076
46157
  function CustomReportsRegistry(_factoryResolver) {
@@ -47337,7 +47418,7 @@
47337
47418
  return NdfReportComponent;
47338
47419
  }(DestroySubject));
47339
47420
  NdfReportComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
47340
- NdfReportComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportComponent, selector: "app-ndf-report", inputs: { config: "config", direction: "direction", data: "data", criteria: "criteria" }, outputs: { onNavigate: "onNavigate", onOpen: "onOpen" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"config\">\r\n\t<ng-container [ngSwitch]=\"config.mode\">\r\n\t\t<app-graph-report\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t*ngSwitchCase=\"reportModes.graph\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onNavigate)=\"onNavigate.emit($event)\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t></app-graph-report>\r\n\r\n\t\t<app-dynamic-timeline-report\r\n\t\t\t*ngSwitchCase=\"reportModes.dynamicLine\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-dynamic-timeline-report>\r\n\r\n\t\t<app-digit-report\r\n\t\t\t*ngSwitchCase=\"reportModes.digit\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-digit-report>\r\n\r\n\t\t<app-custom-report\r\n\t\t\t*ngSwitchCase=\"reportModes.custom\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t>\r\n\t\t</app-custom-report>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}.report-min-height{min-height:var(--report-content-height, unset)}\n"], components: [{ type: GraphReportComponent, selector: "app-graph-report" }, { type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report" }, { type: DigitReportComponent, selector: "app-digit-report" }, { type: CustomReportComponent, selector: "app-custom-report" }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
47421
+ NdfReportComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportComponent, selector: "app-ndf-report", inputs: { config: "config", direction: "direction", data: "data", criteria: "criteria" }, outputs: { onNavigate: "onNavigate", onOpen: "onOpen" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"config\">\r\n\t<ng-container [ngSwitch]=\"config.mode\">\r\n\t\t<app-graph-report\r\n class=\"report-container\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t*ngSwitchCase=\"reportModes.graph\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onNavigate)=\"onNavigate.emit($event)\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t></app-graph-report>\r\n\r\n\t\t<app-dynamic-timeline-report\r\n class=\"report-container\"\r\n\t\t\t*ngSwitchCase=\"reportModes.dynamicLine\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-dynamic-timeline-report>\r\n\r\n\t\t<app-digit-report\r\n\t\t\t*ngSwitchCase=\"reportModes.digit\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t></app-digit-report>\r\n\r\n\t\t<app-custom-report\r\n\t\t\t*ngSwitchCase=\"reportModes.custom\"\r\n class=\"report-container\"\r\n\t\t\t[definition]=\"config\"\r\n\t\t\t[data]=\"data\"\r\n\t\t\t[criteria]=\"criteria\"\r\n\t\t\t[direction]=\"direction\"\r\n\t\t\t(onOpen)=\"onOpen.emit($event)\"\r\n\t\t\t[class.report-min-height]=\"config?.layout?.minContentHeight\"\r\n\t\t\t[style.--report-content-height]=\"config?.layout?.minContentHeight\"\r\n\t\t>\r\n\t\t</app-custom-report>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [".ndf-report{display:flex;flex-direction:column;min-width:0;max-width:100%;flex-grow:1}.ndf-report__content{position:relative;padding-block:.5rem;flex-grow:1;min-width:0;max-width:100%}.chart-actions{border:var(--chart-actions-border, 1px solid var(--border-color))}.chart-actions__item{background:var(--chart-actions-background, transparent);color:var(--chart-actions-color, currentColor);box-shadow:var(--chart-actions-shadow, unset);width:var(--chart-actions-width, 35px);height:var(--chart-actions-height, 35px);border-radius:var(--chart-actions-border-radius, 4px);flex-grow:1;display:grid;place-items:center}.chart-actions__item .mat-icon{color:var(--main-color, currentColor)}.chart-actions__item:hover{--chart-actions-shadow: var(--chart-actions-hover-shadow, 0 0 0 1px var(--main-color))}.chart-actions__item.selected{--chart-actions-background: var(--chart-actions-active-background, var(--main-color));--chart-actions-color: var(--chart-actions-active-color, var(--main-hover))}.chart-actions__item.selected .mat-icon{color:currentColor!important}@media print{.chart-actions{display:none}}.report-min-height{min-height:var(--report-content-height, unset)}@media screen{.report-container{grid-row:span var(--row-span, 1)}}\n"], components: [{ type: GraphReportComponent, selector: "app-graph-report" }, { type: DynamicTimelineReportComponent, selector: "app-dynamic-timeline-report" }, { type: DigitReportComponent, selector: "app-digit-report" }, { type: CustomReportComponent, selector: "app-custom-report" }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
47341
47422
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportComponent, decorators: [{
47342
47423
  type: i0.Component,
47343
47424
  args: [{
@@ -47749,7 +47830,7 @@
47749
47830
  return NdfReportsComponent;
47750
47831
  }(DestroySubject));
47751
47832
  NdfReportsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportsComponent, deps: [{ token: i1__namespace.TranslateService }, { token: FiltersMapperService }, { token: NdfReportsService }, { token: ChartManagerService }, { token: ReportTransformService }, { token: i0__namespace.ChangeDetectorRef }, { token: FilterQueryService }, { token: ReportsStateService }, { token: ReportConfigurationService }, { token: i1__namespace$5.Router }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
47752
- NdfReportsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\tclass=\"ndf-reports__container\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel print:hidden\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4 print:hidden\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t\t<button mat-stroked-button *ngIf=\"config?.options?.print\" class=\"print-button\" (click)=\"printAll()\">\r\n\t\t\t\t<mat-icon> print</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\t[attr.data-width]=\"config?.layout?.width || 4\"\r\n\t\t\t\t[attr.data-height]=\"config?.layout?.height || 'auto'\"\r\n\t\t\t\t[attr.data-start-column]=\"config?.layout?.columnPosition || 'auto'\"\r\n\t\t\t\t[attr.data-start-row]=\"config?.layout?.rowPosition || 'auto'\"\r\n\t\t\t\t[class.wide]=\"config?.layout?.width >= 6\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details print:hidden\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{--table-dev-height: var(--ndf-reports-table-dev-height , auto);padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:var(--ndf-reports-container-overflow, hidden);display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}@media print{.ndf-reports__container{--ndf-reports-container-overflow: visible;height:100%}}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 1rem);padding-inline-end:var(--ndf-reports-content-pie, 1rem);padding-block:var(--ndf-reports-content-pb, 0 1rem);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative;display:flex;flex-direction:column}@media print{.ndf-reports__content{--ndf-reports-content-overflow-y: visible}}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 12;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}.reports-grid__item[data-width=\"1\"]{--col-span: span 1}.reports-grid__item[data-start-column=\"1\"]{--col-start: 1}.reports-grid__item[data-start-row=\"1\"]{--row-start: 1}.reports-grid__item[data-height=\"1\"]{--row-span: 1}.reports-grid__item[data-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-start-column=\"2\"]{--col-start: 2}.reports-grid__item[data-start-row=\"2\"]{--row-start: 2}.reports-grid__item[data-height=\"2\"]{--row-span: 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-start-column=\"3\"]{--col-start: 3}.reports-grid__item[data-start-row=\"3\"]{--row-start: 3}.reports-grid__item[data-height=\"3\"]{--row-span: 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-start-column=\"4\"]{--col-start: 4}.reports-grid__item[data-start-row=\"4\"]{--row-start: 4}.reports-grid__item[data-height=\"4\"]{--row-span: 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-start-column=\"5\"]{--col-start: 5}.reports-grid__item[data-start-row=\"5\"]{--row-start: 5}.reports-grid__item[data-height=\"5\"]{--row-span: 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-start-column=\"6\"]{--col-start: 6}.reports-grid__item[data-start-row=\"6\"]{--row-start: 6}.reports-grid__item[data-height=\"6\"]{--row-span: 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-start-column=\"7\"]{--col-start: 7}.reports-grid__item[data-start-row=\"7\"]{--row-start: 7}.reports-grid__item[data-height=\"7\"]{--row-span: 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-start-column=\"8\"]{--col-start: 8}.reports-grid__item[data-start-row=\"8\"]{--row-start: 8}.reports-grid__item[data-height=\"8\"]{--row-span: 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-start-column=\"9\"]{--col-start: 9}.reports-grid__item[data-start-row=\"9\"]{--row-start: 9}.reports-grid__item[data-height=\"9\"]{--row-span: 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-start-column=\"10\"]{--col-start: 10}.reports-grid__item[data-start-row=\"10\"]{--row-start: 10}.reports-grid__item[data-height=\"10\"]{--row-span: 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-start-column=\"11\"]{--col-start: 11}.reports-grid__item[data-start-row=\"11\"]{--row-start: 11}.reports-grid__item[data-height=\"11\"]{--row-span: 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}.reports-grid__item[data-start-column=\"12\"]{--col-start: 12}.reports-grid__item[data-start-row=\"12\"]{--row-start: 12}.reports-grid__item[data-height=\"12\"]{--row-span: 12}@media screen{.reports-grid__item{grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--row-start, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 9mm;--rg-columns: repeat(2, 1fr)}.reports-grid__item{--col-start: auto;--col-span: span 1;border:1px solid #f5f5f5;border-radius:var(--cp-radius, 1rem);page-break-inside:avoid;break-inside:avoid-page}}@media screen and (max-width: 1199px){.reports-grid__item[data-width=\"1\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"2\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"3\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"4\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"5\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"6\"]{--col-start: auto;--col-span: span 6}.reports-grid__item.wide{--col-start: 1;--col-span: -1}}@media screen and (max-width: 767px){.reports-grid__item[data-width]{--col-start: 1;--col-span: -1}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1__namespace$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i3__namespace$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4__namespace.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4__namespace$1.AsyncPipe, "translate": i1__namespace.TranslatePipe }, animations: [slideAnimation] });
47833
+ NdfReportsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfReportsComponent, selector: "app-ndf-reports", inputs: { jsonEditorEnabled: "jsonEditorEnabled", reportsKey: "reportsKey", navigateRoute: "navigateRoute", config: "config" }, outputs: { onQueryChange: "onQueryChange" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-reports" }, viewQueries: [{ propertyName: "fluidDirective", first: true, predicate: FluidHeightDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<div\r\n\t*ngIf=\"reportsData$ | async as reports\"\r\n\tclass=\"ndf-reports__container\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tndfFluidHeight\r\n>\r\n\t<div class=\"ndf-reports__panel print:hidden\" *ngIf=\"!!filtersConfig?.fields?.length\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig?.fields\"\r\n\t\t\t[aggregations]=\"aggregations\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\tclass=\"ndf-reports__filters\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\r\n\t<div class=\"ndf-reports__content\" (scrolled)=\"onContentScroll($event)\">\r\n\t\t<div class=\"ndf-reports__header flex pt-4 print:hidden\">\r\n\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<app-editor-button\r\n\t\t\t\t*ngIf=\"jsonEditorEnabled && reportsKey\"\r\n\t\t\t\t[key]=\"reportsKey\"\r\n\t\t\t\t[type]=\"editorType\"\r\n\t\t\t></app-editor-button>\r\n\t\t\t<button mat-stroked-button *ngIf=\"config?.options?.print\" class=\"print-button\" (click)=\"printAll()\">\r\n\t\t\t\t<mat-icon> print</mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<mat-spinner *ngIf=\"isLoadingResult\" class=\"mt-5 mx-auto\" [diameter]=\"48\"></mat-spinner>\r\n\r\n\t\t<div class=\"reports-grid\" *ngIf=\"!isLoadingResult\">\r\n\t\t\t<app-ndf-report\r\n\t\t\t\t*ngFor=\"let config of reportConfig.items; trackBy: trackByFn\"\r\n\t\t\t\t[config]=\"config\"\r\n\t\t\t\t[data]=\"reports?.response\"\r\n\t\t\t\t[criteria]=\"filtersParams$ | async\"\r\n\t\t\t\t[direction]=\"direction\"\r\n\t\t\t\t[attr.data-width]=\"config?.layout?.width || 4\"\r\n\t\t\t\t[attr.data-height]=\"config?.layout?.height || 'auto'\"\r\n\t\t\t\t[attr.data-start-column]=\"config?.layout?.columnPosition || 'auto'\"\r\n\t\t\t\t[attr.data-start-row]=\"config?.layout?.rowPosition || 'auto'\"\r\n\t\t\t\t[class.wide]=\"config?.layout?.width >= 6\"\r\n\t\t\t\tclass=\"reports-grid__item {{ config?.layout?.styleClass }} \"\r\n\t\t\t\t(onNavigate)=\"onNavigate($event)\"\r\n\t\t\t\t(onOpen)=\"openReportDetails($event, config)\"\r\n\t\t\t></app-ndf-report>\r\n\t\t</div>\r\n\t</div>\r\n\t<div\r\n\t\tclass=\"ndf-reports__details print:hidden\"\r\n\t\t[class.opened]=\"showDetails\"\r\n\t\t[@slideInOut]=\"showDetails ? 'open' : 'closed'\"\r\n\t\t(@slideInOut.done)=\"onDetailsAnimationEnd($event)\"\r\n\t>\r\n\t\t<app-ndf-table\r\n\t\t\t*ngIf=\"reportDetails$ | async as report\"\r\n\t\t\t[config]=\"report.config\"\r\n\t\t\t[activeQuery]=\"activeFiltersQuery$ | async\"\r\n\t\t\t[customCriteria]=\"filtersParams$ | async\"\r\n\t\t>\r\n\t\t\t<ng-template searchTableTemplate>\r\n\t\t\t\t<div class=\"ndf-reports__details__header flex gap-2\">\r\n\t\t\t\t\t<button mat-stroked-button class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button mat-stroked-button class=\"close-button\" (click)=\"closeDetailsPanel()\">\r\n\t\t\t\t\t\t<mat-icon> close</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<h3>\r\n\t\t\t\t\t{{ report.label | translate }}\r\n\t\t\t\t</h3>\r\n\t\t\t</ng-template>\r\n\t\t</app-ndf-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{--table-dev-height: var(--ndf-reports-table-dev-height, auto);padding-inline:var(--ndf-reports-inline-padding, 0);padding-block:var(--ndf-reports-block-padding, .5rem 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-reports-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host:before,:host:after{box-sizing:border-box}:host[dir=ltr]{--ndf-reports-panel-translateX: -100%;--ndf-reports-details-translateX: 100%}.ndf-reports__header{background-color:var(--ndf-reports-background, #fff);flex-direction:var(--ndf-reports-header-direction, row);justify-content:var(--ndf-reports-header-justify, space-between);align-items:var(--ndf-reports-header-items, center);padding-inline:var(--ndf-reports-header-padding-inline, .5rem);padding-block:var(--ndf-reports-header-padding-block, 0 .5rem);position:var(--ndf-reports-header-position, sticky);top:0;z-index:1}.ndf-reports__header__actions{justify-content:var(--ndf-reports-actions-justify, flex-end)}.ndf-reports__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-reports__container{--panel-width: var(--ndf-reports-panel-width, 18rem);position:relative;overflow:var(--ndf-reports-container-overflow, hidden);display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-reports-height, calc(var(--ndf-fluid-height) - calc(var(--ndf-reports-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-reports__container.panel-opened{--ndf-details-margin: var(--panel-width);--ndf-reports-panel-translateX: 0;--ndf-reports-content-margin: var(--panel-width)}@media print{.ndf-reports__container{--ndf-reports-container-overflow: visible;height:100%}}.ndf-reports__panel,.ndf-reports__content .ndf-reports__details{overflow:auto;transition:all .2s}.ndf-reports__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-reports-panel-translateX, 100%));padding-inline:var(--ndf-reports-panel-inline-padding, .5rem);padding-block:var(--ndf-reports-panel-block-padding, .5rem);background:var(--ndf-reports-panel-background, #fff);z-index:1}.ndf-reports__content{flex-grow:1;padding-inline-start:var(--ndf-reports-content-margin, 1rem);padding-inline-end:var(--ndf-reports-content-pie, 1rem);padding-block:var(--ndf-reports-content-pb, 0 1rem);overflow-y:var(--ndf-reports-content-overflow-y, auto);position:relative;display:flex;flex-direction:column}@media print{.ndf-reports__content{--ndf-reports-content-overflow-y: visible}}.ndf-reports__details{position:absolute;inset-inline-end:0;width:calc(100% - var(--ndf-details-margin, 0px));height:100%;transform:translate(var(--ndf-reports-details-translateX, -100%));padding-inline:var(--ndf-reports-details-inline-padding, 0rem);flex-grow:1;padding-block:var(--ndf-reports-details-block-padding, 0rem);background:var(--ndf-reports-details-background, #fff);z-index:1;transition:all .2s}.reports-grid{--grid-columns: 12;--column-width: calc(100% / var(--grid-columns));display:grid;grid-gap:var(--reports-grid-gap, 1.5rem);gap:var(--reports-grid-gap, 1.5rem);grid-template-columns:var(--rg-columns, repeat(var(--grid-columns), 1fr));margin-block:var(--reports-grid-margin-block, 1.25rem 0);padding-inline:var(--reports-grid-padding-inline, .5rem)}.reports-grid__item{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0;text-align:center;vertical-align:middle}.reports-grid__item[data-width=\"1\"]{--col-span: span 1}.reports-grid__item[data-start-column=\"1\"]{--col-start: 1}.reports-grid__item[data-start-row=\"1\"]{--row-start: 1}.reports-grid__item[data-height=\"1\"]{--row-span: 1}.reports-grid__item[data-width=\"2\"]{--col-span: span 2}.reports-grid__item[data-start-column=\"2\"]{--col-start: 2}.reports-grid__item[data-start-row=\"2\"]{--row-start: 2}.reports-grid__item[data-height=\"2\"]{--row-span: 2}.reports-grid__item[data-width=\"3\"]{--col-span: span 3}.reports-grid__item[data-start-column=\"3\"]{--col-start: 3}.reports-grid__item[data-start-row=\"3\"]{--row-start: 3}.reports-grid__item[data-height=\"3\"]{--row-span: 3}.reports-grid__item[data-width=\"4\"]{--col-span: span 4}.reports-grid__item[data-start-column=\"4\"]{--col-start: 4}.reports-grid__item[data-start-row=\"4\"]{--row-start: 4}.reports-grid__item[data-height=\"4\"]{--row-span: 4}.reports-grid__item[data-width=\"5\"]{--col-span: span 5}.reports-grid__item[data-start-column=\"5\"]{--col-start: 5}.reports-grid__item[data-start-row=\"5\"]{--row-start: 5}.reports-grid__item[data-height=\"5\"]{--row-span: 5}.reports-grid__item[data-width=\"6\"]{--col-span: span 6}.reports-grid__item[data-start-column=\"6\"]{--col-start: 6}.reports-grid__item[data-start-row=\"6\"]{--row-start: 6}.reports-grid__item[data-height=\"6\"]{--row-span: 6}.reports-grid__item[data-width=\"7\"]{--col-span: span 7}.reports-grid__item[data-start-column=\"7\"]{--col-start: 7}.reports-grid__item[data-start-row=\"7\"]{--row-start: 7}.reports-grid__item[data-height=\"7\"]{--row-span: 7}.reports-grid__item[data-width=\"8\"]{--col-span: span 8}.reports-grid__item[data-start-column=\"8\"]{--col-start: 8}.reports-grid__item[data-start-row=\"8\"]{--row-start: 8}.reports-grid__item[data-height=\"8\"]{--row-span: 8}.reports-grid__item[data-width=\"9\"]{--col-span: span 9}.reports-grid__item[data-start-column=\"9\"]{--col-start: 9}.reports-grid__item[data-start-row=\"9\"]{--row-start: 9}.reports-grid__item[data-height=\"9\"]{--row-span: 9}.reports-grid__item[data-width=\"10\"]{--col-span: span 10}.reports-grid__item[data-start-column=\"10\"]{--col-start: 10}.reports-grid__item[data-start-row=\"10\"]{--row-start: 10}.reports-grid__item[data-height=\"10\"]{--row-span: 10}.reports-grid__item[data-width=\"11\"]{--col-span: span 11}.reports-grid__item[data-start-column=\"11\"]{--col-start: 11}.reports-grid__item[data-start-row=\"11\"]{--row-start: 11}.reports-grid__item[data-height=\"11\"]{--row-span: 11}.reports-grid__item[data-width=\"12\"]{--col-span: span 12}.reports-grid__item[data-start-column=\"12\"]{--col-start: 12}.reports-grid__item[data-start-row=\"12\"]{--row-start: 12}.reports-grid__item[data-height=\"12\"]{--row-span: 12}@media screen{.reports-grid__item{grid-column:var(--col-start, auto)/var(--col-span, span var(--grid-column, 2));grid-row:var(--row-start, auto)/span var(--row-span, 1);grid-template-rows:subgrid}}@media print{.reports-grid{--reports-grid-gap: 11mm;--reports-grid-margin-top: 9mm;--rg-columns: repeat(2, 1fr)}.reports-grid__item{--col-start: auto;--col-span: span 1;border:1px solid #f5f5f5;border-radius:var(--cp-radius, 1rem);page-break-inside:avoid;break-inside:avoid-page}}@media screen and (max-width: 1199px){.reports-grid__item[data-width=\"1\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"2\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"3\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"4\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"5\"]{--col-start: auto;--col-span: span 6}.reports-grid__item[data-width=\"6\"]{--col-start: auto;--col-span: span 6}.reports-grid__item.wide{--col-start: 1;--col-span: -1}}@media screen and (max-width: 767px){.reports-grid__item[data-width]{--col-start: 1;--col-span: -1}}\n"], components: [{ type: FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i1__namespace$c.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: EditorButtonComponent, selector: "app-editor-button", inputs: ["type", "key"] }, { type: i3__namespace$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: NdfReportComponent, selector: "app-ndf-report", inputs: ["config", "direction", "data", "criteria"], outputs: ["onNavigate", "onOpen"] }, { type: NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }], directives: [{ type: i4__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "cssVar", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i4__namespace.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: ScrollableDivDirective, selector: "[scrolled]", inputs: ["scrollTop"], outputs: ["scrolled"] }, { type: i4__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: SearchTableTemplateDirective, selector: "[searchTableTemplate]" }], pipes: { "async": i4__namespace$1.AsyncPipe, "translate": i1__namespace.TranslatePipe }, animations: [slideAnimation] });
47753
47834
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportsComponent, decorators: [{
47754
47835
  type: i0.Component,
47755
47836
  args: [{
@@ -48747,6 +48828,7 @@
48747
48828
  exports.CallApiService = CallApiService;
48748
48829
  exports.CardComponent = CardComponent;
48749
48830
  exports.CardModule = CardModule;
48831
+ exports.ChartCallbacksRegisterService = ChartCallbacksRegisterService;
48750
48832
  exports.ChartComponent = ChartComponent;
48751
48833
  exports.ChartDataService = ChartDataService;
48752
48834
  exports.ChartDataTransformers = ChartDataTransformers;
@@ -49172,7 +49254,6 @@
49172
49254
  exports.departmentCacheBuster$ = departmentCacheBuster$;
49173
49255
  exports.extensionJsonsFactory = extensionJsonsFactory;
49174
49256
  exports.filterEnabled = filterEnabled;
49175
- exports.getChartsOptions = getChartsOptions;
49176
49257
  exports.getConnections = getConnections;
49177
49258
  exports.getDoughnutOptions = getDoughnutOptions;
49178
49259
  exports.getHorizontalBarOptions = getHorizontalBarOptions;