@datorama/core 21.4.0-rc.8 → 22.0.1

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 (55) hide show
  1. package/bundle.scss +2 -2
  2. package/bundles/datorama-core.umd.js +155 -141
  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 +5 -3
  16. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  17. package/esm2015/lib/grid-v2/grid-store/grid.query.js +12 -9
  18. package/esm2015/lib/grid-v2/grid-store/grid.service.js +29 -17
  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 +6 -3
  31. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  32. package/esm5/lib/grid-v2/grid-store/grid.query.js +16 -13
  33. package/esm5/lib/grid-v2/grid-store/grid.service.js +51 -32
  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 +125 -114
  39. package/fesm2015/datorama-core.js.map +1 -1
  40. package/fesm5/datorama-core.js +156 -141
  41. package/fesm5/datorama-core.js.map +1 -1
  42. package/i18n/locale-en_US.json +2 -1
  43. package/lib/grid-v2/grid/grid-v2.types.d.ts +0 -1
  44. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +3 -2
  45. package/lib/grid-v2/grid-filter/filter-validator.d.ts +4 -3
  46. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +4 -3
  47. package/lib/grid-v2/grid-settings.d.ts +2 -2
  48. package/lib/grid-v2/grid-store/grid.query.d.ts +3 -2
  49. package/lib/grid-v2/grid-store/grid.service.d.ts +4 -3
  50. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  51. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  52. package/package.json +1 -1
  53. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  54. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  55. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -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 };
@@ -11618,10 +11622,10 @@
11618
11622
  };
