@datorama/core 22.1.1-rc.2 → 22.2.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 (59) hide show
  1. package/bundle.scss +13 -13
  2. package/bundles/datorama-core.umd.js +155 -125
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +15 -15
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.d.ts +0 -1
  7. package/datorama-core.metadata.json +1 -1
  8. package/esm2015/datorama-core.js +1 -2
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  10. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
  11. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +11 -6
  12. package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +3 -1
  13. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +12 -4
  14. package/esm2015/lib/grid-v2/grid-filter/grid-filter.types.js +3 -1
  15. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -4
  16. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  17. package/esm2015/lib/grid-v2/grid-store/grid.query.js +13 -14
  18. package/esm2015/lib/grid-v2/grid-store/grid.service.js +42 -21
  19. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -7
  20. package/esm2015/lib/icon/icon.types.js +1 -1
  21. package/esm2015/lib/progress-bar/progress-bar.component.js +36 -16
  22. package/esm2015/lib/rich-text/rich-text.directive.js +33 -15
  23. package/esm2015/lib/select/select.component.js +10 -5
  24. package/esm2015/lib/version.js +2 -2
  25. package/esm5/datorama-core.js +1 -2
  26. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  27. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  28. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +11 -6
  29. package/esm5/lib/grid-v2/grid-filter/filter-validator.js +3 -1
  30. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +12 -4
  31. package/esm5/lib/grid-v2/grid-filter/grid-filter.types.js +3 -1
  32. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -4
  33. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  34. package/esm5/lib/grid-v2/grid-store/grid.query.js +13 -14
  35. package/esm5/lib/grid-v2/grid-store/grid.service.js +43 -21
  36. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -13
  37. package/esm5/lib/icon/icon.types.js +1 -1
  38. package/esm5/lib/progress-bar/progress-bar.component.js +36 -16
  39. package/esm5/lib/rich-text/rich-text.directive.js +34 -16
  40. package/esm5/lib/select/select.component.js +10 -5
  41. package/esm5/lib/version.js +2 -2
  42. package/fesm2015/datorama-core.js +154 -117
  43. package/fesm2015/datorama-core.js.map +1 -1
  44. package/fesm5/datorama-core.js +156 -125
  45. package/fesm5/datorama-core.js.map +1 -1
  46. package/i18n/locale-en_US.json +2 -0
  47. package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -2
  48. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +1 -0
  49. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +3 -1
  50. package/lib/grid-v2/grid-settings.d.ts +2 -2
  51. package/lib/grid-v2/grid-store/grid.service.d.ts +2 -1
  52. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  53. package/lib/icon/icon.types.d.ts +1 -1
  54. package/lib/progress-bar/progress-bar.component.d.ts +8 -2
  55. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  56. package/package.json +1 -1
  57. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  58. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  59. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -8430,8 +8430,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8430
