nuxeo-development-framework 5.7.8 → 5.8.0

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 +153 -73
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +2 -2
  4. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +2 -2
  5. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  6. package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -2
  7. package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +38 -0
  8. package/esm2015/lib/components/reports/ndf-reports/services/index.js +2 -1
  9. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +61 -9
  10. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +6 -6
  11. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +6 -6
  12. package/fesm2015/nuxeo-development-framework.js +145 -71
  13. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  14. package/lib/components/reports/ndf-reports/models/graph-definition.d.ts +6 -0
  15. package/lib/components/reports/ndf-reports/options/index.d.ts +0 -1
  16. package/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.d.ts +14 -0
  17. package/lib/components/reports/ndf-reports/services/index.d.ts +1 -0
  18. package/lib/components/reports/ndf-reports/services/report-config-mapper.service.d.ts +6 -1
  19. package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +1 -0
  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
@@ -22135,7 +22135,7 @@
22135
22135
  var _this = this;
22136
22136
  if (payload === void 0) { payload = {}; }
22137
22137
  if (headers === void 0) { headers = {}; }
22138
- var _a, _b, _c, _d, _e, _f, _g, _h;
22138
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
22139
22139
  this.loading = true; // internal loading
22140
22140
  this.onLoading.emit(true); // external loading
22141
22141
  var params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