11619
11623
  GridQuery.prototype.filterChanged = function () {
11620
11624
  return this.selectFilter().pipe(operators.map(function (filter) {
11621
- return Object.keys(filter).reduce(function (filters, key) {
11622
- if (filter[key]) {
11623
- var _a = filter[key], conditional = _a.conditional, pivotFieldsMap = _a.pivotFieldsMap;
11624
- filters.push({ column: key, filter: conditional, pivotFieldsMap: pivotFieldsMap });
11625
+ return Object.keys(filter).reduce(function (filters, field) {
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,26 +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) {
14932
+ var _this = this;
14879
14933
  var gridOptions = _a.gridOptions;
14880
14934
  gridOptions.processSecondaryColDef = function (colDef) {
14881
- var api = colDef.headerComponentParams && colDef.headerComponentParams.gridQuery.api;
14882
- if (api) {
14883
- var valueColumns = colDef.headerComponentParams.gridQuery.api.columns.getValueColumns();
14884
- var originalColDef = valueColumns
14885
- .map(function (_a) {
14886
- var userProvidedColDef = _a.userProvidedColDef;
14887
- return userProvidedColDef;
14888
- })
14889
- .find(function (_a) {
14890
- var colId = _a.colId;
14891
- return colId === colDef.pivotValueColumn.getColId();
14892
- });
14893
- if (originalColDef) {
14894
- colDef.filter = originalColDef.filter;
14895
- }
14935
+ var userProvidedColDef = colDef.pivotValueColumn && colDef.pivotValueColumn.getUserProvidedColDef();
14936
+ if (userProvidedColDef) {
14937
+ colDef.filter = userProvidedColDef.filter;
14896
14938
  }
14897
14939
  if (colDef.pivotKeys) {
14898
14940
  colDef.pivotKeys = colDef.pivotKeys.map(function (key) {
@@ -14908,7 +14950,7 @@
14908
14950
  var field = parsedValue.field, value = parsedValue.value;
14909
14951
  colGroupDef.headerClass = [field];
14910
14952
  colGroupDef.headerName = value;
14911
- if (colGroupDef.children && colGroupDef.children.length > 1) {
14953
+ if (colGroupDef.children && colGroupDef.children.length > 0) {
14912
14954
  colGroupDef.headerClass.push('group-pivot-cell');
14913
14955
  }
14914
14956
  }
@@ -14918,7 +14960,7 @@
14918
14960
  var pivotTotalColumnIds = colChild && colChild.pivotTotalColumnIds;
14919
14961
  if (pivotTotalColumnIds && pivotTotalColumnIds.length > 0) {
14920
14962
  colGroupDef.headerClass = ['total-pivot-cell'];
14921
- colGroupDef.headerName = 'Total';
14963
+ colGroupDef.headerName = _this.translate.transform('core.total');
14922
14964
  }
14923
14965
  }
14924
14966
  else {
@@ -14935,7 +14977,7 @@
14935
14977
  GridService.prototype.setPivotModeRows = function (data) {
14936
14978
  var pivotColumns = this.gridQuery.getAllPivotColumns();
14937
14979
  var convertedData = data.map(function (currentValue, index) {
14938
- var e_4, _a;
14980
+ var e_5, _a;
14939
14981
  var mappedValues = __assign({}, currentValue);
14940
14982
  try {
14941
14983
  for (var pivotColumns_1 = __values(pivotColumns), pivotColumns_1_1 = pivotColumns_1.next(); !pivotColumns_1_1.done; pivotColumns_1_1 = pivotColumns_1.next()) {
@@ -14945,12 +14987,12 @@
14945
14987
  mappedValues[field] = JSON.stringify(pivotValue);
14946
14988
  }
14947
14989
  }
14948
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
14990
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
14949
14991
  finally {
14950
14992
  try {
14951
14993
  if (pivotColumns_1_1 && !pivotColumns_1_1.done && (_a = pivotColumns_1.return)) _a.call(pivotColumns_1);
14952
14994
  }
14953
- finally { if (e_4) throw e_4.error; }
14995
+ finally { if (e_5) throw e_5.error; }
14954
14996
  }
14955
14997
  return mappedValues;
14956
14998
  });
@@ -15422,10 +15464,7 @@
15422
15464
  .pipe(operators.switchMap(function () {
15423
15465
  _this.gridOptions = _this.normalizeOptions();
15424
15466
  agGrid.gridOptions = _this.gridOptions;
15425
- var isGlobal = _this.gridOptions.isGlobalSettings;
15426
- var settingsLoader = _this.gridOptions.saveSettings === false
15427
- ? rxjs.of(null)
15428
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15467
+ var settingsLoader = _this.gridOptions.saveSettings === false ? rxjs.of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15429
15468
  return rxjs.combineLatest([agGrid.gridReady, settingsLoader]);
15430
15469
  }), ngxTakeUntilDestroy.untilDestroyed(this))
15431
15470
  .subscribe(function (_a) {
@@ -15469,6 +15508,9 @@
15469
15508
  DatoGridControllerComponent.prototype.setGridRows = function (data) {
15470
15509
  this.gridService.setRows(data);
15471
15510
  };
15511
+ DatoGridControllerComponent.prototype.setGridFilters = function (filters) {
15512
+ this.gridService.setGridFilters(filters);
15513
+ };
15472
15514
  DatoGridControllerComponent.prototype.onFilterChanged = function () {
15473
15515
  return this.gridQuery.filterChanged();
15474
15516
  };
@@ -16380,8 +16422,11 @@
16380
16422
  return page;
16381
16423
  };
16382
16424
  DatoGridPaginationV2Component.prototype.toggleGroupsState = function () {
16383
- this.isExpanded ? this.gridApi.collapseAll() : this.gridApi.expandAll();
16425
+ var _this = this;
16384
16426
  this.isExpanded = !this.isExpanded;
16427
+ this.gridApi.forEachNode(function (node) {
16428
+ node.setExpanded(_this.isExpanded);
16429
+ });
16385
16430
  };
16386
16431
  DatoGridPaginationV2Component.prototype.autoFitGrid = function (type) {
16387
16432
  this.gridService.fitGrid(type);
@@ -16474,7 +16519,7 @@
16474
16519
  core.Component({
16475
16520
  selector: 'dato-grid-pagination-v2',
16476
16521
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16477
- 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",
16522
+ 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",
16478
16523
  providers: [common.DecimalPipe],
16479
16524
  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}"]
16480
16525
  }),
@@ -16696,18 +16741,6 @@
16696
16741
  this.registerGroupListeners();
16697
16742
  this.subscribeRowsSelectionData();
16698
16743
  };
16699
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16700
- var _this = this;
16701
- return this.gridController.gridQuery.waitForGrid(function () {
16702
- return _this.gridQuery.gridRef.cellValueChanged.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16703
- });
16704
- };
16705
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16706
- var _this = this;
16707
- return this.gridController.gridQuery.waitForGrid(function () {
16708
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16709
- });
16710
- };
16711
16744
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16712
16745
  if (isFunction(action.onClick)) {
16713
16746
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21179,40 +21212,6 @@
21179
21212
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21180
21213
  */
21181
21214
 
21182
- var RichTextService = /** @class */ (function () {
21183
- function RichTextService(http, config) {
21184
- this.http = http;
21185
- this.config = config;
21186
- }
21187
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21188
- if (!this.richTextScript$) {
21189
- this.initLib(appendScriptFunc, appendStyleFunc);
21190
- }
21191
- return this.richTextScript$;
21192
- };
21193
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21194
- this.richTextScript$ = rxjs.combineLatest([
21195
- this.http
21196
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21197
- .pipe(operators.tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21198
- this.http
21199
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21200
- .pipe(operators.tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21201
- ]).pipe(operators.shareReplay(1));
21202
- };
21203
- RichTextService.ctorParameters = function () { return [
21204
- { type: http.HttpClient },
21205
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21206
- ]; };
21207
- RichTextService.ɵprov = core.ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21208
- RichTextService = __decorate([
21209
- core.Injectable({ providedIn: 'root' }),
21210
- __param(1, core.Inject(DATO_CORE_CONFIG)),
21211
- __metadata("design:paramtypes", [http.HttpClient, Object])
21212
- ], RichTextService);
21213
- return RichTextService;
21214
- }());
21215
-
21216
21215
  /**
21217
21216
  * @license
21218
21217
  * Copyright Datorama. All Rights Reserved.
@@ -21226,12 +21225,12 @@
21226
21225
  var ɵ0$3 = getTinymce;
21227
21226
  var DatoRichTextDirective = /** @class */ (function (_super) {
21228
21227
  __extends(DatoRichTextDirective, _super);
21229
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21228
+ function DatoRichTextDirective(ngZone, http, host, config) {
21230
21229
  var _this = _super.call(this) || this;
21231
21230
  _this.ngZone = ngZone;
21232
- _this.richTextService = richTextService;
21233
- _this.config = config;
21231
+ _this.http = http;
21234
21232
  _this.host = host;
21233
+ _this.config = config;
21235
21234
  _this.autocompleteOptions = {};
21236
21235
  _this.forcePlainTextPasting = false;
21237
21236
  _this.format = 'html';
@@ -21265,11 +21264,28 @@
21265
21264
  base: this.config.paths.richText,
21266
21265
  query: ''
21267
21266
  };
21268
- this.richTextService
21269
- .getLib(appendScript, appendStyle)
21270
- .pipe(ngxTakeUntilDestroy.untilDestroyed(this))
21271
- .subscribe(function () {
21272
- _this.init.call(_this);
21267
+ /**
21268
+ * We support only one instance in load time
21269
+ */
21270
+ if (window.tinymce) {
21271
+ this.init.call(this);
21272
+ }
21273
+ else {
21274
+ this.loadLib().subscribe(function (lib) {
21275
+ appendScript(lib, 'rich-text-editor');
21276
+ _this.init.call(_this);
21277
+ _this.loadAutoCompleteStyle();
21278
+ });
21279
+ }
21280
+ };
21281
+ DatoRichTextDirective.prototype.loadLib = function () {
21282
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21283
+ };
21284
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21285
+ this.http
21286
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21287
+ .subscribe(function (style) {
21288
+ appendStyle(style, 'tinymce-autocomplete');
21273
21289
  });
21274
21290
  };
21275
21291
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21362,9 +21378,9 @@
21362
21378
  var DatoRichTextDirective_1;
21363
21379
  DatoRichTextDirective.ctorParameters = function () { return [
21364
21380
  { type: core.NgZone },
21365
- { type: RichTextService },
21366
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] },
21367
- { type: core.ElementRef }
21381
+ { type: http.HttpClient },
21382
+ { type: core.ElementRef },
21383
+ { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21368
21384
  ]; };
21369
21385
  __decorate([
21370
21386
  core.Input(),
@@ -21430,9 +21446,10 @@
21430
21446
  }
21431
21447
  ]
21432
21448
  }),
21433
- __param(2, core.Inject(DATO_CORE_CONFIG)),
21449
+ __param(3, core.Inject(DATO_CORE_CONFIG)),
21434
21450
  __metadata("design:paramtypes", [core.NgZone,
21435
- RichTextService, Object, core.ElementRef])
21451
+ http.HttpClient,
21452
+ core.ElementRef, Object])
21436
21453
  ], DatoRichTextDirective);
21437
21454
  return DatoRichTextDirective;
21438
21455
  }(BaseCustomControl));
@@ -23955,9 +23972,7 @@
23955
23972
  };
23956
23973
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
23957
23974
  var _this = this;
23958
- this.headerControl.valueChanges
23959
- .pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this))
23960
- .subscribe(function (res) {
23975
+ this.headerControl.valueChanges.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (res) {
23961
23976
  _this.updateEditableText.emit(res);
23962
23977
  _this.cdr.detectChanges();
23963
23978
  });
@@ -25300,7 +25315,7 @@
25300
25315
  };
25301
25316
  }
25302
25317
 
25303
- window.coreVersion = '21.4.0-rc.';
25318
+ window.coreVersion = '22.0.1';
25304
25319
 
25305
25320
  exports.APP_TRANSLATE = APP_TRANSLATE;
25306
25321
  exports.AceService = AceService;
@@ -25742,7 +25757,6 @@
25742
25757
  exports.ɵl = DatoGridItemsCountCellComponent;
25743
25758
  exports.ɵm = DatoGridV2ToolbarMoreMenuComponent;
25744
25759
  exports.ɵn = DatoGridSearchBarComponent;
25745
- exports.ɵo = RichTextService;
25746
25760
 
25747
25761
  Object.defineProperty(exports, '__esModule', { value: true });
25748
25762