@datorama/core 21.4.0-rc.9 → 22.0.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 (54) hide show
  1. package/bundle.scss +2 -2
  2. package/bundles/datorama-core.umd.js +148 -138
  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 +5 -5
  12. package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +9 -9
  13. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +28 -16
  14. package/esm2015/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  15. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
  16. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  17. package/esm2015/lib/grid-v2/grid-store/grid.query.js +11 -8
  18. package/esm2015/lib/grid-v2/grid-store/grid.service.js +28 -16
  19. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -7
  20. package/esm2015/lib/rich-text/rich-text.directive.js +33 -15
  21. package/esm2015/lib/select/select.component.js +10 -5
  22. package/esm2015/lib/version.js +2 -2
  23. package/esm5/datorama-core.js +1 -2
  24. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  25. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  26. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +5 -5
  27. package/esm5/lib/grid-v2/grid-filter/filter-validator.js +12 -9
  28. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +28 -16
  29. package/esm5/lib/grid-v2/grid-filter/grid-filter.types.js +1 -1
  30. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
  31. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  32. package/esm5/lib/grid-v2/grid-store/grid.query.js +15 -12
  33. package/esm5/lib/grid-v2/grid-store/grid.service.js +49 -31
  34. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -13
  35. package/esm5/lib/rich-text/rich-text.directive.js +34 -16
  36. package/esm5/lib/select/select.component.js +10 -5
  37. package/esm5/lib/version.js +2 -2
  38. package/fesm2015/datorama-core.js +120 -111
  39. package/fesm2015/datorama-core.js.map +1 -1
  40. package/fesm5/datorama-core.js +149 -138
  41. package/fesm5/datorama-core.js.map +1 -1
  42. package/lib/grid-v2/grid/grid-v2.types.d.ts +0 -1
  43. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +3 -2
  44. package/lib/grid-v2/grid-filter/filter-validator.d.ts +4 -3
  45. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +3 -2
  46. package/lib/grid-v2/grid-settings.d.ts +2 -2
  47. package/lib/grid-v2/grid-store/grid.query.d.ts +3 -2
  48. package/lib/grid-v2/grid-store/grid.service.d.ts +4 -3
  49. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  50. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  51. package/package.json +1 -1
  52. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  53. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  54. package/lib/rich-text/rich-text.service.d.ts +0 -10
package/bundle.scss CHANGED
@@ -14333,11 +14333,11 @@ dato-grid-v2 ag-grid-angular.pivot-mode .ag-row.ag-row-group span {
14333
14333
  color: themify(primary-500) !important;
14334
14334
  }
14335
14335
 