@@ -22160,15 +22160,15 @@
22160
22160
  var _customPayload = {
22161
22161
  params: Object.assign(Object.assign({}, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
22162
22162
  headers: _headers,
22163
- payload: ((_d = this.customFilters) === null || _d === void 0 ? void 0 : _d.payload) || {}
22163
+ payload: ___default["default"].merge({}, ((_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.payload) || {}, ((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.payload) || {})
22164
22164
  };
22165
- if (((_e = this.requestActions) === null || _e === void 0 ? void 0 : _e.beforeSubmit) && typeof ((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) === 'string') {
22165
+ if (((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) && typeof ((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit) === 'string') {
22166
22166
  try {
22167
22167
  if (this.customUrl) {
22168
- _customPayload = Evaluator.evaluate((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit, { criteria: _customPayload }, 'payload');
22168
+ _customPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _customPayload }, 'payload');
22169
22169
  }
22170
22170
  else {
22171
- _providerPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _providerPayload }, 'payload');
22171
+ _providerPayload = Evaluator.evaluate((_j = this.requestActions) === null || _j === void 0 ? void 0 : _j.beforeSubmit, { criteria: _providerPayload }, 'payload');
22172
22172
  }
22173
22173
  }
22174
22174
  catch (e) {
@@ -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,16 @@
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;
45870
45860
  var customUrl = ___default["default"].merge({
45871
45861
  url: "/api/v1" + (_request === null || _request === void 0 ? void 0 : _request.customUrl.url),
45872
45862
  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 || {};
45863
+ }, ((_a = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _a === void 0 ? void 0 : _a.customUrl) || {}, { payload: ((_b = _detailsConfig.request) === null || _b === void 0 ? void 0 : _b.payload) || {} });
45864
+ var _headers = ((_c = _detailsConfig.request) === null || _c === void 0 ? void 0 : _c.headers) || _request.headers || {};
45865
+ var _queryParam = ((_d = _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.params) || _request.params || {};
45876
45866
  var _sortingBy = ___default["default"].merge({
45877
45867
  sortBy: 'dc:modified',
45878
45868
  sortOrder: 'desc'
@@ -45902,7 +45892,7 @@
45902
45892
  queryParam: _queryParam,
45903
45893
  quickFilters: _detailsConfig.quickFilters,
45904
45894
  sortingBy: _sortingBy,
45905
- requestActions: (_d = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _d === void 0 ? void 0 : _d.actions
45895
+ requestActions: (_e = _detailsConfig === null || _detailsConfig === void 0 ? void 0 : _detailsConfig.request) === null || _e === void 0 ? void 0 : _e.actions
45906
45896
  };
45907
45897
  return data;
45908
45898
  }
@@ -45977,9 +45967,52 @@
45977
45967
  return newObject;
45978
45968
  }
45979
45969
 
45970
+ var ChartCallbacksRegisterService = /** @class */ (function () {
45971
+ function ChartCallbacksRegisterService() {
45972
+ this._callbacks = new Map();
45973
+ }
45974
+ ChartCallbacksRegisterService.prototype.register = function (key, callback) {
45975
+ var _this = this;
45976
+ if (typeof key === 'object') {
45977
+ Object.entries(key).forEach(function (_a) {
45978
+ var _b = __read(_a, 2), k = _b[0], fn = _b[1];
45979
+ return _this._callbacks.set(k, fn);
45980
+ });
45981
+ }
45982
+ else if (typeof key === 'string' && callback) {
45983
+ this._callbacks.set(key, callback);
45984
+ }
45985
+ };
45986
+ ChartCallbacksRegisterService.prototype.getAll = function () {
45987
+ return this._callbacks;
45988
+ };
45989
+ ChartCallbacksRegisterService.prototype.has = function (key) {
45990
+ return this._callbacks.has(key);
45991
+ };
45992
+ ChartCallbacksRegisterService.prototype.get = function (key) {
45993
+ var fn = this._callbacks.get(key);
45994
+ if (!fn) {
45995
+ console.error("Callback with key '" + key + "' not found.");
45996
+ }
45997
+ return fn;
45998
+ };
45999
+ ChartCallbacksRegisterService.prototype.delete = function (key) {
46000
+ return this._callbacks.delete(key);
46001
+ };
46002
+ return ChartCallbacksRegisterService;
46003
+ }());
46004
+ ChartCallbacksRegisterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
46005
+ ChartCallbacksRegisterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, providedIn: 'root' });
46006
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ChartCallbacksRegisterService, decorators: [{
46007
+ type: i0.Injectable,
46008
+ args: [{ providedIn: 'root' }]
46009
+ }] });
46010
+
45980
46011
  var ReportConfigMapperService = /** @class */ (function () {
45981
- function ReportConfigMapperService(_chartPluginsRegistry) {
46012
+ function ReportConfigMapperService(_chartPluginsRegistry, _chartPluginsCallbacks, _translateService) {
45982
46013
  this._chartPluginsRegistry = _chartPluginsRegistry;
46014
+ this._chartPluginsCallbacks = _chartPluginsCallbacks;
46015
+ this._translateService = _translateService;
45983
46016
  }
45984
46017
  /**
45985
46018
  * Prepares a graph chart configuration by converting plugin names to actual plugin objects
@@ -45987,8 +46020,28 @@
45987
46020
  * @returns The prepared graph chart with plugin objects
45988
46021
  */
45989
46022
  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) });
46023
+ 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"]);
46024
+ var chart = Object.assign(Object.assign({}, rest), { overrides: {
46025
+ verticalBar: this._getChartOptions({
46026
+ type: 'bar',
46027
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
46028
+ direction: 'vertical',
46029
+ callbacks: callbacks
46030
+ }),
46031
+ horizontalBar: this._getChartOptions({
46032
+ type: 'bar',
46033
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.verticalBar,
46034
+ direction: 'horizontal',
46035
+ callbacks: callbacks
46036
+ }),
46037
+ doughnut: this._getChartOptions({
46038
+ type: 'doughnut',
46039
+ options: overrides === null || overrides === void 0 ? void 0 : overrides.doughnut,
46040
+ callbacks: callbacks
46041
+ }),
46042
+ line: this._getChartOptions({ type: 'line', options: overrides === null || overrides === void 0 ? void 0 : overrides.line, callbacks: callbacks }),
46043
+ pie: this._getChartOptions({ type: 'pie', options: overrides === null || overrides === void 0 ? void 0 : overrides.pie, callbacks: callbacks })
46044
+ }, options: this._getChartOptions({ type: config.chart.type, options: options, direction: direction, callbacks: callbacks }) });
45992
46045
  if (Array.isArray(plugins) && plugins.length > 0) {
45993
46046
  chart.plugins = this._preparePlugins(plugins);
45994
46047
  }
@@ -46044,8 +46097,8 @@
46044
46097
  return acc;
46045
46098
  }, []);
46046
46099
  };
46047
- ReportConfigMapperService.prototype._getChartOptions = function (type, options, direction) {
46048
- if (direction === void 0) { direction = 'horizontal'; }
46100
+ ReportConfigMapperService.prototype._getChartOptions = function (_b) {
46101
+ var type = _b.type, options = _b.options, _c = _b.direction, direction = _c === void 0 ? 'horizontal' : _c, callbacks = _b.callbacks;
46049
46102
  var _a;
46050
46103
  var _optionsMap = {
46051
46104
  verticalBar: getVerticalBarOptions,
@@ -46055,22 +46108,49 @@
46055
46108
  pie: getPieOptions
46056
46109
  };
46057
46110
  var key = type === 'bar' ? direction + "Bar" : type;
46058
- return ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
46111
+ var _options = ((_a = _optionsMap[key]) === null || _a === void 0 ? void 0 : _a.call(_optionsMap, options)) || {};
46112
+ if (Array.isArray(callbacks) && callbacks.length > 0) {
46113
+ var _callbacks = this._prepareCallbacks(callbacks, key);
46114
+ if (_callbacks === null || _callbacks === void 0 ? void 0 : _callbacks.plugins) {
46115
+ ___default["default"].merge(_options, _callbacks);
46116
+ }
46117
+ }
46118
+ return _options;
46059
46119
  };
46060
46120
  ReportConfigMapperService.prototype._prepareColors = function (colors) {
46061
46121
  var _colors = getCssColors(colors || []);
46062
46122
  return __spreadArray(__spreadArray([], __read(_colors)), __read(getColors()));
46063
46123
  };
46124
+ ReportConfigMapperService.prototype._prepareCallbacks = function (callbacks, type) {
46125
+ var _this = this;
46126
+ var data = {};
46127
+ callbacks
46128
+ .filter(function (call) { return !!call.path && !!call.callback; })
46129
+ .forEach(function (callback) {
46130
+ try {
46131
+ var fn = Evaluator.evaluate(callback.callback, {
46132
+ type: type,
46133
+ translate: _this._translateService,
46134
+ register: _this._chartPluginsCallbacks,
46135
+ }, 'callback');
46136
+ if (fn && typeof fn === 'function') {
46137
+ ___default["default"].set(data, callback.path, fn);
46138
+ }
46139
+ }
46140
+ catch (e) { }
46141
+ });
46142
+ return { plugins: data };
46143
+ };
46064
46144
  return ReportConfigMapperService;
46065
46145
  }());
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 });
46146
+ 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
46147
  ReportConfigMapperService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, providedIn: 'root' });
