@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
@@ -7495,8 +7495,9 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7495
7495
  writeValue(activeOptions) {
7496
7496
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
7497
7497
  if (this.options) {
7498
+ const overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
7498
7499
  this.markAsActive(this._model, { deselectAll: true });
7499
- this.limitSelectedTo && this.updateDisabledState();
7500
+ overTheLimit && this.updateDisabledState();
7500
7501
  }
7501
7502
  /** For later updates */
7502
7503
  this.cdr.markForCheck();
@@ -7532,7 +7533,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7532
7533
  */
7533
7534
  if (this.hasValue && this._initialOpen) {
7534
7535
  this.markAsActive(this._model);
7535
- if (this.limitSelectedTo) {
7536
+ if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
7536
7537
  this.updateDisabledState();
7537
7538
  }
7538
7539
  this._initialOpen = false;
@@ -7599,6 +7600,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7599
7600
  this.onChange(this._model);
7600
7601
  }
7601
7602
  removeOption(option) {
7603
+ const updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
7602
7604
  this._model = this._model.filter(current => current[this.idKey] !== option[this.idKey]);
7603
7605
  const optionToRemove = this.options.find(datoOption => datoOption.option && datoOption.option[this.idKey] === option[this.idKey]);
7604
7606
  /**
@@ -7608,7 +7610,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7608
7610
  if (optionToRemove) {
7609
7611
  optionToRemove.active = false;
7610
7612
  }
7611
- this.limitSelectedTo && this.updateDisabledState();
7613
+ updateDisabled && this.updateDisabledState();
7612
7614
  this.onChange(this._model);
7613
7615
  this.cdr.markForCheck();
7614
7616
  if (this.datoOverlay.attached) {
@@ -7884,6 +7886,9 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7884
7886
  if (!datoOption) {
7885
7887
  return;
7886
7888
  }
7889
+ const modelLength = this._model.length;
7890
+ const updateDisabled = this.limitSelectedTo &&
7891
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
7887
7892
  datoOption.active = !datoOption.active;
7888
7893
  const rawOption = datoOption.option;
7889
7894
  if (datoOption.active) {
@@ -7892,7 +7897,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7892
7897
  else {
7893
7898
  this._model = this._model.filter(current => current[this.idKey] !== rawOption[this.idKey]);
7894
7899
  }
7895
- this.limitSelectedTo && this.updateDisabledState();
7900
+ updateDisabled && this.updateDisabledState();
7896
7901
  this.onChange(this._model);
7897
7902
  this.cdr.markForCheck();
7898
7903
  this.datoOverlay.scheduleUpdate();
@@ -10094,20 +10099,17 @@ let GridQuery = class GridQuery extends Query {
10094
10099
  if (this.gridRef.gridOptions.pivotMode) {
10095
10100
  const { sort, colId } = this.api.grid.getSortModel().pop() || {};
10096
10101
  const column = this.api.columns.getColumn(colId);
10097
- const pivotedColumn = this.getSecondaryColumn(colId);
10098
- if (pivotedColumn) {
10099
- const uniquePivotParents = uniq(this.api.columns.getSecondaryColumns().map(column => column.getParent()));
10100
- const secondaryColumn = this.getSecondaryColumn(pivotedColumn.getColId());
10101
- const pivotColIndex = uniquePivotParents.indexOf(secondaryColumn.getParent());
10102
- return { colId: getColField(pivotedColumn.getColDef()), sort, pivotColIndex };
10102
+ if (column) {
10103
+ return { colId, sort, colField: getColField(column.getColDef()) };
10103
10104
  }
10104
- else if (column) {
10105
- return { colId: getColField(column.getColDef()), sort };
10105
+ else {
10106
+ const secondaryColumn = this.getSecondaryColumn(colId);
10107
+ if (secondaryColumn) {
10108
+ return { colId, sort, colField: getColField(secondaryColumn.getColDef()) };
10109
+ }
10106
10110
  }
10107
10111
  }
10108
- else {
10109
- return this.api.grid.getSortModel().pop();
10110
- }
10112
+ return this.api.grid.getSortModel().pop();
10111
10113
  }
10112
10114
  selectSort() {
10113
10115
  return this.select(state => state.settings.sort);
@@ -10204,7 +10206,10 @@ let GridQuery = class GridQuery extends Query {
10204
10206
  }
10205
10207
  getSecondaryColumn(colId) {
10206
10208
  const secondaryColumns = this.api.columns.getSecondaryColumns();
10207
- return secondaryColumns && secondaryColumns.find(col => col.getColId() === colId);
10209
+ if (secondaryColumns) {
10210
+ return secondaryColumns.find(col => col.getColId() === colId);
10211
+ }
10212
+ return null;
10208
10213
  }
10209
10214
  filterCheckboxSelectionColumn(columns) {
10210
10215
  return columns.filter((column) => !column.getUserProvidedColDef() || !column.getUserProvidedColDef().checkboxSelection);
@@ -10254,6 +10259,8 @@ var DatoFilterConditions;
10254
10259
  DatoFilterConditions["NOT_IN_LIST"] = "NOT_IN_LIST";
10255
10260
  DatoFilterConditions["IS_EMPTY"] = "IS_EMPTY";
10256
10261
  DatoFilterConditions["NOT_EMPTY"] = "NOT_EMPTY";
10262
+ DatoFilterConditions["IS_NULL"] = "IS_NULL";
10263
+ DatoFilterConditions["NOT_NULL"] = "NOT_NULL";
10257
10264
  })(DatoFilterConditions || (DatoFilterConditions = {}));
10258
10265
  const DatoGridDateFilterOptions = [
10259
10266
  DatoFilterConditions.IN_RANGE,
@@ -10334,8 +10341,10 @@ function validateNumberCondition(unparsedRowValue, { condition, value, rangeEnd
10334
10341
  case DatoFilterConditions.IN_RANGE:
10335
10342
  return rowValue >= filterValue && rowValue <= parseFloat(rangeEnd);
10336
10343
  case DatoFilterConditions.IS_EMPTY:
10344
+ case DatoFilterConditions.IS_NULL:
10337
10345
  return isNil(rowValue);
10338
10346
  case DatoFilterConditions.NOT_EMPTY:
10347
+ case DatoFilterConditions.NOT_NULL:
10339
10348
  return !isNil(rowValue);
10340
10349
  }
10341
10350
  }
@@ -10482,7 +10491,7 @@ function toolbarActionToContextAction(params) {
10482
10491
  return contextActions;
10483
10492
  }
10484
10493
 
10485
- const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
10494
+ const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
10486
10495
 
10487
10496
  const defaultEditableColumnRenderer = params => params && params.value ? `<div class="value-wrapper ellipsis">${params.value}</div>` : null;
10488
10497
  const editableCellRendererWithSearchHighlight = (params, searchTerm) => {
@@ -11211,10 +11220,11 @@ let DatoGridFilterComponent = class DatoGridFilterComponent {
11211
11220
  }
11212
11221
  ngOnInit() {
11213
11222
  const { gridService, gridQuery } = this.popover.data;
11214
- const { filter, filtersConfig = {}, pivotValueColumn, pivotKeys } = this.colDef;
11223
+ const { filter, pivotValueColumn, pivotKeys } = this.colDef;
11215
11224
  const colDefs = gridQuery.api.columns.getAllColumns().map(column => column.getColDef());
11216
11225
  this.colField = getColField(this.colDef);
11217
11226
  const colDef = colDefs.find(colDef => colDef.field === this.colField);
11227
+ const filtersConfig = colDef.filtersConfig || this.colDef.filtersConfig || {};
11218
11228
  const colFilter = filter || colDef.filter;
11219
11229
  const filterOptions = DatoGridFilterOptionsMap[colFilter];
11220
11230
  this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
@@ -11236,7 +11246,11 @@ let DatoGridFilterComponent = class DatoGridFilterComponent {
11236
11246
  if (this.filterSections.Conditional) {
11237
11247
  let filterConditions = filterOptions || DatoGridStringFilterOptions;
11238
11248
  if (filtersConfig.showEmptyConditions) {
11239
- filterConditions = [...filterConditions, DatoFilterConditions.IS_EMPTY, DatoFilterConditions.NOT_EMPTY];
11249
+ let emptyConditions = [DatoFilterConditions.IS_EMPTY, DatoFilterConditions.NOT_EMPTY];
11250
+ if (this.filterType === DatoGridFilterTypes.Number) {
11251
+ emptyConditions = [DatoFilterConditions.IS_NULL, DatoFilterConditions.NOT_NULL];
11252
+ }
11253
+ filterConditions = [...filterConditions, ...emptyConditions];
11240
11254
  }
11241
11255
  this.conditionalFilterOptions = filterConditions.map((operand, id) => ({
11242
11256
  id,
@@ -11599,7 +11613,10 @@ let DatoGridFilterComponent = class DatoGridFilterComponent {
11599
11613
  valueControl.updateValueAndValidity();
11600
11614
  }
11601
11615
  isEmptyOperand(operand) {
11602
- return operand === DatoFilterConditions.IS_EMPTY || operand === DatoFilterConditions.NOT_EMPTY;
11616
+ return (operand === DatoFilterConditions.IS_EMPTY ||
11617
+ operand === DatoFilterConditions.NOT_EMPTY ||
11618
+ operand === DatoFilterConditions.IS_NULL ||
11619
+ operand === DatoFilterConditions.NOT_NULL);
11603
11620
  }
11604
11621
  isStringArray(value) {
11605
11622
  return isString(value[0]);
@@ -12661,14 +12678,31 @@ let GridService = class GridService {
12661
12678
  for (const { filter } of filters) {
12662
12679
  const column = this.api.columns.getColumn(filter.colId);
12663
12680
  if (column) {
12664
- this.setColumnFilter(column, filter);
12681
+ this.setColumnFilter(column, filter, false);
12665
12682
  }
12666
12683
  else {
12667
- const pivotColumn = this.gridQuery.getSecondaryColumn(filter.colId);
12668
- this.setColumnFilter(pivotColumn, filter);
12684
+ const secondaryColumn = this.gridQuery.getSecondaryColumn(filter.colId);
12685
+ if (secondaryColumn) {
12686
+ this.setColumnFilter(secondaryColumn, filter, false);
12687
+ }
12669
12688
  }
12670
12689
  }
12671
- this.notifyFilterUpdate();
12690
+ this.api.grid.onFilterChanged();
12691
+ }
12692
+ }
12693
+ setGridSort({ colId, sort }) {
12694
+ if (this.api) {
12695
+ const column = this.api.columns.getColumn(colId);
12696
+ if (column) {
12697
+ column.setSort(sort);
12698
+ }
12699
+ else {
12700
+ const secondaryColumn = this.gridQuery.getSecondaryColumn(colId);
12701
+ if (secondaryColumn) {
12702
+ secondaryColumn.setSort(sort);
12703
+ }
12704
+ }
12705
+ this.api.grid.onSortChanged();
12672
12706
  }
12673
12707
  }
12674
12708
  updateFilter(column, filter) {
@@ -12725,8 +12759,7 @@ let GridService = class GridService {
12725
12759
  this.updateSettings({ gridAlignment, columnsSizes: null });
12726
12760
  }
12727
12761
  saveSettingsToServer(settings) {
12728
- const isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
12729
- this.storageAPI.set(this.gridName, settings, isGlobal);
12762
+ this.storageAPI.set(this.gridName, settings);
12730
12763
  }
12731
12764
  /**
12732
12765
  * @internal used to log grid events to the platform's logging service
@@ -13087,6 +13120,13 @@ let GridService = class GridService {
13087
13120
  column
13088
13121
  };
13089
13122
  }
13123
+ if (condition === DatoFilterConditions.IS_NULL || condition === DatoFilterConditions.NOT_NULL) {
13124
+ return {
13125
+ condition: DatoFilterConditions.IS_NULL,
13126
+ value: condition === DatoFilterConditions.IS_NULL ? 'true' : 'false',
13127
+ column
13128
+ };
13129
+ }
13090
13130
  return Object.assign(Object.assign({}, item), { column });
13091
13131
  })
13092
13132
  };
@@ -13139,13 +13179,12 @@ let GridService = class GridService {
13139
13179
  if (userProvidedColDef) {
13140
13180
  colDef.filter = userProvidedColDef.filter;
13141
13181
  }
13142
- // if (colDef.pivotKeys) {
13143
- // colDef.pivotKeys = colDef.pivotKeys.map(key => {
13144
- // const parsedKey = tryParsePivotValue(key);
13145
- //
13146
- // return (parsedKey && parsedKey.value) || '';
13147
- // });
13148
- // }
13182
+ if (colDef.pivotKeys) {
13183
+ colDef.pivotKeys = colDef.pivotKeys.map(key => {
13184
+ const parsedKey = tryParsePivotValue(key);
13185
+ return (parsedKey && parsedKey.value) || '';
13186
+ });
13187
+ }
13149
13188
  };
13150
13189
  gridOptions.processSecondaryColGroupDef = (colGroupDef) => {
13151
13190
  if (colGroupDef.headerName) {
@@ -13170,13 +13209,12 @@ let GridService = class GridService {
13170
13209
  else {
13171
13210
  colGroupDef.headerClass = ['empty-pivot-header'];
13172
13211
  }
13173
- // if (colGroupDef.pivotKeys) {
13174
- // colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(key => {
13175
- // const parsedKey = tryParsePivotValue(key);
13176
- //
13177
- // return (parsedKey && parsedKey.value) || '';
13178
- // });
13179
- // }
13212
+ if (colGroupDef.pivotKeys) {
13213
+ colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(key => {
13214
+ const parsedKey = tryParsePivotValue(key);
13215
+ return (parsedKey && parsedKey.value) || '';
13216
+ });
13217
+ }
13180
13218
  };
13181
13219
  }
13182
13220
  setPivotModeRows(data) {
@@ -13630,16 +13668,18 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13630
13668
  .pipe(switchMap(() => {
13631
13669
  this.gridOptions = this.normalizeOptions();
13632
13670
  agGrid.gridOptions = this.gridOptions;
13633
- const isGlobal = this.gridOptions.isGlobalSettings;
13634
- const settingsLoader = this.gridOptions.saveSettings === false
13635
- ? of(null)
13636
- : this.storageAPI.get(this.gridOptions.gridName, isGlobal);
13671
+ const settingsLoader = this.gridOptions.saveSettings === false ? of(null) : this.storageAPI.get(this.gridOptions.gridName);
13637
13672
  return combineLatest([agGrid.gridReady, settingsLoader]);
13638
13673
  }), untilDestroyed(this))
13639
13674
  .subscribe(([{ api, columnApi }, savedSettings = {}]) => {
13640
13675
  if (!this.gridOptions.rowData) {
13641
13676
  api.showLoadingOverlay();
13642
13677
  }
13678
+ if (!this.gridOptions.statusBar) {
13679
+ /** Fix ag-grid bug that doesn't add ag-hidden class to the status bar, which only get fixed in later versions */
13680
+ const el = agGridEl.querySelector('.ag-status-bar');
13681
+ addClass(el, 'ag-hidden');
13682
+ }
13643
13683
  const gridApi = { grid: api, columns: columnApi };
13644
13684
  this.gridService._setApi(gridApi, agGrid);
13645
13685
  this.gridQuery._setApi(gridApi, agGrid);
@@ -13679,6 +13719,9 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13679
13719
  setGridFilters(filters) {
13680
13720
  this.gridService.setGridFilters(filters);
13681
13721
  }
13722
+ setGridSort(sort) {
13723
+ this.gridService.setGridSort(sort);
13724
+ }
13682
13725
  onFilterChanged() {
13683
13726
  return this.gridQuery.filterChanged();
13684
13727
  }
@@ -14484,9 +14527,6 @@ let DatoGridPaginationV2Component = class DatoGridPaginationV2Component {
14484
14527
  toggleGroupsState() {
14485
14528
  this.isExpanded ? this.gridApi.collapseAll() : this.gridApi.expandAll();
14486
14529
  this.isExpanded = !this.isExpanded;
14487
- // this.gridApi.forEachNode((node: RowNode) => {
14488
- // node.setExpanded(this.isExpanded);
14489
- // });
14490
14530
  }
14491
14531
  autoFitGrid(type) {
14492
14532
  this.gridService.fitGrid(type);
@@ -14754,12 +14794,6 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
14754
14794
  this.registerGroupListeners();
14755
14795
  this.subscribeRowsSelectionData();
14756
14796
  }
14757
- getCellValueChangeEvent() {
14758
- return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(this)));
14759
- }
14760
- getRowDataUpdatedEvent() {
14761
- return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(this)));
14762
- }
14763
14797
  onActionClick(action) {
14764
14798
  if (isFunction(action.onClick)) {
14765
14799
  const selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -18827,39 +18861,6 @@ DatoEditableHeaderModule = __decorate([
18827
18861
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
18828
18862
  */
18829
18863
 
18830
- let RichTextService = class RichTextService {
18831
- constructor(http, config) {
18832
- this.http = http;
18833
- this.config = config;
18834
- }
18835
- getLib(appendScriptFunc, appendStyleFunc) {
18836
- if (!this.richTextScript$) {
18837
- this.initLib(appendScriptFunc, appendStyleFunc);
18838
- }
18839
- return this.richTextScript$;
18840
- }
18841
- initLib(appendScriptFunc, appendStyleFunc) {
18842
- this.richTextScript$ = combineLatest([
18843
- this.http
18844
- .get(`${this.config.paths.richText}/index.js`, { responseType: 'text' })
18845
- .pipe(tap(lib => appendScriptFunc(lib, 'rich-text-editor'))),
18846
- this.http
18847
- .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
18848
- .pipe(tap(style => appendStyleFunc(style, 'tinymce-autocomplete')))
18849
- ]).pipe(shareReplay(1));
18850
- }
18851
- };
18852
- RichTextService.ctorParameters = () => [
18853
- { type: HttpClient },
18854
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
18855
- ];
18856
- RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
18857
- RichTextService = __decorate([
18858
- Injectable({ providedIn: 'root' }),
18859
- __param(1, Inject(DATO_CORE_CONFIG)),
18860
- __metadata("design:paramtypes", [HttpClient, Object])
18861
- ], RichTextService);
18862
-
18863
18864
  /**
18864
18865
  * @license
18865
18866
  * Copyright Datorama. All Rights Reserved.
@@ -18873,12 +18874,12 @@ const getTinymce = () => {
18873
18874
  };
18874
18875
  const ɵ0$3 = getTinymce;
18875
18876
  let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirective extends BaseCustomControl {
18876
- constructor(ngZone, richTextService, config, host) {
18877
+ constructor(ngZone, http, host, config) {
18877
18878
  super();
18878
18879
  this.ngZone = ngZone;
18879
- this.richTextService = richTextService;
18880
- this.config = config;
18880
+ this.http = http;
18881
18881
  this.host = host;
18882
+ this.config = config;
18882
18883
  this.autocompleteOptions = {};
18883
18884
  this.forcePlainTextPasting = false;
18884
18885
  this.format = 'html';
@@ -18905,11 +18906,28 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
18905
18906
  base: this.config.paths.richText,
18906
18907
  query: ''
18907
18908
  };
18908
- this.richTextService
18909
- .getLib(appendScript, appendStyle)
18910
- .pipe(untilDestroyed(this))
18911
- .subscribe(() => {
18909
+ /**
18910
+ * We support only one instance in load time
18911
+ */
18912
+ if (window.tinymce) {
18912
18913
  this.init.call(this);
18914
+ }
18915
+ else {
18916
+ this.loadLib().subscribe(lib => {
18917
+ appendScript(lib, 'rich-text-editor');
18918
+ this.init.call(this);
18919
+ this.loadAutoCompleteStyle();
18920
+ });
18921
+ }
18922
+ }
18923
+ loadLib() {
18924
+ return this.http.get(`${this.config.paths.richText}/index.js`, { responseType: 'text' });
18925
+ }
18926
+ loadAutoCompleteStyle() {
18927
+ this.http
18928
+ .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
18929
+ .subscribe(style => {
18930
+ appendStyle(style, 'tinymce-autocomplete');
18913
18931
  });
18914
18932
  }
18915
18933
  initEditor(_, editor) {
@@ -19010,9 +19028,9 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19010
19028
  };
19011
19029
  DatoRichTextDirective.ctorParameters = () => [
19012
19030
  { type: NgZone },
19013
- { type: RichTextService },
19014
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
19015
- { type: ElementRef }
19031
+ { type: HttpClient },
19032
+ { type: ElementRef },
19033
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19016
19034
  ];
19017
19035
  __decorate([
19018
19036
  Input(),
@@ -19078,9 +19096,10 @@ DatoRichTextDirective = DatoRichTextDirective_1 = __decorate([
19078
19096
  }
19079
19097
  ]
19080
19098
  }),
19081
- __param(2, Inject(DATO_CORE_CONFIG)),
19099
+ __param(3, Inject(DATO_CORE_CONFIG)),
19082
19100
  __metadata("design:paramtypes", [NgZone,
19083
- RichTextService, Object, ElementRef])
19101
+ HttpClient,
19102
+ ElementRef, Object])
19084
19103
  ], DatoRichTextDirective);