14336
- dato-grid-v2 ag-grid-angular.pivot-mode .ag-row.ag-row-group.ag-row-group-contracted:not(.ag-row-level-0) {
14336
+ dato-grid-v2 ag-grid-angular.pivot-mode .ag-row.ag-row-group:not(.ag-row-level-0) {
14337
14337
  background-color: themify(primary-50) !important;
14338
14338
  }
14339
14339
 
14340
- dato-grid-v2 ag-grid-angular.pivot-mode .ag-row.ag-row-group.ag-row-group-contracted:not(.ag-row-level-0) span {
14340
+ dato-grid-v2 ag-grid-angular.pivot-mode .ag-row.ag-row-group:not(.ag-row-level-0) span {
14341
14341
  font-weight: 400;
14342
14342
  }
14343
14343
 
@@ -8629,8 +8629,9 @@
8629
8629
  DatoSelectComponent.prototype.writeValue = function (activeOptions) {
8630
8630
  this._model = activeOptions ? akita.coerceArray(activeOptions) : [];
8631
8631
  if (this.options) {
8632
+ var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
8632
8633
  this.markAsActive(this._model, { deselectAll: true });
8633
- this.limitSelectedTo && this.updateDisabledState();
8634
+ overTheLimit && this.updateDisabledState();
8634
8635
  }
8635
8636
  /** For later updates */
8636
8637
  this.cdr.markForCheck();
@@ -8667,7 +8668,7 @@
8667
8668
  */
8668
8669
  if (this.hasValue && this._initialOpen) {
8669
8670
  this.markAsActive(this._model);
8670
- if (this.limitSelectedTo) {
8671
+ if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
8671
8672
  this.updateDisabledState();
8672
8673
  }
8673
8674
  this._initialOpen = false;
@@ -8756,6 +8757,7 @@
8756
8757
  };
8757
8758
  DatoSelectComponent.prototype.removeOption = function (option) {
8758
8759
  var _this = this;
8760
+ var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
8759
8761
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
8760
8762
  var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
8761
8763
  /**
@@ -8765,7 +8767,7 @@
8765
8767
  if (optionToRemove) {
8766
8768
  optionToRemove.active = false;
8767
8769
  }
8768
- this.limitSelectedTo && this.updateDisabledState();
8770
+ updateDisabled && this.updateDisabledState();
8769
8771
  this.onChange(this._model);
8770
8772
  this.cdr.markForCheck();
8771
8773
  if (this.datoOverlay.attached) {
@@ -9115,6 +9117,9 @@
9115
9117
  if (!datoOption) {
9116
9118
  return;
9117
9119
  }
9120
+ var modelLength = this._model.length;
9121
+ var updateDisabled = this.limitSelectedTo &&
9122
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
9118
9123
  datoOption.active = !datoOption.active;
9119
9124
  var rawOption = datoOption.option;
9120
9125
  if (datoOption.active) {
@@ -9123,7 +9128,7 @@
9123
9128
  else {
9124
9129
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
9125
9130
  }
9126
- this.limitSelectedTo && this.updateDisabledState();
9131
+ updateDisabled && this.updateDisabledState();
9127
9132
  this.onChange(this._model);
9128
9133
  this.cdr.markForCheck();
9129
9134
  this.datoOverlay.scheduleUpdate();
@@ -11576,15 +11581,14 @@
11576
11581
  };
11577
11582
  GridQuery.prototype.getSort = function () {
11578
11583
  if (this.gridRef.gridOptions.pivotMode) {
11579
- var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId_1 = _a.colId;
11580
- var column = this.api.columns.getColumn(colId_1);
11581
- var secondaryColumns = this.api.columns.getSecondaryColumns();
11582
- var pivotedColumn_1 = secondaryColumns && secondaryColumns.find(function (col) { return col.getColId() === colId_1; });
11583
- if (pivotedColumn_1) {
11584
- var uniquePivotParents = uniq(secondaryColumns.map(function (column) { return column.getParent(); }));
11585
- var secondaryColumn = secondaryColumns.find(function (col) { return col.getColId() === pivotedColumn_1.getColId(); });
11584
+ var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId = _a.colId;
11585
+ var column = this.api.columns.getColumn(colId);
11586
+ var pivotedColumn = this.getSecondaryColumn(colId);
11587
+ if (pivotedColumn) {
11588
+ var uniquePivotParents = uniq(this.api.columns.getSecondaryColumns().map(function (column) { return column.getParent(); }));
11589
+ var secondaryColumn = this.getSecondaryColumn(pivotedColumn.getColId());
11586
11590
  var pivotColIndex = uniquePivotParents.indexOf(secondaryColumn.getParent());
11587
- return { colId: getColField(pivotedColumn_1.getColDef()), sort: sort, pivotColIndex: pivotColIndex };
11591
+ return { colId: getColField(pivotedColumn.getColDef()), sort: sort, pivotColIndex: pivotColIndex };
11588
11592
  }
11589
11593
  else if (column) {
11590
11594
  return { colId: getColField(column.getColDef()), sort: sort };
@@ -11619,9 +11623,9 @@
11619
11623
  GridQuery.prototype.filterChanged = function () {
11620
11624
  return this.selectFilter().pipe(operators.map(function (filter) {
11621
11625
  return Object.keys(filter).reduce(function (filters, field) {
11622
- if (filter[field]) {
11623
- var _a = filter[field], conditional = _a.conditional, pivotFieldsMap = _a.pivotFieldsMap;
11624
- filters.push({ field: field, filter: conditional, pivotFieldsMap: pivotFieldsMap });
11626
+ var datoFilter = filter[field];
11627
+ if (datoFilter) {
11628
+ filters.push({ field: field, filter: datoFilter });
11625
11629
  }
11626
11630
  return filters;
11627
11631
  }, []);
@@ -11687,6 +11691,10 @@
11687
11691
  GridQuery.prototype.selectIsSelectAllRowsEnabled = function () {
11688
11692
  return this.select(function (state) { return state.serverSidePagination.selectAllRowsEnabled; });
11689
11693
  };
11694
+ GridQuery.prototype.getSecondaryColumn = function (colId) {
11695
+ var secondaryColumns = this.api.columns.getSecondaryColumns();
11696
+ return secondaryColumns && secondaryColumns.find(function (col) { return col.getColId() === colId; });
11697
+ };
11690
11698
  GridQuery.prototype.filterCheckboxSelectionColumn = function (columns) {
11691
11699
  return columns.filter(function (column) { return !column.getUserProvidedColDef() || !column.getUserProvidedColDef().checkboxSelection; });
11692
11700
  };
@@ -11799,9 +11807,10 @@
11799
11807
  return !isEmpty(valueLowerCase);
11800
11808
  }
11801
11809
  }
11802
- function validateNumberCondition(unparsedRowValue, _a) {
11810
+ function validateNumberCondition(unparsedRowValue, _a, filterKey) {
11803
11811
  var condition = _a.condition, value = _a.value, rangeEnd = _a.rangeEnd;
11804
- var rowValue = !!unparsedRowValue ? parseFloat(unparsedRowValue) : null;
11812
+ if (filterKey === void 0) { filterKey = ''; }
11813
+ var rowValue = !!unparsedRowValue ? parseFloat(unparsedRowValue[filterKey] || unparsedRowValue) : null;
11805
11814
  var filterValue = parseFloat(value);
11806
11815
  switch (condition) {
11807
11816
  case exports.DatoFilterConditions.EQUALS:
@@ -11849,14 +11858,14 @@
11849
11858
  }
11850
11859
  }
11851
11860
  function validateCondition(_a) {
11852
- var rowValue = _a.rowValue, filter = _a.filter, type = _a.type;
11861
+ var rowValue = _a.rowValue, condition = _a.condition, type = _a.type, filterKey = _a.filterKey;
11853
11862
  switch (type) {
11854
11863
  case exports.DatoGridFilterTypes.Date:
11855
- return validateDateCondition(rowValue, filter);
11864
+ return validateDateCondition(rowValue, condition);
11856
11865
  case exports.DatoGridFilterTypes.Number:
11857
- return validateNumberCondition(rowValue, filter);
11866
+ return validateNumberCondition(rowValue, condition, filterKey);
11858
11867
  default:
11859
- return validateStringCondition(rowValue, filter);
11868
+ return validateStringCondition(rowValue, condition);
11860
11869
  }
11861
11870
  }
11862
11871
  function validateFilter(_a, activeFilters) {
@@ -11867,7 +11876,7 @@
11867
11876
  var _loop_1 = function (filter) {
11868
11877
  var filterPasses = true;
11869
11878
  var _a = activeFilters[filter], byValue = _a.byValue, conditional = _a.conditional, pivotKeys = _a.pivotKeys;
11870
- var currentRowPivotKeys = row.parent.childrenMapped && getRowPivotKeys(row.parent.childrenMapped);
11879
+ var currentRowPivotKeys = (row.parent && row.parent.childrenMapped && getRowPivotKeys(row.parent.childrenMapped)) || [];
11871
11880
  var rowValue = api.getValue(filter, row);
11872
11881
  /** If value is under a pivoted column but doesn't match the filter pivot */
11873
11882
  if (pivotKeys && pivotKeys.length > 0 && !isArrayValuesEqual(pivotKeys, currentRowPivotKeys)) {
@@ -11876,7 +11885,9 @@
11876
11885
  if (conditional) {
11877
11886
  var operator = conditional.operator, conditions = conditional.conditions, type_1 = conditional.type;
11878
11887
  var conditionsRelation = operator === exports.OperatorTypes.AND ? 'every' : 'some';
11879
- filterPasses = conditions[conditionsRelation](function (filter) { return validateCondition({ rowValue: rowValue, filter: filter, type: type_1 }); });
11888
+ filterPasses = conditions[conditionsRelation](function (condition) {
11889
+ return validateCondition({ rowValue: rowValue, condition: condition, type: type_1, filterKey: filter });
11890
+ });
11880
11891
  }
11881
11892
  if (filterPasses && byValue) {
11882
11893
  var includesValue = byValue.values.includes(rowValue);
@@ -12004,7 +12015,7 @@
12004
12015
  return contextActions;
12005
12016
  }
12006
12017
 
12007
- var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_AP');
12018
+ var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_API');
12008
12019
 
12009
12020
  var defaultEditableColumnRenderer = function (params) {
12010
12021
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -12676,12 +12687,12 @@
12676
12687
  var ɵ0$1 = mapToValue;
12677
12688
  var mapToListItem = function (val) { return ({ id: val, label: isNil(val) ? "(Empty)" : ("" + val).trim(), value: val }); };
12678
12689
  var ɵ1$1 = mapToListItem;
12679
- var mapToListItemWithFormatted = function (_a) {
12690
+ var mapToListItemWithFormatted = function (_a, key) {
12680
12691
  var value = _a.value, formattedValue = _a.formattedValue;
12681
12692
  return ({
12682
- id: value,
12683
- label: isNil(formattedValue) ? "(Empty)" : ("" + formattedValue).trim(),
12684
- value: value
12693
+ id: key && value ? value[key] : value,
12694
+ label: isNil(formattedValue) ? "(Empty)" : ("" + (key ? formattedValue[key] : formattedValue)).trim(),
12695
+ value: key && value ? value[key] : value
12685
12696
  });
12686
12697
  };
12687
12698
  var ɵ2$1 = mapToListItemWithFormatted;
@@ -12820,15 +12831,18 @@
12820
12831
  var _this = this;
12821
12832
  var _b = this.popover.data, gridService = _b.gridService, gridQuery = _b.gridQuery;
12822
12833
  var _c = this.colDef, filter = _c.filter, _d = _c.filtersConfig, filtersConfig = _d === void 0 ? {} : _d, pivotValueColumn = _c.pivotValueColumn, pivotKeys = _c.pivotKeys;
12834
+ var colDefs = gridQuery.api.columns.getAllColumns().map(function (column) { return column.getColDef(); });
12823
12835
  this.colField = getColField(this.colDef);
12836
+ var colDef = colDefs.find(function (colDef) { return colDef.field === _this.colField; });
12837
+ var colFilter = filter || colDef.filter;
12838
+ var filterOptions = DatoGridFilterOptionsMap[colFilter];
12824
12839
  this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
12825
12840
  if (filtersConfig.sections) {
12826
12841
  this.filterSections = (_a = {}, _a[filtersConfig.sections] = true, _a);
12827
12842
  }
12828
12843
  this.keepPredefinedListOriginalOrder =
12829
12844
  filtersConfig.keepPredefinedListOriginalOrder && !isEmpty(filtersConfig.predefinedListValues);
12830
- var filterOptions = DatoGridFilterOptionsMap[filter];
12831
- this.filterType = filterOptions ? filter : exports.DatoGridFilterTypes.String;
12845
+ this.filterType = filterOptions ? colFilter : exports.DatoGridFilterTypes.String;
12832
12846
  this.listLabelType = this.filterType.toLowerCase();
12833
12847
  this.listSortByKey = this.filterType === exports.DatoGridFilterTypes.Number && this.colDef.valueFormatter ? 'id' : 'label';
12834
12848
  this.gridQuery = gridQuery;
@@ -12863,9 +12877,11 @@
12863
12877
  var columnValues = this.getColumnValues();
12864
12878
  this.columnValues = columnValues.map(function (_a) {
12865
12879
  var value = _a.value;
12866
- return value;
12880
+ return !isNil(_this.pivotColumn) && value ? value[_this.colField] : value;
12881
+ });
12882
+ this.listOptions = columnValues.map(function (colValue) {
12883
+ return mapToListItemWithFormatted(colValue, !isNil(_this.pivotColumn) && _this.colField);
12867
12884
  });
12868
- this.listOptions = columnValues.map(mapToListItemWithFormatted);
12869
12885
  }
12870
12886
  }
12871
12887
  else {
@@ -12903,6 +12919,7 @@
12903
12919
  isEmpty(filter)
12904
12920
  ? this.gridService.clearColumnFilter(this.colField)
12905
12921
  : this.gridService.setColumnFilter(column, filter);
12922
+ this.gridService.notifyFilterUpdate();
12906
12923
  }
12907
12924
  };
12908
12925
  DatoGridFilterComponent.prototype.clearFilters = function () {
@@ -12956,19 +12973,25 @@
12956
12973
  var _this = this;
12957
12974
  var _a = this.filterForm.value, byValue = _a.byValue, conditional = _a.conditional;
12958
12975
  var filter = {};
12959
- filter.pivotKeys = this.pivotKeys;
12960
- if (this.pivotColumn) {
12961
- filter.pivotFieldsMap = this.getPivotFields(this.pivotColumn.getParent()).reduce(function (fieldMap, field, index) {
12962
- fieldMap[field] = _this.pivotKeys[index];
12963
- return fieldMap;
12964
- }, {});
12965
- }
12966
12976
  if (this.filterSections.Conditional) {
12967
12977
  this.setConditionalFilter(filter, conditional);
12968
12978
  }
12969
12979
  if (this.filterSections.By_Value) {
12970
12980
  this.setByValueFilter(filter, byValue);
12971
12981
  }
12982
+ /** If filters applied, add the extra properties to be used by pivot mode */
12983
+ if (filter.byValue || filter.conditional) {
12984
+ filter.colId = this.colDef.colId;
12985
+ filter.pivotKeys = this.pivotKeys;
12986
+ if (this.pivotColumn) {
12987
+ filter.pivotFieldsMap = this.getPivotFields(this.pivotColumn.getParent()).reduce(function (fieldMap, field, index) {
12988
+ if (_this.pivotKeys[index]) {
12989
+ fieldMap[field] = _this.pivotKeys[index];
12990
+ }
12991
+ return fieldMap;
12992
+ }, {});
12993
+ }
12994
+ }
12972
12995
  return filter;
12973
12996
  };
12974
12997
  DatoGridFilterComponent.prototype.initForm = function () {
@@ -14350,12 +14373,45 @@
14350
14373
  });
14351
14374
  this.notifyFilterUpdate();
14352
14375
  };
14353
- GridService.prototype.setColumnFilter = function (column, filter) {
14376
+ GridService.prototype.setColumnFilter = function (column, filter, notifyGrid) {
14377
+ if (notifyGrid === void 0) { notifyGrid = true; }
14354
14378
  this._logEvent("Grids - Filter Applied" /* GRID_FILTER_APPLIED */, {
14355
14379
  column: column.getColId(),
14356
14380
  numOfConditions: (filter.conditional && filter.conditional.conditions.length) || 0,
14357
14381
  byValue: !!filter.byValue ? 'Yes' : 'No'
14358
14382
  });
14383
+ this.updateFilter(column, filter);
14384
+ if (notifyGrid) {
14385
+ this.notifyFilterUpdate();
14386
+ }
14387
+ };
14388
+ GridService.prototype.setGridFilters = function (filters) {
14389
+ var e_2, _a;
14390
+ if (this.api) {
14391
+ try {
14392
+ for (var filters_1 = __values(filters), filters_1_1 = filters_1.next(); !filters_1_1.done; filters_1_1 = filters_1.next()) {
14393
+ var filter = filters_1_1.value.filter;
14394
+ var column = this.api.columns.getColumn(filter.colId);
14395
+ if (column) {
14396
+ this.setColumnFilter(column, filter);
14397
+ }
14398
+ else {
14399
+ var pivotColumn = this.gridQuery.getSecondaryColumn(filter.colId);
14400
+ this.setColumnFilter(pivotColumn, filter);
14401
+ }
14402
+ }
14403
+ }
14404
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
14405
+ finally {
14406
+ try {
14407
+ if (filters_1_1 && !filters_1_1.done && (_a = filters_1.return)) _a.call(filters_1);
14408
+ }
14409
+ finally { if (e_2) throw e_2.error; }
14410
+ }
14411
+ this.notifyFilterUpdate();
14412
+ }
14413
+ };
14414
+ GridService.prototype.updateFilter = function (column, filter) {
14359
14415
  var colField = getColField(column.getColDef());
14360
14416
  this.store.update(function (state) {
14361
14417
  var _a;
@@ -14363,7 +14419,6 @@
14363
14419
  settings: __assign(__assign({}, state.settings), { filter: __assign(__assign({}, state.settings.filter), (_a = {}, _a[colField] = filter, _a)) })
14364
14420
  };
14365
14421
  });
14366
- this.notifyFilterUpdate();
14367
14422
  };
14368
14423
  GridService.prototype.setSearchTerm = function (searchTerm) {
14369
14424
  this.store.update(function (state) {
@@ -14411,8 +14466,7 @@
14411
14466
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14412
14467
  };
14413
14468
  GridService.prototype.saveSettingsToServer = function (settings) {
14414
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14415
- this.storageAPI.set(this.gridName, settings, isGlobal);
14469
+ this.storageAPI.set(this.gridName, settings);
14416
14470
  };
14417
14471
  /**
14418
14472
  * @internal used to log grid events to the platform's logging service
@@ -14656,7 +14710,7 @@
14656
14710
  this.api.grid.onFilterChanged();
14657
14711
  };
14658
14712
  GridService.prototype.buildServerRequestFilters = function (filter) {
14659
- var e_2, _a;
14713
+ var e_3, _a;
14660
14714
  var columnsFilters = {};
14661
14715
  try {
14662
14716
  for (var _b = __values(Object.entries(filter)), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -14692,12 +14746,12 @@
14692
14746
  }
14693
14747
  }
14694
14748
  }
14695
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
14749
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
14696
14750
  finally {
14697
14751
  try {
14698
14752
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
14699
14753
  }
14700
- finally { if (e_2) throw e_2.error; }
14754
+ finally { if (e_3) throw e_3.error; }
14701
14755
  }
14702
14756
  return columnsFilters;
14703
14757
  };
@@ -14750,7 +14804,7 @@
14750
14804
  return { operator: exports.OperatorTypes.AND, filters: [columnFilter, searchFilter] };
14751
14805
  };
14752
14806
  GridService.prototype.buildServerColumnFilters_v2_1 = function (filter) {
14753
- var e_3, _a;
14807
+ var e_4, _a;
14754
14808
  var columnFilters = [];
14755
14809
  try {
14756
14810
  for (var _b = __values(Object.entries(filter)), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -14775,12 +14829,12 @@
14775
14829
  columnFilters.push(columnFilter);
14776
14830
  }
14777
14831
  }
14778
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
14832
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
14779
14833
  finally {
14780
14834
  try {
14781
14835
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
14782
14836
  }
14783
- finally { if (e_3) throw e_3.error; }
14837
+ finally { if (e_4) throw e_4.error; }
14784
14838
  }
14785
14839
  return columnFilters;
14786
14840
  };
@@ -14873,27 +14927,14 @@
14873
14927
  /**
14874
14928
  * When pivoting,
14875
14929
  * we add the field name to the column header class in order to access it through the auto generated pivot column.
14876
- * @private
14877
14930
  */
14878
14931
  GridService.prototype.initPivotSecondaryColsProcess = function (_a) {
14879
14932
  var _this = this;
14880
14933
  var gridOptions = _a.gridOptions;
14881
14934
  gridOptions.processSecondaryColDef = function (colDef) {
14882
- var api = colDef.headerComponentParams && colDef.headerComponentParams.gridQuery.api;
14883
- if (api) {
14884
- var valueColumns = colDef.headerComponentParams.gridQuery.api.columns.getValueColumns();
14885
- var originalColDef = valueColumns
14886
- .map(function (_a) {
14887
- var userProvidedColDef = _a.userProvidedColDef;
14888
- return userProvidedColDef;
14889
- })
14890
- .find(function (_a) {
14891
- var colId = _a.colId;
14892
- return colId === colDef.pivotValueColumn.getColId();
14893
- });
14894
- if (originalColDef) {
14895
- colDef.filter = originalColDef.filter;
14896
- }
14935
+ var userProvidedColDef = colDef.pivotValueColumn && colDef.pivotValueColumn.getUserProvidedColDef();
14936
+ if (userProvidedColDef) {
14937
+ colDef.filter = userProvidedColDef.filter;
14897
14938
  }
14898
14939
  if (colDef.pivotKeys) {
14899
14940
  colDef.pivotKeys = colDef.pivotKeys.map(function (key) {
@@ -14909,7 +14950,7 @@
14909
14950
  var field = parsedValue.field, value = parsedValue.value;
14910
14951
  colGroupDef.headerClass = [field];
14911
14952
  colGroupDef.headerName = value;
14912
- if (colGroupDef.children && colGroupDef.children.length > 1) {
14953
+ if (colGroupDef.children && colGroupDef.children.length > 0) {
14913
14954
  colGroupDef.headerClass.push('group-pivot-cell');
14914
14955
  }
14915
14956
  }
@@ -14936,7 +14977,7 @@
14936
14977
  GridService.prototype.setPivotModeRows = function (data) {
14937
14978
  var pivotColumns = this.gridQuery.getAllPivotColumns();
14938
14979
  var convertedData = data.map(function (currentValue, index) {
14939
- var e_4, _a;
14980
+ var e_5, _a;
14940
14981
  var mappedValues = __assign({}, currentValue);
14941
14982
  try {
14942
14983
  for (var pivotColumns_1 = __values(pivotColumns), pivotColumns_1_1 = pivotColumns_1.next(); !pivotColumns_1_1.done; pivotColumns_1_1 = pivotColumns_1.next()) {
@@ -14946,12 +14987,12 @@
14946
14987
  mappedValues[field] = JSON.stringify(pivotValue);
14947
14988
  }
14948
14989
  }
14949
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
14990
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
14950
14991
  finally {
14951
14992
  try {
14952
14993
  if (pivotColumns_1_1 && !pivotColumns_1_1.done && (_a = pivotColumns_1.return)) _a.call(pivotColumns_1);
14953
14994
  }
14954
- finally { if (e_4) throw e_4.error; }
14995
+ finally { if (e_5) throw e_5.error; }
14955
14996
  }
14956
14997
  return mappedValues;
14957
14998
  });
@@ -15423,10 +15464,7 @@
15423
15464
  .pipe(operators.switchMap(function () {
15424
15465
  _this.gridOptions = _this.normalizeOptions();
15425
15466
  agGrid.gridOptions = _this.gridOptions;
15426
- var isGlobal = _this.gridOptions.isGlobalSettings;
15427
- var settingsLoader = _this.gridOptions.saveSettings === false
15428
- ? rxjs.of(null)
15429
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15467
+ var settingsLoader = _this.gridOptions.saveSettings === false ? rxjs.of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15430
15468
  return rxjs.combineLatest([agGrid.gridReady, settingsLoader]);
15431
15469
  }), ngxTakeUntilDestroy.untilDestroyed(this))
15432
15470
  .subscribe(function (_a) {
@@ -15470,6 +15508,9 @@
15470
15508
  DatoGridControllerComponent.prototype.setGridRows = function (data) {
15471
15509
  this.gridService.setRows(data);
15472
15510
  };
15511
+ DatoGridControllerComponent.prototype.setGridFilters = function (filters) {
15512
+ this.gridService.setGridFilters(filters);
15513
+ };
15473
15514
  DatoGridControllerComponent.prototype.onFilterChanged = function () {
15474
15515
  return this.gridQuery.filterChanged();
15475
15516
  };
@@ -16475,7 +16516,7 @@
16475
16516
  core.Component({
16476
16517
  selector: 'dato-grid-pagination-v2',
16477
16518
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16478
- 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-next-page\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" data-auto-id=\"pagiantion-next-page\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" data-auto-id=\"pagiantion-next-page\">\n </dato-icon-button>\n </div>\n</div>\n",
16519
+ 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",
16479
16520
  providers: [common.DecimalPipe],
16480
16521
  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}"]
16481
16522
  }),
@@ -16697,18 +16738,6 @@
16697
16738
  this.registerGroupListeners();
16698
16739
  this.subscribeRowsSelectionData();
16699
16740
  };
16700
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16701
- var _this = this;
16702
- return this.gridController.gridQuery.waitForGrid(function () {
16703
- return _this.gridQuery.gridRef.cellValueChanged.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16704
- });
16705
- };
16706
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16707
- var _this = this;
16708
- return this.gridController.gridQuery.waitForGrid(function () {
16709
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16710
- });
16711
- };
16712
16741
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16713
16742
  if (isFunction(action.onClick)) {
16714
16743
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21180,40 +21209,6 @@
21180
21209
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21181
21210
  */
21182
21211
 
21183
- var RichTextService = /** @class */ (function () {
21184
- function RichTextService(http, config) {
21185
- this.http = http;
21186
- this.config = config;
21187
- }
21188
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21189
- if (!this.richTextScript$) {
21190
- this.initLib(appendScriptFunc, appendStyleFunc);
21191
- }
21192
- return this.richTextScript$;
21193
- };
21194
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21195
- this.richTextScript$ = rxjs.combineLatest([
21196
- this.http
21197
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21198
- .pipe(operators.tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21199
- this.http
21200
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21201
- .pipe(operators.tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21202
- ]).pipe(operators.shareReplay(1));
21203
- };
21204
- RichTextService.ctorParameters = function () { return [
21205
- { type: http.HttpClient },
21206
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21207
- ]; };
21208
- RichTextService.ɵprov = core.ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21209
- RichTextService = __decorate([
21210
- core.Injectable({ providedIn: 'root' }),
21211
- __param(1, core.Inject(DATO_CORE_CONFIG)),
21212
- __metadata("design:paramtypes", [http.HttpClient, Object])
21213
- ], RichTextService);
21214
- return RichTextService;
21215
- }());
21216
-
21217
21212
  /**
21218
21213
  * @license
21219
21214
  * Copyright Datorama. All Rights Reserved.
@@ -21227,12 +21222,12 @@
21227
21222
  var ɵ0$3 = getTinymce;
21228
21223
  var DatoRichTextDirective = /** @class */ (function (_super) {
21229
21224
  __extends(DatoRichTextDirective, _super);
21230
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21225
+ function DatoRichTextDirective(ngZone, http, host, config) {
21231
21226
  var _this = _super.call(this) || this;
21232
21227
  _this.ngZone = ngZone;
21233
- _this.richTextService = richTextService;
21234
- _this.config = config;
21228
+ _this.http = http;
21235
21229
  _this.host = host;
21230
+ _this.config = config;
21236
21231
  _this.autocompleteOptions = {};
21237
21232
  _this.forcePlainTextPasting = false;
21238
21233
  _this.format = 'html';
@@ -21266,11 +21261,28 @@
21266
21261
  base: this.config.paths.richText,
21267
21262
  query: ''
21268
21263
  };
21269
- this.richTextService
21270
- .getLib(appendScript, appendStyle)
21271
- .pipe(ngxTakeUntilDestroy.untilDestroyed(this))
21272
- .subscribe(function () {
21273
- _this.init.call(_this);
21264
+ /**
21265
+ * We support only one instance in load time
21266
+ */
21267
+ if (window.tinymce) {
21268
+ this.init.call(this);
21269
+ }
21270
+ else {
21271
+ this.loadLib().subscribe(function (lib) {
21272
+ appendScript(lib, 'rich-text-editor');
21273
+ _this.init.call(_this);
21274
+ _this.loadAutoCompleteStyle();
21275
+ });
21276
+ }
21277
+ };
21278
+ DatoRichTextDirective.prototype.loadLib = function () {
21279
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21280
+ };
21281
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21282
+ this.http
21283
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21284
+ .subscribe(function (style) {
21285
+ appendStyle(style, 'tinymce-autocomplete');
21274
21286
  });
21275
21287
  };
21276
21288
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21363,9 +21375,9 @@
21363
21375
  var DatoRichTextDirective_1;
21364
21376
  DatoRichTextDirective.ctorParameters = function () { return [
21365
21377
  { type: core.NgZone },
21366
- { type: RichTextService },
21367
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] },
21368
- { type: core.ElementRef }
21378
+ { type: http.HttpClient },
21379
+ { type: core.ElementRef },
21380
+ { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21369
21381
  ]; };
21370
21382
  __decorate([
21371
21383
  core.Input(),
@@ -21431,9 +21443,10 @@
21431
21443
  }
21432
21444
  ]
21433
21445
  }),
21434
- __param(2, core.Inject(DATO_CORE_CONFIG)),
21446
+ __param(3, core.Inject(DATO_CORE_CONFIG)),
21435
21447
  __metadata("design:paramtypes", [core.NgZone,
21436
- RichTextService, Object, core.ElementRef])
21448
+ http.HttpClient,
21449
+ core.ElementRef, Object])
21437
21450
  ], DatoRichTextDirective);
21438
21451
  return DatoRichTextDirective;
21439
21452
  }(BaseCustomControl));
@@ -23956,9 +23969,7 @@
23956
23969
  };
23957
23970
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
23958
23971
  var _this = this;
23959
- this.headerControl.valueChanges
23960
- .pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this))
23961
- .subscribe(function (res) {
23972
+ this.headerControl.valueChanges.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (res) {
23962
23973
  _this.updateEditableText.emit(res);
23963
23974
  _this.cdr.detectChanges();
23964
23975
  });
@@ -25301,7 +25312,7 @@
25301
25312
  };
25302
25313
  }
25303
25314
 
25304
- window.coreVersion = '21.4.0-rc.';
25315
+ window.coreVersion = '22.0.2';
25305
25316
 
25306
25317
  exports.APP_TRANSLATE = APP_TRANSLATE;
25307
25318
  exports.AceService = AceService;
@@ -25743,7 +25754,6 @@
25743
25754
  exports.ɵl = DatoGridItemsCountCellComponent;
25744
25755
  exports.ɵm = DatoGridV2ToolbarMoreMenuComponent;
25745
25756
  exports.ɵn = DatoGridSearchBarComponent;
25746
- exports.ɵo = RichTextService;
25747
25757
 
25748
25758
  Object.defineProperty(exports, '__esModule', { value: true });
25749
25759