@datorama/core 22.1.1-rc.1 → 22.2.2

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 (60) hide show
  1. package/bundle.scss +16 -17
  2. package/bundles/datorama-core.umd.js +148 -113
  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 +5 -5
  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 +32 -8
  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 +5 -5
  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 +32 -8
  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 +148 -105
  43. package/fesm2015/datorama-core.js.map +1 -1
  44. package/fesm5/datorama-core.js +149 -113
  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-pagination/grid-pagination.component.d.ts +1 -0
  51. package/lib/grid-v2/grid-settings.d.ts +2 -2
  52. package/lib/grid-v2/grid-store/grid.service.d.ts +2 -1
  53. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  54. package/lib/icon/icon.types.d.ts +1 -1
  55. package/lib/progress-bar/progress-bar.component.d.ts +8 -2
  56. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  57. package/package.json +1 -1
  58. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  59. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  60. 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]);
@@ -14183,17 +14200,19 @@ var GridService = /** @class */ (function () {
14183
14200
  };
14184
14201
  GridService.prototype.setGridFilters = function (filters) {
14185
14202
  var e_2, _a;
14186
- if (this.api) {
14203
+ if (this.api && filters) {
14187
14204
  try {
14188
14205
  for (var filters_1 = __values(filters), filters_1_1 = filters_1.next(); !filters_1_1.done; filters_1_1 = filters_1.next()) {
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 (gridSort) {
14230
+ if (this.api && gridSort) {
14231
+ var colId = gridSort.colId, sort = gridSort.sort;
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
  };
@@ -15261,10 +15302,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15261
15302
  .pipe(switchMap(function () {
15262
15303
  _this.gridOptions = _this.normalizeOptions();
15263
15304
  agGrid.gridOptions = _this.gridOptions;
15264
- var isGlobal = _this.gridOptions.isGlobalSettings;
15265
- var settingsLoader = _this.gridOptions.saveSettings === false
15266
- ? of(null)
15267
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15305
+ var settingsLoader = _this.gridOptions.saveSettings === false ? of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15268
15306
  return combineLatest([agGrid.gridReady, settingsLoader]);
15269
15307
  }), untilDestroyed(this))
15270
15308
  .subscribe(function (_a) {
@@ -15272,6 +15310,11 @@ var DatoGridControllerComponent = /** @class */ (function () {
15272
15310
  if (!_this.gridOptions.rowData) {
15273
15311
  api.showLoadingOverlay();
15274
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
+ }
15275
15318
  var gridApi = { grid: api, columns: columnApi };
15276
15319
  _this.gridService._setApi(gridApi, agGrid);
15277
15320
  _this.gridQuery._setApi(gridApi, agGrid);
@@ -15311,6 +15354,9 @@ var DatoGridControllerComponent = /** @class */ (function () {
15311
15354
  DatoGridControllerComponent.prototype.setGridFilters = function (filters) {
15312
15355
  this.gridService.setGridFilters(filters);
15313
15356
  };
15357
+ DatoGridControllerComponent.prototype.setGridSort = function (sort) {
15358
+ this.gridService.setGridSort(sort);
15359
+ };
15314
15360
  DatoGridControllerComponent.prototype.onFilterChanged = function () {
15315
15361
  return this.gridQuery.filterChanged();
15316
15362
  };
@@ -16049,6 +16095,7 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
16049
16095
  // Show fit cell content and collapse/expand row groups controls
16050
16096
  this.showBottomControls = false;
16051
16097
  this.isExpanded = true;
16098
+ this.hasRowGroupColumns = false;
16052
16099
  this.isServerSidePagination = false;
16053
16100
  // The number of pages displayed in the navigation panel for each view as defined by product.
16054
16101
  this.MINI_DISPLAY_LENGTH = 2;
@@ -16097,8 +16144,10 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
16097
16144
  });
16098
16145
  this.gridQuery.gridReady$
16099
16146
  .pipe(tap(function () {
16147
+ var rowGroupColumns = _this.gridQuery.api.columns.getRowGroupColumns();
16100
16148
  _this.gridApi = _this.gridQuery.api.grid;
16101
16149
  _this.showBottomControls = _this.gridQuery.getGridOptions().showBottomControls;
16150
+ _this.hasRowGroupColumns = rowGroupColumns && rowGroupColumns.length > 0;
16102
16151
  }), switchMap(function () {
16103
16152
  _this.isServerSidePagination = _this.gridQuery.isServerSide;
16104
16153
  return _this.isServerSidePagination ? _this.gridQuery.serverDataLoaded$ : _this.gridQuery.rowDataChanged$;
@@ -16224,9 +16273,6 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
16224
16273
  DatoGridPaginationV2Component.prototype.toggleGroupsState = function () {
16225
16274
  this.isExpanded ? this.gridApi.collapseAll() : this.gridApi.expandAll();
16226
16275
  this.isExpanded = !this.isExpanded;
16227
- // this.gridApi.forEachNode((node: RowNode) => {
16228
- // node.setExpanded(this.isExpanded);
16229
- // });
16230
16276
  };
16231
16277
  DatoGridPaginationV2Component.prototype.autoFitGrid = function (type) {
16232
16278
  this.gridService.fitGrid(type);
@@ -16319,7 +16365,7 @@ var DatoGridPaginationV2Component = /** @class */ (function () {
16319
16365
  Component({
16320
16366
  selector: 'dato-grid-pagination-v2',
16321
16367
  changeDetection: ChangeDetectionStrategy.OnPush,
16322
- template: "<div class=\"d-flex-row d-flex-auto d-flex-wrap container\" [class.small]=\"smallVersion\"\n [attr.data-pages-count]=\"totalPages\"\n [attr.data-current-page]=\"pageNumbersDisplay.currentPage\"\n [attr.data-page-size]=\"rowsPerPage\"\n [attr.data-rows-count]=\"rowCount\">\n <div *ngIf=\"totalPages > 1\" #navigation\n class=\"navigation d-flex-row d-flex-0-0-auto align-center\">\n\n <!-- First Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"mr-4\" data-auto-id=\"pagiantion-first-page\"\n icon=\"chevron-left-double\"\n datoType=\"secondary\"\n datoSize=\"md\"\n [disabled]=\"prevPageDisabled\"\n (click)=\"navigateFirstPage()\">\n </dato-icon-button>\n\n <!-- Previous Page -->\n <dato-icon-button icon=\"arrow-left\" datoType=\"secondary\" datoSize=\"md\"\n [disabled]=\"prevPageDisabled\" data-auto-id=\"pagiantion-previous-page\"\n (click)=\"navigatePrevPage()\">\n </dato-icon-button>\n\n\n <div class=\"d-flex mx-5 align-center number-container\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-previous-batch\"\n *ngIf=\"pageNumbersDisplay.showFirstEllipsis && !smallVersion\"\n (click)=\"showPreviousBatch()\">...\n </dato-link>\n <dato-link class=\"page-number mx-5\" [datoType]=\"page === pageNumbersDisplay.currentPage ? 'primary' : 'secondary'\" datoSize=\"sm\"\n *ngFor=\"let page of pageNumbersDisplay.pages; index as i; trackBy: trackByPage;\" [attr.data-auto-id]=\"'pagiantion-page-' + i\"\n (click)=\"navigatePage(page - 1)\">\n {{page}}\n </dato-link>\n\n <div class=\"d-flex\" *ngIf=\"pageNumbersDisplay.showLastPage && !smallVersion\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-next-batch\"\n (click)=\"showNextBatch()\">...</dato-link>\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\"\n [attr.data-auto-id]=\"'pagiantion-page-' + totalPages\"\n (click)=\"navigatePage(totalPages - 1)\">\n {{totalPages}}\n </dato-link>\n </div>\n\n </div>\n\n <!-- Next Page -->\n <dato-icon-button icon=\"arrow-right\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"navigateNextPage()\" data-auto-id=\"pagiantion-next-page\"\n [disabled]=\"nextPageDisabled\">\n </dato-icon-button>\n\n <!-- Last Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"ml-4\" icon=\"chevron-right-double\"\n datoType=\"secondary\" datoSize=\"md\" data-auto-id=\"pagiantion-last-page\"\n [disabled]=\"nextPageDisabled\"\n (click)=\"navigatePage(totalPages - 1)\">\n </dato-icon-button>\n\n </div>\n\n <div *ngIf=\"totalPages > 1 && !smallVersion\"\n class=\"separator mx-10 my-auto primary-100-background-color\">\n </div>\n\n <div class=\"total d-flex-0-0-auto d-flex-row align-center\">\n <span class=\"dato-note primary-300-color\">{{rowsRange}}</span>\n </div>\n\n <div *ngIf=\"showBottomControls\" class=\"grid-controls d-flex d-flex-1 justify-end\">\n <dato-icon-button [icon]=\"isExpanded ? 'collapse' : 'expand'\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"toggleGroupsState()\" data-auto-id=\"pagiantion-expand-collapse\"\n [datoTooltipV2]=\"isExpanded ? 'core.collapse-rows' : 'core.expand-rows'\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" [datoTooltipV2]=\"'core.fit-to-content'\"\n data-auto-id=\"pagiantion-fit-to-content\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" [datoTooltipV2]=\"'core.fit-to-container'\"\n data-auto-id=\"pagiantion-fit-to-container\">\n </dato-icon-button>\n </div>\n</div>\n",
16368
+ template: "<div class=\"d-flex-row d-flex-auto d-flex-wrap container\" [class.small]=\"smallVersion\"\n [attr.data-pages-count]=\"totalPages\"\n [attr.data-current-page]=\"pageNumbersDisplay.currentPage\"\n [attr.data-page-size]=\"rowsPerPage\"\n [attr.data-rows-count]=\"rowCount\">\n <div *ngIf=\"totalPages > 1\" #navigation\n class=\"navigation d-flex-row d-flex-0-0-auto align-center\">\n\n <!-- First Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"mr-4\" data-auto-id=\"pagiantion-first-page\"\n icon=\"chevron-left-double\"\n datoType=\"secondary\"\n datoSize=\"md\"\n [disabled]=\"prevPageDisabled\"\n (click)=\"navigateFirstPage()\">\n </dato-icon-button>\n\n <!-- Previous Page -->\n <dato-icon-button icon=\"arrow-left\" datoType=\"secondary\" datoSize=\"md\"\n [disabled]=\"prevPageDisabled\" data-auto-id=\"pagiantion-previous-page\"\n (click)=\"navigatePrevPage()\">\n </dato-icon-button>\n\n\n <div class=\"d-flex mx-5 align-center number-container\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-previous-batch\"\n *ngIf=\"pageNumbersDisplay.showFirstEllipsis && !smallVersion\"\n (click)=\"showPreviousBatch()\">...\n </dato-link>\n <dato-link class=\"page-number mx-5\" [datoType]=\"page === pageNumbersDisplay.currentPage ? 'primary' : 'secondary'\" datoSize=\"sm\"\n *ngFor=\"let page of pageNumbersDisplay.pages; index as i; trackBy: trackByPage;\" [attr.data-auto-id]=\"'pagiantion-page-' + i\"\n (click)=\"navigatePage(page - 1)\">\n {{page}}\n </dato-link>\n\n <div class=\"d-flex\" *ngIf=\"pageNumbersDisplay.showLastPage && !smallVersion\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-next-batch\"\n (click)=\"showNextBatch()\">...</dato-link>\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\"\n [attr.data-auto-id]=\"'pagiantion-page-' + totalPages\"\n (click)=\"navigatePage(totalPages - 1)\">\n {{totalPages}}\n </dato-link>\n </div>\n\n </div>\n\n <!-- Next Page -->\n <dato-icon-button icon=\"arrow-right\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"navigateNextPage()\" data-auto-id=\"pagiantion-next-page\"\n [disabled]=\"nextPageDisabled\">\n </dato-icon-button>\n\n <!-- Last Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"ml-4\" icon=\"chevron-right-double\"\n datoType=\"secondary\" datoSize=\"md\" data-auto-id=\"pagiantion-last-page\"\n [disabled]=\"nextPageDisabled\"\n (click)=\"navigatePage(totalPages - 1)\">\n </dato-icon-button>\n\n </div>\n\n <div *ngIf=\"totalPages > 1 && !smallVersion\"\n class=\"separator mx-10 my-auto primary-100-background-color\">\n </div>\n\n <div class=\"total d-flex-0-0-auto d-flex-row align-center\">\n <span class=\"dato-note primary-300-color\">{{rowsRange}}</span>\n </div>\n\n <div *ngIf=\"showBottomControls\" class=\"grid-controls d-flex d-flex-1 justify-end\">\n <dato-icon-button *ngIf=\"hasRowGroupColumns\" [icon]=\"isExpanded ? 'collapse' : 'expand'\" datoType=\"secondary\"\n datoSize=\"md\" (click)=\"toggleGroupsState()\" data-auto-id=\"pagination-expand-collapse\"\n [datoTooltipV2]=\"isExpanded ? 'core.collapse-rows' : 'core.expand-rows'\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" [datoTooltipV2]=\"'core.fit-to-content'\"\n data-auto-id=\"pagination-fit-to-content\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" [datoTooltipV2]=\"'core.fit-to-container'\"\n data-auto-id=\"pagination-fit-to-container\">\n </dato-icon-button>\n </div>\n</div>\n",
16323
16369
  providers: [DecimalPipe],
16324
16370
  styles: [":host{padding:12px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:25px}:host .container{height:25px}:host .navigation .page-number{transition:color .3s ease-in-out}:host .navigation .page-number:first-of-type{margin-left:7px}:host .navigation .page-number:last-of-type{margin-right:7px}:host .separator{width:1px;height:25px}:host .container.small .navigation,:host .container.small .total{margin-top:8px;margin-left:auto;margin-right:auto}"]
16325
16371
  }),
@@ -16542,18 +16588,6 @@ var DatoGridV2ToolbarComponent = /** @class */ (function () {
16542
16588
  this.registerGroupListeners();
16543
16589
  this.subscribeRowsSelectionData();
16544
16590
  };
16545
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16546
- var _this = this;
16547
- return this.gridController.gridQuery.waitForGrid(function () {
16548
- return _this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(_this));
16549
- });
16550
- };
16551
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16552
- var _this = this;
16553
- return this.gridController.gridQuery.waitForGrid(function () {
16554
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(_this));
16555
- });
16556
- };
16557
16591
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16558
16592
  if (isFunction(action.onClick)) {
16559
16593
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21029,40 +21063,6 @@ var DatoEditableHeaderModule = /** @class */ (function () {
21029
21063
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21030
21064
  */
21031
21065
 
21032
- var RichTextService = /** @class */ (function () {
21033
- function RichTextService(http, config) {
21034
- this.http = http;
21035
- this.config = config;
21036
- }
21037
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21038
- if (!this.richTextScript$) {
21039
- this.initLib(appendScriptFunc, appendStyleFunc);
21040
- }
21041
- return this.richTextScript$;
21042
- };
21043
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21044
- this.richTextScript$ = combineLatest([
21045
- this.http
21046
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21047
- .pipe(tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21048
- this.http
21049
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21050
- .pipe(tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21051
- ]).pipe(shareReplay(1));
21052
- };
21053
- RichTextService.ctorParameters = function () { return [
21054
- { type: HttpClient },
21055
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21056
- ]; };
21057
- RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21058
- RichTextService = __decorate([
21059
- Injectable({ providedIn: 'root' }),
21060
- __param(1, Inject(DATO_CORE_CONFIG)),
21061
- __metadata("design:paramtypes", [HttpClient, Object])
21062
- ], RichTextService);
21063
- return RichTextService;
21064
- }());
21065
-
21066
21066
  /**
21067
21067
  * @license
21068
21068
  * Copyright Datorama. All Rights Reserved.
@@ -21076,12 +21076,12 @@ var getTinymce = function () {
21076
21076
  var ɵ0$3 = getTinymce;
21077
21077
  var DatoRichTextDirective = /** @class */ (function (_super) {
21078
21078
  __extends(DatoRichTextDirective, _super);
21079
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21079
+ function DatoRichTextDirective(ngZone, http, host, config) {
21080
21080
  var _this = _super.call(this) || this;
21081
21081
  _this.ngZone = ngZone;
21082
- _this.richTextService = richTextService;
21083
- _this.config = config;
21082
+ _this.http = http;
21084
21083
  _this.host = host;
21084
+ _this.config = config;
21085
21085
  _this.autocompleteOptions = {};
21086
21086
  _this.forcePlainTextPasting = false;
21087
21087
  _this.format = 'html';
@@ -21115,11 +21115,28 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21115
21115
  base: this.config.paths.richText,
21116
21116
  query: ''
21117
21117
  };
21118
- this.richTextService
21119
- .getLib(appendScript, appendStyle)
21120
- .pipe(untilDestroyed(this))
21121
- .subscribe(function () {
21122
- _this.init.call(_this);
21118
+ /**
21119
+ * We support only one instance in load time
21120
+ */
21121
+ if (window.tinymce) {
21122
+ this.init.call(this);
21123
+ }
21124
+ else {
21125
+ this.loadLib().subscribe(function (lib) {
21126
+ appendScript(lib, 'rich-text-editor');
21127
+ _this.init.call(_this);
21128
+ _this.loadAutoCompleteStyle();
21129
+ });
21130
+ }
21131
+ };
21132
+ DatoRichTextDirective.prototype.loadLib = function () {
21133
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21134
+ };
21135
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21136
+ this.http
21137
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21138
+ .subscribe(function (style) {
21139
+ appendStyle(style, 'tinymce-autocomplete');
21123
21140
  });
21124
21141
  };
21125
21142
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21212,9 +21229,9 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21212
21229
  var DatoRichTextDirective_1;
21213
21230
  DatoRichTextDirective.ctorParameters = function () { return [
21214
21231
  { type: NgZone },
21215
- { type: RichTextService },
21216
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
21217
- { type: ElementRef }
21232
+ { type: HttpClient },
21233
+ { type: ElementRef },
21234
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21218
21235
  ]; };
21219
21236
  __decorate([
21220
21237
  Input(),
@@ -21280,9 +21297,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21280
21297
  }
21281
21298
  ]
21282
21299
  }),
21283
- __param(2, Inject(DATO_CORE_CONFIG)),
21300
+ __param(3, Inject(DATO_CORE_CONFIG)),
21284
21301
  __metadata("design:paramtypes", [NgZone,
21285
- RichTextService, Object, ElementRef])
21302
+ HttpClient,
21303
+ ElementRef, Object])
21286
21304
  ], DatoRichTextDirective);
21287
21305
  return DatoRichTextDirective;
21288
21306
  }(BaseCustomControl));
@@ -23805,9 +23823,7 @@ var DatoBreadcrumbsComponent = /** @class */ (function () {
23805
23823
  };
23806
23824
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
23807
23825
  var _this = this;
23808
- this.headerControl.valueChanges
23809
- .pipe(debounceTime(300), untilDestroyed(this))
23810
- .subscribe(function (res) {
23826
+ this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe(function (res) {
23811
23827
  _this.updateEditableText.emit(res);
23812
23828
  _this.cdr.detectChanges();
23813
23829
  });
@@ -24496,22 +24512,17 @@ var DatoPillsModule = /** @class */ (function () {
24496
24512
  }());
24497
24513
 
24498
24514
  var DatoProgressBarComponent = /** @class */ (function () {
24499
- function DatoProgressBarComponent() {
24515
+ function DatoProgressBarComponent(cdr) {
24516
+ this.cdr = cdr;
24500
24517
  this.barColor = 'primary-100';
24501
24518
  this.thresholds = [33, 66];
24502
24519
  }
24503
24520
  DatoProgressBarComponent.prototype.ngOnInit = function () {
24504
- if (!this.parts && this.percent) {
24505
- if (!this.color) {
24506
- this.initColor();
24507
- }
24508
- this.parts = [
24509
- {
24510
- percent: this.percent,
24511
- color: this.color,
24512
- tooltip: this.tooltip
24513
- }
24514
- ];
24521
+ if (!this.parts) {
24522
+ this.percent = this.percent || 0;
24523
+ this.isByPercent = true;
24524
+ this.hasInitialColor = !!this.color;
24525
+ this.initSinglePart();
24515
24526
  }
24516
24527
  else if (this.parts &&
24517
24528
  this.parts.every(function (part) { return part.weight >= 0; }) &&
@@ -24519,6 +24530,27 @@ var DatoProgressBarComponent = /** @class */ (function () {
24519
24530
  this.initPartsPercent();
24520
24531
  }
24521
24532
  };
24533
+ DatoProgressBarComponent.prototype.ngOnChanges = function (changes) {
24534
+ if (this.isByPercent &&
24535
+ ((changes.percent && !changes.percent.firstChange) ||
24536
+ (changes.color && !changes.color.firstChange) ||
24537
+ (changes.tooltip && !changes.tooltip.firstChange))) {
24538
+ this.initSinglePart();
24539
+ this.cdr.detectChanges();
24540
+ }
24541
+ };
24542
+ DatoProgressBarComponent.prototype.initSinglePart = function () {
24543
+ if (!this.color || !this.hasInitialColor) {
24544
+ this.initColor();
24545
+ }
24546
+ this.parts = [
24547
+ {
24548
+ percent: this.percent,
24549
+ color: this.color,
24550
+ tooltip: this.tooltip
24551
+ }
24552
+ ];
24553
+ };
24522
24554
  DatoProgressBarComponent.prototype.initColor = function () {
24523
24555
  if (isEmpty(this.thresholds)) {
24524
24556
  this.color = 'accent-400';
@@ -24559,6 +24591,9 @@ var DatoProgressBarComponent = /** @class */ (function () {
24559
24591
  }
24560
24592
  }
24561
24593
  };
24594
+ DatoProgressBarComponent.ctorParameters = function () { return [
24595
+ { type: ChangeDetectorRef }
24596
+ ]; };
24562
24597
  __decorate([
24563
24598
  Input(),
24564
24599
  __metadata("design:type", String)
@@ -24594,11 +24629,12 @@ var DatoProgressBarComponent = /** @class */ (function () {
24594
24629
  DatoProgressBarComponent = __decorate([
24595
24630
  Component({
24596
24631
  selector: 'dato-progress-bar',
24597
- 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",
24632
+ 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",
24598
24633
  changeDetection: ChangeDetectionStrategy.OnPush,
24599
24634
  encapsulation: ViewEncapsulation.None,
24600
24635
  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%}"]
24601
- })
24636
+ }),
24637
+ __metadata("design:paramtypes", [ChangeDetectorRef])
24602
24638
  ], DatoProgressBarComponent);
24603
24639
  return DatoProgressBarComponent;
24604
24640
  }());
@@ -25150,7 +25186,7 @@ function fixNgLeaks() {
25150
25186
  };
25151
25187
  }
25152
25188
 
25153
- window.coreVersion = '22.1.1-rc.';
25189
+ window.coreVersion = '22.2.2';
25154
25190
 
25155
25191
  /**
25156
25192
  * @license
@@ -25164,5 +25200,5 @@ window.coreVersion = '22.1.1-rc.';
25164
25200
  * Generated bundle index. Do not edit.
25165
25201
  */
25166
25202
 
25167
- 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 };
25203
+ 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 };
25168
25204
  //# sourceMappingURL=datorama-core.js.map