19085
19104
 
19086
19105
  /**
@@ -21361,9 +21380,7 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
21361
21380
  this._breadcrumbs = [...start, ...dots, ...end];
21362
21381
  }
21363
21382
  initEditableHeader() {
21364
- this.headerControl.valueChanges
21365
- .pipe(debounceTime(300), untilDestroyed(this))
21366
- .subscribe((res) => {
21383
+ this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe((res) => {
21367
21384
  this.updateEditableText.emit(res);
21368
21385
  this.cdr.detectChanges();
21369
21386
  });
@@ -21986,22 +22003,17 @@ DatoPillsModule = __decorate([
21986
22003
  ], DatoPillsModule);
21987
22004
 
21988
22005
  let DatoProgressBarComponent = class DatoProgressBarComponent {
21989
- constructor() {
22006
+ constructor(cdr) {
22007
+ this.cdr = cdr;
21990
22008
  this.barColor = 'primary-100';
21991
22009
  this.thresholds = [33, 66];
21992
22010
  }
21993
22011
  ngOnInit() {
21994
- if (!this.parts && this.percent) {
21995
- if (!this.color) {
21996
- this.initColor();
21997
- }
21998
- this.parts = [
21999
- {
22000
- percent: this.percent,
22001
- color: this.color,
22002
- tooltip: this.tooltip
22003
- }
22004
- ];
22012
+ if (!this.parts) {
22013
+ this.percent = this.percent || 0;
22014
+ this.isByPercent = true;
22015
+ this.hasInitialColor = !!this.color;
22016
+ this.initSinglePart();
22005
22017
  }
22006
22018
  else if (this.parts &&
22007
22019
  this.parts.every((part) => part.weight >= 0) &&
@@ -22009,6 +22021,27 @@ let DatoProgressBarComponent = class DatoProgressBarComponent {
22009
22021
  this.initPartsPercent();
22010
22022
  }
22011
22023
  }
22024
+ ngOnChanges(changes) {
22025
+ if (this.isByPercent &&
22026
+ ((changes.percent && !changes.percent.firstChange) ||
22027
+ (changes.color && !changes.color.firstChange) ||
22028
+ (changes.tooltip && !changes.tooltip.firstChange))) {
22029
+ this.initSinglePart();
22030
+ this.cdr.detectChanges();
22031
+ }
22032
+ }
22033
+ initSinglePart() {
22034
+ if (!this.color || !this.hasInitialColor) {
22035
+ this.initColor();
22036
+ }
22037
+ this.parts = [
22038
+ {
22039
+ percent: this.percent,
22040
+ color: this.color,
22041
+ tooltip: this.tooltip
22042
+ }
22043
+ ];
22044
+ }
22012
22045
  initColor() {
22013
22046
  if (isEmpty(this.thresholds)) {
22014
22047
  this.color = 'accent-400';
@@ -22050,6 +22083,9 @@ let DatoProgressBarComponent = class DatoProgressBarComponent {
22050
22083
  }
22051
22084
  }
22052
22085
  };
22086
+ DatoProgressBarComponent.ctorParameters = () => [
22087
+ { type: ChangeDetectorRef }
22088
+ ];
22053
22089
  __decorate([
22054
22090
  Input(),
22055
22091
  __metadata("design:type", String)
@@ -22085,11 +22121,12 @@ __decorate([
22085
22121
  DatoProgressBarComponent = __decorate([
22086
22122
  Component({
22087
22123
  selector: 'dato-progress-bar',
22088
- 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",
22124
+ 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",
22089
22125
  changeDetection: ChangeDetectionStrategy.OnPush,
22090
22126
  encapsulation: ViewEncapsulation.None,
22091
22127
  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%}"]
22092
- })
22128
+ }),
22129
+ __metadata("design:paramtypes", [ChangeDetectorRef])
22093
22130
  ], DatoProgressBarComponent);
22094
22131
 
22095
22132
  const declarations$4 = [DatoProgressBarComponent];
@@ -22608,7 +22645,7 @@ function fixNgLeaks() {
22608
22645
  };
22609
22646
  }
22610
22647
 
22611
- window.coreVersion = '22.1.1-rc.';
22648
+ window.coreVersion = '22.2.0';
22612
22649
 
22613
22650
  /**
22614
22651
  * @license
@@ -22622,5 +22659,5 @@ window.coreVersion = '22.1.1-rc.';
22622
22659
  * Generated bundle index. Do not edit.
22623
22660
  */
22624
22661
 
22625
- 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 };
22662
+ 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 };
22626
22663
  //# sourceMappingURL=datorama-core.js.map