46068
46148
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ReportConfigMapperService, decorators: [{
46069
46149
  type: i0.Injectable,
46070
46150
  args: [{
46071
46151
  providedIn: 'root'
46072
46152
  }]
46073
- }], ctorParameters: function () { return [{ type: ChartPluginsRegistry }]; } });
46153
+ }], ctorParameters: function () { return [{ type: ChartPluginsRegistry }, { type: ChartCallbacksRegisterService }, { type: i1__namespace.TranslateService }]; } });
46074
46154
 
46075
46155
  var CustomReportsRegistry = /** @class */ (function () {
46076
46156
  function CustomReportsRegistry(_factoryResolver) {
@@ -47337,7 +47417,7 @@
47337
47417
  return NdfReportComponent;
47338
47418
  }(DestroySubject));
47339
47419
  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 });
47420
+ 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)}.report-container{min-width:0}@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
47421
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportComponent, decorators: [{
47342
47422
  type: i0.Component,
47343
47423
  args: [{
@@ -47749,7 +47829,7 @@
47749
47829
  return NdfReportsComponent;
47750
47830
  }(DestroySubject));
47751
47831
  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] });
47832
+ 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
47833
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NdfReportsComponent, decorators: [{
47754
47834
  type: i0.Component,
47755
47835
  args: [{
@@ -48747,6 +48827,7 @@
48747
48827
  exports.CallApiService = CallApiService;
48748
48828
  exports.CardComponent = CardComponent;
48749
48829
  exports.CardModule = CardModule;
48830
+ exports.ChartCallbacksRegisterService = ChartCallbacksRegisterService;
48750
48831
  exports.ChartComponent = ChartComponent;
48751
48832
  exports.ChartDataService = ChartDataService;
48752
48833
  exports.ChartDataTransformers = ChartDataTransformers;
@@ -49172,7 +49253,6 @@
49172
49253
  exports.departmentCacheBuster$ = departmentCacheBuster$;
49173
49254
  exports.extensionJsonsFactory = extensionJsonsFactory;
49174
49255
  exports.filterEnabled = filterEnabled;
49175
- exports.getChartsOptions = getChartsOptions;
49176
49256
  exports.getConnections = getConnections;
49177
49257
  exports.getDoughnutOptions = getDoughnutOptions;
49178
49258
  exports.getHorizontalBarOptions = getHorizontalBarOptions;