8430
  DatoSelectComponent.prototype.writeValue = function (activeOptions) {
8431
8431
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
8432
8432
  if (this.options) {
8433
+ var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
8433
8434
  this.markAsActive(this._model, { deselectAll: true });
8434
- this.limitSelectedTo && this.updateDisabledState();
8435
+ overTheLimit && this.updateDisabledState();
8435
8436
  }
8436
8437
  /** For later updates */
8437
8438
  this.cdr.markForCheck();
@@ -8468,7 +8469,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8468
8469
  */
8469
8470
  if (this.hasValue && this._initialOpen) {
8470
8471
  this.markAsActive(this._model);
8471
- if (this.limitSelectedTo) {
8472
+ if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
8472
8473
  this.updateDisabledState();
8473
8474
  }
8474
8475
  this._initialOpen = false;
@@ -8557,6 +8558,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8557
8558
  };
8558
8559
  DatoSelectComponent.prototype.removeOption = function (option) {
8559
8560
  var _this = this;
8561
+ var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
8560
8562
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
8561
8563
  var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
8562
8564
  /**
@@ -8566,7 +8568,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8566
8568
  if (optionToRemove) {
8567
8569
  optionToRemove.active = false;
8568
8570
  }
8569
- this.limitSelectedTo && this.updateDisabledState();
8571
+ updateDisabled && this.updateDisabledState();
8570
8572
  this.onChange(this._model);
8571
8573
  this.cdr.markForCheck();
8572
8574
  if (this.datoOverlay.attached) {
@@ -8916,6 +8918,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8916
8918
  if (!datoOption) {
8917
8919
  return;
8918
8920
  }
8921
+ var modelLength = this._model.length;
8922
+ var updateDisabled = this.limitSelectedTo &&
8923
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
8919
8924
  datoOption.active = !datoOption.active;
8920
8925
  var rawOption = datoOption.option;
8921
8926
  if (datoOption.active) {
@@ -8924,7 +8929,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8924
8929
  else {
8925
8930
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
8926
8931
  }
8927
- this.limitSelectedTo && this.updateDisabledState();
8932
+ updateDisabled && this.updateDisabledState();
8928
8933
  this.onChange(this._model);
8929
8934
  this.cdr.markForCheck();
8930
8935
  this.datoOverlay.scheduleUpdate();
@@ -11379,20 +11384,17 @@ var GridQuery = /** @class */ (function (_super) {
11379
11384
  if (this.gridRef.gridOptions.pivotMode) {
11380
11385
  var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId = _a.colId;
11381
11386
  var column = this.api.columns.getColumn(colId);
11382
- var pivotedColumn = this.getSecondaryColumn(colId);
11383
- if (pivotedColumn) {
11384
- var uniquePivotParents = uniq(this.api.columns.getSecondaryColumns().map(function (column) { return column.getParent(); }));
11385
- var secondaryColumn = this.getSecondaryColumn(pivotedColumn.getColId());
11386
- var pivotColIndex = uniquePivotParents.indexOf(secondaryColumn.getParent());
11387
- return { colId: getColField(pivotedColumn.getColDef()), sort: sort, pivotColIndex: pivotColIndex };
11387
+ if (column) {
11388
+ return { colId: colId, sort: sort, colField: getColField(column.getColDef()) };
11388
11389
  }
11389
- else if (column) {
11390
- return { colId: getColField(column.getColDef()), sort: sort };
11390
+ else {
11391
+ var secondaryColumn = this.getSecondaryColumn(colId);
11392
+ if (secondaryColumn) {
11393
+ return { colId: colId, sort: sort, colField: getColField(secondaryColumn.getColDef()) };
11394
+ }
11391
11395
  }
11392
11396
  }
11393
- else {
11394
- return this.api.grid.getSortModel().pop();
11395
- }
11397
+ return this.api.grid.getSortModel().pop();
11396
11398
  };
11397
11399
  GridQuery.prototype.selectSort = function () {
11398
11400
  return this.select(function (state) { return state.settings.sort; });
@@ -11489,7 +11491,10 @@ var GridQuery = /** @class */ (function (_super) {
11489
11491
  };
11490
11492
  GridQuery.prototype.getSecondaryColumn = function (colId) {
11491
11493
  var secondaryColumns = this.api.columns.getSecondaryColumns();
11492
- return secondaryColumns && secondaryColumns.find(function (col) { return col.getColId() === colId; });
11494
+ if (secondaryColumns) {
11495
+ return secondaryColumns.find(function (col) { return col.getColId() === colId; });
11496
+ }
11497
+ return null;
11493
11498
  };
11494
11499
  GridQuery.prototype.filterCheckboxSelectionColumn = function (columns) {
11495
11500
  return columns.filter(function (column) { return !column.getUserProvidedColDef() || !column.getUserProvidedColDef().checkboxSelection; });
@@ -11541,6 +11546,8 @@ var DatoFilterConditions;
11541
11546
  DatoFilterConditions["NOT_IN_LIST"] = "NOT_IN_LIST";
11542
11547
  DatoFilterConditions["IS_EMPTY"] = "IS_EMPTY";
11543
11548
  DatoFilterConditions["NOT_EMPTY"] = "NOT_EMPTY";
11549
+ DatoFilterConditions["IS_NULL"] = "IS_NULL";
11550
+ DatoFilterConditions["NOT_NULL"] = "NOT_NULL";
11544
11551
  })(DatoFilterConditions || (DatoFilterConditions = {}));
11545
11552
  var DatoGridDateFilterOptions = [
11546
11553
  DatoFilterConditions.IN_RANGE,
@@ -11624,8 +11631,10 @@ function validateNumberCondition(unparsedRowValue, _a, filterKey) {
11624
11631
  case DatoFilterConditions.IN_RANGE:
11625
11632
  return rowValue >= filterValue && rowValue <= parseFloat(rangeEnd);
11626
11633
  case DatoFilterConditions.IS_EMPTY:
11634
+ case DatoFilterConditions.IS_NULL:
11627
11635
  return isNil(rowValue);
11628
11636
  case DatoFilterConditions.NOT_EMPTY:
11637
+ case DatoFilterConditions.NOT_NULL:
11629
11638
  return !isNil(rowValue);
11630
11639
  }
11631
11640
  }
@@ -11811,7 +11820,7 @@ function toolbarActionToContextAction(params) {
11811
11820
  return contextActions;
11812
11821
  }
11813
11822
 
11814
- var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
11823
+ var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
11815
11824
 
11816
11825
  var defaultEditableColumnRenderer = function (params) {
11817
11826
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -12626,10 +12635,11 @@ var DatoGridFilterComponent = /** @class */ (function () {
12626
12635
  var _a;
12627
12636
  var _this = this;
12628
12637
  var _b = this.popover.data, gridService = _b.gridService, gridQuery = _b.gridQuery;
12629
- var _c = this.colDef, filter = _c.filter, _d = _c.filtersConfig, filtersConfig = _d === void 0 ? {} : _d, pivotValueColumn = _c.pivotValueColumn, pivotKeys = _c.pivotKeys;
12638
+ var _c = this.colDef, filter = _c.filter, pivotValueColumn = _c.pivotValueColumn, pivotKeys = _c.pivotKeys;
12630
12639
  var colDefs = gridQuery.api.columns.getAllColumns().map(function (column) { return column.getColDef(); });
12631
12640
  this.colField = getColField(this.colDef);
12632
12641
  var colDef = colDefs.find(function (colDef) { return colDef.field === _this.colField; });
12642
+ var filtersConfig = colDef.filtersConfig || this.colDef.filtersConfig || {};
12633
12643
  var colFilter = filter || colDef.filter;
12634
12644
  var filterOptions = DatoGridFilterOptionsMap[colFilter];
12635
12645
  this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
@@ -12651,7 +12661,11 @@ var DatoGridFilterComponent = /** @class */ (function () {
12651
12661
  if (this.filterSections.Conditional) {
12652
12662
  var filterConditions = filterOptions || DatoGridStringFilterOptions;
12653
12663
  if (filtersConfig.showEmptyConditions) {
12654
- filterConditions = __spread(filterConditions, [DatoFilterConditions.IS_EMPTY, DatoFilterConditions.NOT_EMPTY]);
12664
+ var emptyConditions = [DatoFilterConditions.IS_EMPTY, DatoFilterConditions.NOT_EMPTY];
12665
+ if (this.filterType === DatoGridFilterTypes.Number) {
12666
+ emptyConditions = [DatoFilterConditions.IS_NULL, DatoFilterConditions.NOT_NULL];
12667
+ }
12668
+ filterConditions = __spread(filterConditions, emptyConditions);
12655
12669
  }
12656
12670
  this.conditionalFilterOptions = filterConditions.map(function (operand, id) { return ({
12657
12671
  id: id,
@@ -13042,7 +13056,10 @@ var DatoGridFilterComponent = /** @class */ (function () {
13042
13056
  valueControl.updateValueAndValidity();
13043
13057
  };
13044
13058
  DatoGridFilterComponent.prototype.isEmptyOperand = function (operand) {
13045
- return operand === DatoFilterConditions.IS_EMPTY || operand === DatoFilterConditions.NOT_EMPTY;
13059
+ return (operand === DatoFilterConditions.IS_EMPTY ||
13060
+ operand === DatoFilterConditions.NOT_EMPTY ||
13061
+ operand === DatoFilterConditions.IS_NULL ||
13062
+ operand === DatoFilterConditions.NOT_NULL);
13046
13063
  };
13047
13064
  DatoGridFilterComponent.prototype.isStringArray = function (value) {
13048
13065
  return isString(value[0]);
@@ -14189,11 +14206,13 @@ var GridService = /** @class */ (function () {
14189
14206
  var filter = filters_1_1.value.filter;
14190
14207
  var column = this.api.columns.getColumn(filter.colId);
14191
14208
  if (column) {
14192
- this.setColumnFilter(column, filter);
14209
+ this.setColumnFilter(column, filter, false);
14193
14210
  }
14194
14211
  else {
14195
- var pivotColumn = this.gridQuery.getSecondaryColumn(filter.colId);
14196
- this.setColumnFilter(pivotColumn, filter);
14212
+ var secondaryColumn = this.gridQuery.getSecondaryColumn(filter.colId);
14213
+ if (secondaryColumn) {
14214
+ this.setColumnFilter(secondaryColumn, filter, false);
14215
+ }
14197
14216
  }
14198
14217
  }
14199
14218
  }
@@ -14204,7 +14223,23 @@ var GridService = /** @class */ (function () {
14204
14223
  }
14205
14224
  finally { if (e_2) throw e_2.error; }
14206
14225
  }
14207
- this.notifyFilterUpdate();
14226
+ this.api.grid.onFilterChanged();
14227
+ }
14228
+ };
14229
+ GridService.prototype.setGridSort = function (_a) {
14230
+ var colId = _a.colId, sort = _a.sort;
14231
+ if (this.api) {
14232
+ var column = this.api.columns.getColumn(colId);
14233
+ if (column) {
14234
+ column.setSort(sort);
14235
+ }
14236
+ else {
14237
+ var secondaryColumn = this.gridQuery.getSecondaryColumn(colId);
14238
+ if (secondaryColumn) {
14239
+ secondaryColumn.setSort(sort);
14240
+ }
14241
+ }
14242
+ this.api.grid.onSortChanged();
14208
14243
  }
14209
14244
  };
14210
14245
  GridService.prototype.updateFilter = function (column, filter) {
@@ -14262,8 +14297,7 @@ var GridService = /** @class */ (function () {
14262
14297
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14263
14298
  };
14264
14299
  GridService.prototype.saveSettingsToServer = function (settings) {
14265
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14266
- this.storageAPI.set(this.gridName, settings, isGlobal);
14300
+ this.storageAPI.set(this.gridName, settings);
14267
14301
  };
14268
14302
  /**
14269
14303
  * @internal used to log grid events to the platform's logging service
@@ -14670,6 +14704,13 @@ var GridService = /** @class */ (function () {
14670
14704
  column: column
14671
14705
  };
14672
14706
  }
14707
+ if (condition === DatoFilterConditions.IS_NULL || condition === DatoFilterConditions.NOT_NULL) {
14708
+ return {
14709
+ condition: DatoFilterConditions.IS_NULL,
14710
+ value: condition === DatoFilterConditions.IS_NULL ? 'true' : 'false',
14711
+ column: column
14712
+ };
14713
+ }
14673
14714
  return __assign(__assign({}, item), { column: column });
14674
14715
  })
14675
14716
  };
@@ -14733,13 +14774,12 @@ var GridService = /** @class */ (function () {
14733
14774
  if (userProvidedColDef) {
14734
14775
  colDef.filter = userProvidedColDef.filter;
14735
14776
  }
14736
- // if (colDef.pivotKeys) {
14737
- // colDef.pivotKeys = colDef.pivotKeys.map(key => {
14738
- // const parsedKey = tryParsePivotValue(key);
14739
- //
14740
- // return (parsedKey && parsedKey.value) || '';
14741
- // });
14742
- // }
14777
+ if (colDef.pivotKeys) {
14778
+ colDef.pivotKeys = colDef.pivotKeys.map(function (key) {
14779
+ var parsedKey = tryParsePivotValue(key);
14780
+ return (parsedKey && parsedKey.value) || '';
14781
+ });
14782
+ }
14743
14783
  };
14744
14784
  gridOptions.processSecondaryColGroupDef = function (colGroupDef) {
14745
14785
  if (colGroupDef.headerName) {
@@ -14764,13 +14804,12 @@ var GridService = /** @class */ (function () {
14764
14804
  else {
14765
14805
  colGroupDef.headerClass = ['empty-pivot-header'];
14766
14806
  }
14767
- // if (colGroupDef.pivotKeys) {
14768
- // colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(key => {
14769
- // const parsedKey = tryParsePivotValue(key);
14770
- //
14771
- // return (parsedKey && parsedKey.value) || '';
14772
- // });
14773
- // }
14807
+ if (colGroupDef.pivotKeys) {
14808
+ colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(function (key) {
14809
+ var parsedKey = tryParsePivotValue(key);
14810
+ return (parsedKey && parsedKey.value) || '';
14811
+ });
14812
+ }
14774
14813
  };
14775
14814
  };
14776
14815
  GridService.prototype.setPivotModeRows = function (data) {
@@ -15263,10 +15302,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15263
15302
  .pipe(switchMap(function () {
15264
15303
  _this.gridOptions = _this.normalizeOptions();
15265
15304
  agGrid.gridOptions = _this.gridOptions;
15266
- var isGlobal = _this.gridOptions.isGlobalSettings;
15267
- var settingsLoader = _this.gridOptions.saveSettings === false
15268
- ? of(null)
15269
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15305
+ var settingsLoader = _this.gridOptions.saveSettings === false ? of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15270
15306
  return combineLatest([agGrid.gridReady, settingsLoader]);
15271
15307
  }), untilDestroyed(this))
15272
15308
  .subscribe(function (_a) {
@@ -15274,6 +15310,11 @@ var DatoGridControllerComponent = /** @class */ (function () {
15274
15310
  if (!_this.gridOptions.rowData) {
15275
15311
  api.showLoadingOverlay();
15276
15312
  }
15313
+ if (!_this.gridOptions.statusBar) {
15314
+ /** Fix ag-grid bug that doesn't add ag-hidden class to the status bar, which only get fixed in later versions */
15315
+ var el = agGridEl.querySelector('.ag-status-bar');
15316
+ addClass(el, 'ag-hidden');
15317
+ }
15277
15318
  var gridApi = { grid: api, columns: columnApi };
15278
15319
  _this.gridService._setApi(gridApi, agGrid);
15279
15320
  _this.gridQuery._setApi(gridApi, agGrid);
@@ -15313,6 +15354,9 @@ var DatoGridControllerComponent = /** @class */ (function () {
15313
15354
  DatoGridControllerComponent.prototype.setGridFilters = function (filters) {
15314
15355
  this.gridService.setGridFilters(filters);
15315
15356
  };
15357
+ DatoGridControllerComponent.prototype.setGridSort = function (sort) {
15358
+ this.gridService.setGridSort(sort);
15359
+ };
15316
15360
  DatoGridControllerComponent.prototype.onFilterChanged = function () {
15317
15361
  return this.gridQuery.filterChanged();
15318
15362
  };
@@ -16226,9 +16270,6 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
16226
16270
  DatoGridPaginationV2Component.prototype.toggleGroupsState = function () {
16227
16271
  this.isExpanded ? this.gridApi.collapseAll() : this.gridApi.expandAll();
16228
16272
  this.isExpanded = !this.isExpanded;
16229
- // this.gridApi.forEachNode((node: RowNode) => {
16230
- // node.setExpanded(this.isExpanded);
16231
- // });
16232
16273
  };
16233
16274
  DatoGridPaginationV2Component.prototype.autoFitGrid = function (type) {
16234
16275
  this.gridService.fitGrid(type);
@@ -16544,18 +16585,6 @@ var DatoGridV2ToolbarComponent = /** @class */ (function () {
16544
16585
  this.registerGroupListeners();
16545
16586
  this.subscribeRowsSelectionData();
16546
16587
  };
16547
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16548
- var _this = this;
16549
- return this.gridController.gridQuery.waitForGrid(function () {
16550
- return _this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(_this));
16551
- });
16552
- };
16553
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16554
- var _this = this;
16555
- return this.gridController.gridQuery.waitForGrid(function () {
16556
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(_this));
16557
- });
16558
- };
16559
16588
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16560
16589
  if (isFunction(action.onClick)) {
16561
16590
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21031,40 +21060,6 @@ var DatoEditableHeaderModule = /** @class */ (function () {
21031
21060
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21032
21061
  */
21033
21062
 
21034
- var RichTextService = /** @class */ (function () {
21035
- function RichTextService(http, config) {
21036
- this.http = http;
21037
- this.config = config;
21038
- }
21039
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21040
- if (!this.richTextScript$) {
21041
- this.initLib(appendScriptFunc, appendStyleFunc);
21042
- }
21043
- return this.richTextScript$;
21044
- };
21045
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21046
- this.richTextScript$ = combineLatest([
21047
- this.http
21048
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21049
- .pipe(tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21050
- this.http
21051
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21052
- .pipe(tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21053
- ]).pipe(shareReplay(1));
21054
- };
21055
- RichTextService.ctorParameters = function () { return [
21056
- { type: HttpClient },
21057
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21058
- ]; };
21059
- RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21060
- RichTextService = __decorate([
21061
- Injectable({ providedIn: 'root' }),
21062
- __param(1, Inject(DATO_CORE_CONFIG)),
21063
- __metadata("design:paramtypes", [HttpClient, Object])
21064
- ], RichTextService);
21065
- return RichTextService;
21066
- }());
21067
-
21068
21063
  /**
21069
21064
  * @license
21070
21065
  * Copyright Datorama. All Rights Reserved.
@@ -21078,12 +21073,12 @@ var getTinymce = function () {
21078
21073
  var ɵ0$3 = getTinymce;
21079
21074
  var DatoRichTextDirective = /** @class */ (function (_super) {
21080
21075
  __extends(DatoRichTextDirective, _super);
21081
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21076
+ function DatoRichTextDirective(ngZone, http, host, config) {
21082
21077
  var _this = _super.call(this) || this;
21083
21078
  _this.ngZone = ngZone;
21084
- _this.richTextService = richTextService;
21085
- _this.config = config;
21079
+ _this.http = http;
21086
21080
  _this.host = host;
21081
+ _this.config = config;
21087
21082
  _this.autocompleteOptions = {};
21088
21083
  _this.forcePlainTextPasting = false;
21089
21084
  _this.format = 'html';
@@ -21117,11 +21112,28 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21117
21112
  base: this.config.paths.richText,
21118
21113
  query: ''
21119
21114
  };
21120
- this.richTextService
21121
- .getLib(appendScript, appendStyle)
21122
- .pipe(untilDestroyed(this))
21123
- .subscribe(function () {
21124
- _this.init.call(_this);
21115
+ /**
21116
+ * We support only one instance in load time
21117
+ */
21118
+ if (window.tinymce) {
21119
+ this.init.call(this);
21120
+ }
21121
+ else {
21122
+ this.loadLib().subscribe(function (lib) {
21123
+ appendScript(lib, 'rich-text-editor');
21124
+ _this.init.call(_this);
21125
+ _this.loadAutoCompleteStyle();
21126
+ });
21127
+ }
21128
+ };
21129
+ DatoRichTextDirective.prototype.loadLib = function () {
21130
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21131
+ };
21132
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21133
+ this.http
21134
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21135
+ .subscribe(function (style) {
21136
+ appendStyle(style, 'tinymce-autocomplete');
21125
21137
  });
21126
21138
  };
21127
21139
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21214,9 +21226,9 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21214
21226
  var DatoRichTextDirective_1;
21215
21227
  DatoRichTextDirective.ctorParameters = function () { return [
21216
21228
  { type: NgZone },
21217
- { type: RichTextService },
21218
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
21219
- { type: ElementRef }
21229
+ { type: HttpClient },
21230
+ { type: ElementRef },
21231
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21220
21232
  ]; };
21221
21233
  __decorate([
21222
21234
  Input(),
@@ -21282,9 +21294,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21282
21294
  }
21283
21295
  ]
21284
21296
  }),
21285
- __param(2, Inject(DATO_CORE_CONFIG)),
21297
+ __param(3, Inject(DATO_CORE_CONFIG)),
21286
21298
  __metadata("design:paramtypes", [NgZone,
21287
- RichTextService, Object, ElementRef])
21299
+ HttpClient,
21300
+ ElementRef, Object])
21288
21301
  ], DatoRichTextDirective);
21289
21302
  return DatoRichTextDirective;
21290
21303
  }(BaseCustomControl));
@@ -23807,9 +23820,7 @@ var DatoBreadcrumbsComponent = /** @class */ (function () {
23807
23820
  };
23808
23821
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
23809
23822
  var _this = this;
23810
- this.headerControl.valueChanges
23811
- .pipe(debounceTime(300), untilDestroyed(this))
23812
- .subscribe(function (res) {
23823
+ this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe(function (res) {
23813
23824
  _this.updateEditableText.emit(res);
23814
23825
  _this.cdr.detectChanges();
23815
23826
  });
@@ -24498,22 +24509,17 @@ var DatoPillsModule = /** @class */ (function () {
24498
24509
  }());
24499
24510
 
24500
24511
  var DatoProgressBarComponent = /** @class */ (function () {
24501
- function DatoProgressBarComponent() {
24512
+ function DatoProgressBarComponent(cdr) {
24513
+ this.cdr = cdr;
24502
24514
  this.barColor = 'primary-100';
24503
24515
  this.thresholds = [33, 66];
24504
24516
  }
24505
24517
  DatoProgressBarComponent.prototype.ngOnInit = function () {
24506
- if (!this.parts && this.percent) {
24507
- if (!this.color) {
24508
- this.initColor();
24509
- }
24510
- this.parts = [
24511
- {
24512
- percent: this.percent,
24513
- color: this.color,
24514
- tooltip: this.tooltip
24515
- }
24516
- ];
24518
+ if (!this.parts) {
24519
+ this.percent = this.percent || 0;
24520
+ this.isByPercent = true;
24521
+ this.hasInitialColor = !!this.color;
24522
+ this.initSinglePart();
24517
24523
  }
24518
24524
  else if (this.parts &&
24519
24525
  this.parts.every(function (part) { return part.weight >= 0; }) &&
@@ -24521,6 +24527,27 @@ var DatoProgressBarComponent = /** @class */ (function () {
24521
24527
  this.initPartsPercent();
24522
24528
  }
24523
24529
  };
24530
+ DatoProgressBarComponent.prototype.ngOnChanges = function (changes) {
24531
+ if (this.isByPercent &&
24532
+ ((changes.percent && !changes.percent.firstChange) ||
24533
+ (changes.color && !changes.color.firstChange) ||
24534
+ (changes.tooltip && !changes.tooltip.firstChange))) {
24535
+ this.initSinglePart();
24536
+ this.cdr.detectChanges();
24537
+ }
24538
+ };
24539
+ DatoProgressBarComponent.prototype.initSinglePart = function () {
24540
+ if (!this.color || !this.hasInitialColor) {
24541
+ this.initColor();
24542
+ }
24543
+ this.parts = [
24544
+ {
24545
+ percent: this.percent,
24546
+ color: this.color,
24547
+ tooltip: this.tooltip
24548
+ }
24549
+ ];
24550
+ };
24524
24551
  DatoProgressBarComponent.prototype.initColor = function () {
24525
24552
  if (isEmpty(this.thresholds)) {
24526
24553
  this.color = 'accent-400';
@@ -24561,6 +24588,9 @@ var DatoProgressBarComponent = /** @class */ (function () {
24561
24588
  }
24562
24589
  }
24563
24590
  };
24591
+ DatoProgressBarComponent.ctorParameters = function () { return [
24592
+ { type: ChangeDetectorRef }
24593
+ ]; };
24564
24594
  __decorate([
24565
24595
  Input(),
24566
24596
  __metadata("design:type", String)
@@ -24596,11 +24626,12 @@ var DatoProgressBarComponent = /** @class */ (function () {
24596
24626
  DatoProgressBarComponent = __decorate([
24597
24627
  Component({
24598
24628
  selector: 'dato-progress-bar',
24599
- template: "<div class=\"bar d-flex width-100 overflow-hidden\"\n [style.width]=\"width\"\n [class]=\"barColor + '-background-color'\">\n <div *ngFor=\"let part of parts; index as i\"\n class=\"part height-100\"\n [ngClass]=\"part.color ? part.color + '-background-color' : ''\"\n [style.width]=\"i > 0 ? 'calc(' + part.percent + '% + 8px)' : part.percent + '%'\"\n [style.z-index]=\"100 - i\"\n [datoTooltipV2]=\"part.tooltip\">\n </div>\n</div>\n\n<div *ngIf=\"showLegend\" class=\"d-flex mt-12\">\n <div *ngFor=\"let part of parts; index as i\" class=\"d-flex mr-16\">\n <div class=\"d-flex dato-note primary-400-color\">\n <div class=\"legend-color mr-6\" [ngClass]=\"part.color ? part.color + '-background-color' : ''\"></div>\n <div>{{ part.legendLabel || part.tooltip }}</div>\n </div>\n </div>\n</div>\n",
24629
+ template: "<div class=\"bar d-flex width-100 overflow-hidden\"\n [style.width]=\"width\"\n [class]=\"barColor + '-background-color'\">\n <div *ngFor=\"let part of parts; index as i\"\n class=\"part height-100\"\n [ngClass]=\"part.color ? part.color + '-background-color' : ''\"\n [style.width]=\"i > 0 ? 'calc(' + part.percent + '% + 8px)' : part.percent + '%'\"\n [style.z-index]=\"100 - i\"\n [datoTooltipV2]=\"part.tooltip\">\n </div>\n</div>\n\n<ng-content></ng-content>\n\n<div *ngIf=\"showLegend\" class=\"d-flex mt-12\">\n <div *ngFor=\"let part of parts; index as i\" class=\"d-flex mr-16\">\n <div class=\"d-flex dato-note primary-400-color\">\n <div class=\"legend-color mr-6\" [ngClass]=\"part.color ? part.color + '-background-color' : ''\"></div>\n <div>{{ part.legendLabel || part.tooltip }}</div>\n </div>\n </div>\n</div>\n",
24600
24630
  changeDetection: ChangeDetectionStrategy.OnPush,
24601
24631
  encapsulation: ViewEncapsulation.None,
24602
24632
  styles: ["dato-progress-bar .bar{height:8px;border-radius:4px}dato-progress-bar .part{border-radius:0 4px 4px 0}dato-progress-bar .part:not(:first-child){margin-left:-8px}dato-progress-bar .legend-color{width:16px;height:16px;min-width:16px;border-radius:50%}"]
24603
- })
24633
+ }),
24634
+ __metadata("design:paramtypes", [ChangeDetectorRef])
24604
24635
  ], DatoProgressBarComponent);
24605
24636
  return DatoProgressBarComponent;
24606
24637
  }());
@@ -25152,7 +25183,7 @@ function fixNgLeaks() {
25152
25183
  };
25153
25184
  }
25154
25185
 
25155
- window.coreVersion = '22.1.1-rc.';
25186
+ window.coreVersion = '22.2.0';
25156
25187
 
25157
25188
  /**
25158
25189
  * @license
@@ -25166,5 +25197,5 @@ window.coreVersion = '22.1.1-rc.';
25166
25197
  * Generated bundle index. Do not edit.
25167
25198
  */
25168
25199
 
25169
- export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn, RichTextService as ɵo };
25200
+ export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn };
25170
25201
  //# sourceMappingURL=datorama-core.js.map