@datorama/core 22.1.1-rc.2 → 22.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/bundle.scss +16 -17
  2. package/bundles/datorama-core.umd.js +173 -145
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +27 -27
  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 +14 -17
  12. package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +3 -1
  13. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +12 -4
  14. package/esm2015/lib/grid-v2/grid-filter/grid-filter.types.js +3 -1
  15. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +5 -5
  16. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  17. package/esm2015/lib/grid-v2/grid-store/grid.query.js +19 -14
  18. package/esm2015/lib/grid-v2/grid-store/grid.service.js +46 -27
  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 +14 -17
  29. package/esm5/lib/grid-v2/grid-filter/filter-validator.js +3 -1
  30. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +12 -4
  31. package/esm5/lib/grid-v2/grid-filter/grid-filter.types.js +3 -1
  32. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +5 -5
  33. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  34. package/esm5/lib/grid-v2/grid-store/grid.query.js +19 -14
  35. package/esm5/lib/grid-v2/grid-store/grid.service.js +48 -29
  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 +171 -135
  43. package/fesm2015/datorama-core.js.map +1 -1
  44. package/fesm5/datorama-core.js +174 -145
  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 +6 -2
  48. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +1 -2
  49. package/lib/grid-v2/grid-filter/grid-filter.types.d.ts +3 -1
  50. package/lib/grid-v2/grid-pagination/grid-pagination.component.d.ts +1 -0
  51. package/lib/grid-v2/grid-settings.d.ts +2 -2
  52. package/lib/grid-v2/grid-store/grid.service.d.ts +2 -1
  53. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  54. package/lib/icon/icon.types.d.ts +1 -1
  55. package/lib/progress-bar/progress-bar.component.d.ts +8 -2
  56. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  57. package/package.json +1 -1
  58. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  59. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  60. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -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();
@@ -11578,20 +11583,23 @@
11578
11583
  if (this.gridRef.gridOptions.pivotMode) {
11579
11584
  var _a = this.api.grid.getSortModel().pop() || {}, sort = _a.sort, colId = _a.colId;
11580
11585
  var column = this.api.columns.getColumn(colId);
11581
- var pivotedColumn = this.getSecondaryColumn(colId);
11582
- if (pivotedColumn) {
11583
- var uniquePivotParents = uniq(this.api.columns.getSecondaryColumns().map(function (column) { return column.getParent(); }));
11584
- var secondaryColumn = this.getSecondaryColumn(pivotedColumn.getColId());
11585
- var pivotColIndex = uniquePivotParents.indexOf(secondaryColumn.getParent());
11586
- return { colId: getColField(pivotedColumn.getColDef()), sort: sort, pivotColIndex: pivotColIndex };
11586
+ var allColumns = this.api.columns.getAllGridColumns();
11587
+ if (column) {
11588
+ return { colId: colId, sort: sort, field: getColField(column.getColDef()), sortIndex: allColumns.indexOf(column) };
11587
11589
  }
11588
- else if (column) {
11589
- return { colId: getColField(column.getColDef()), sort: sort };
11590
+ else {
11591
+ var secondaryColumn = this.getSecondaryColumn(colId);
11592
+ if (secondaryColumn) {
11593
+ return {
11594
+ colId: colId,
11595
+ sort: sort,
11596
+ field: getColField(secondaryColumn.getColDef()),
11597
+ sortIndex: allColumns.indexOf(secondaryColumn)
11598
+ };
11599
+ }
11590
11600
  }
11591
11601
  }
11592
- else {
11593
- return this.api.grid.getSortModel().pop();
11594
- }
11602
+ return this.api.grid.getSortModel().pop();
11595
11603
  };
11596
11604
  GridQuery.prototype.selectSort = function () {
11597
11605
  return this.select(function (state) { return state.settings.sort; });
@@ -11688,7 +11696,10 @@
11688
11696
  };
11689
11697
  GridQuery.prototype.getSecondaryColumn = function (colId) {
11690
11698
  var secondaryColumns = this.api.columns.getSecondaryColumns();
11691
- return secondaryColumns && secondaryColumns.find(function (col) { return col.getColId() === colId; });
11699
+ if (secondaryColumns) {
11700
+ return secondaryColumns.find(function (col) { return col.getColId() === colId; });
11701
+ }
11702
+ return null;
11692
11703
  };
11693
11704
  GridQuery.prototype.filterCheckboxSelectionColumn = function (columns) {
11694
11705
  return columns.filter(function (column) { return !column.getUserProvidedColDef() || !column.getUserProvidedColDef().checkboxSelection; });
@@ -11740,6 +11751,8 @@
11740
11751
  DatoFilterConditions["NOT_IN_LIST"] = "NOT_IN_LIST";
11741
11752
  DatoFilterConditions["IS_EMPTY"] = "IS_EMPTY";
11742
11753
  DatoFilterConditions["NOT_EMPTY"] = "NOT_EMPTY";
11754
+ DatoFilterConditions["IS_NULL"] = "IS_NULL";
11755
+ DatoFilterConditions["NOT_NULL"] = "NOT_NULL";
11743
11756
  })(exports.DatoFilterConditions || (exports.DatoFilterConditions = {}));
11744
11757
  var DatoGridDateFilterOptions = [
11745
11758
  exports.DatoFilterConditions.IN_RANGE,
@@ -11823,8 +11836,10 @@
11823
11836
  case exports.DatoFilterConditions.IN_RANGE:
11824
11837
  return rowValue >= filterValue && rowValue <= parseFloat(rangeEnd);
11825
11838
  case exports.DatoFilterConditions.IS_EMPTY:
11839
+ case exports.DatoFilterConditions.IS_NULL:
11826
11840
  return isNil(rowValue);
11827
11841
  case exports.DatoFilterConditions.NOT_EMPTY:
11842
+ case exports.DatoFilterConditions.NOT_NULL:
11828
11843
  return !isNil(rowValue);
11829
11844
  }
11830
11845
  }
@@ -12010,7 +12025,7 @@
12010
12025
  return contextActions;
12011
12026
  }
12012
12027
 
12013
- var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_AP');
12028
+ var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_API');
12014
12029
 
12015
12030
  var defaultEditableColumnRenderer = function (params) {
12016
12031
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -12825,10 +12840,11 @@
12825
12840
  var _a;
12826
12841
  var _this = this;
12827
12842
  var _b = this.popover.data, gridService = _b.gridService, gridQuery = _b.gridQuery;
12828
- var _c = this.colDef, filter = _c.filter, _d = _c.filtersConfig, filtersConfig = _d === void 0 ? {} : _d, pivotValueColumn = _c.pivotValueColumn, pivotKeys = _c.pivotKeys;
12843
+ var _c = this.colDef, filter = _c.filter, pivotValueColumn = _c.pivotValueColumn, pivotKeys = _c.pivotKeys;
12829
12844
  var colDefs = gridQuery.api.columns.getAllColumns().map(function (column) { return column.getColDef(); });
12830
12845
  this.colField = getColField(this.colDef);
12831
12846
  var colDef = colDefs.find(function (colDef) { return colDef.field === _this.colField; });
12847
+ var filtersConfig = colDef.filtersConfig || this.colDef.filtersConfig || {};
12832
12848
  var colFilter = filter || colDef.filter;
12833
12849
  var filterOptions = DatoGridFilterOptionsMap[colFilter];
12834
12850
  this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
@@ -12850,7 +12866,11 @@
12850
12866
  if (this.filterSections.Conditional) {
12851
12867
  var filterConditions = filterOptions || DatoGridStringFilterOptions;
12852
12868
  if (filtersConfig.showEmptyConditions) {
12853
- filterConditions = __spread(filterConditions, [exports.DatoFilterConditions.IS_EMPTY, exports.DatoFilterConditions.NOT_EMPTY]);
12869
+ var emptyConditions = [exports.DatoFilterConditions.IS_EMPTY, exports.DatoFilterConditions.NOT_EMPTY];
12870
+ if (this.filterType === exports.DatoGridFilterTypes.Number) {
12871
+ emptyConditions = [exports.DatoFilterConditions.IS_NULL, exports.DatoFilterConditions.NOT_NULL];
12872
+ }
12873
+ filterConditions = __spread(filterConditions, emptyConditions);
12854
12874
  }
12855
12875
  this.conditionalFilterOptions = filterConditions.map(function (operand, id) { return ({
12856
12876
  id: id,
@@ -13241,7 +13261,10 @@
13241
13261
  valueControl.updateValueAndValidity();
13242
13262
  };
13243
13263
  DatoGridFilterComponent.prototype.isEmptyOperand = function (operand) {
13244
- return operand === exports.DatoFilterConditions.IS_EMPTY || operand === exports.DatoFilterConditions.NOT_EMPTY;
13264
+ return (operand === exports.DatoFilterConditions.IS_EMPTY ||
13265
+ operand === exports.DatoFilterConditions.NOT_EMPTY ||
13266
+ operand === exports.DatoFilterConditions.IS_NULL ||
13267
+ operand === exports.DatoFilterConditions.NOT_NULL);
13245
13268
  };
13246
13269
  DatoGridFilterComponent.prototype.isStringArray = function (value) {
13247
13270
  return isString(value[0]);
@@ -14381,19 +14404,13 @@
14381
14404
  }
14382
14405
  };
14383
14406
  GridService.prototype.setGridFilters = function (filters) {
14384
- var e_2, _a;
14385
- if (this.api) {
14407
+ var e_2, _a, _b;
14408
+ if (this.api && filters) {
14409
+ var appliedFilter = {};
14386
14410
  try {
14387
14411
  for (var filters_1 = __values(filters), filters_1_1 = filters_1.next(); !filters_1_1.done; filters_1_1 = filters_1.next()) {
14388
- var filter = filters_1_1.value.filter;
14389
- var column = this.api.columns.getColumn(filter.colId);
14390
- if (column) {
14391
- this.setColumnFilter(column, filter);
14392
- }
14393
- else {
14394
- var pivotColumn = this.gridQuery.getSecondaryColumn(filter.colId);
14395
- this.setColumnFilter(pivotColumn, filter);
14396
- }
14412
+ var _c = filters_1_1.value, filter = _c.filter, field = _c.field;
14413
+ appliedFilter = __assign(__assign({}, appliedFilter), (_b = {}, _b[field] = filter, _b));
14397
14414
  }
14398
14415
  }
14399
14416
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -14403,7 +14420,28 @@
14403
14420
  }
14404
14421
  finally { if (e_2) throw e_2.error; }
14405
14422
  }
14406
- this.notifyFilterUpdate();
14423
+ this.updateSettings({ filter: appliedFilter });
14424
+ this.api.grid.onFilterChanged();
14425
+ }
14426
+ };
14427
+ GridService.prototype.setGridSort = function (gridSort) {
14428
+ if (this.api && gridSort) {
14429
+ var sort = gridSort.sort, sortIndex = gridSort.sortIndex;
14430
+ if (!isNil(sortIndex)) {
14431
+ var columns = this.api.columns.getAllGridColumns();
14432
+ if (columns) {
14433
+ var column = columns[sortIndex];
14434
+ if (column) {
14435
+ var sortToApply = { colId: column.getColId(), sort: sort };
14436
+ this.updateSettings({ sort: sortToApply });
14437
+ this.api.grid.setSortModel([sortToApply]);
14438
+ }
14439
+ }
14440
+ }
14441
+ else {
14442
+ this.updateSettings({ sort: gridSort });
14443
+ this.api.grid.setSortModel([gridSort]);
14444
+ }
14407
14445
  }
14408
14446
  };
14409
14447
  GridService.prototype.updateFilter = function (column, filter) {
@@ -14461,8 +14499,7 @@
14461
14499
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14462
14500
  };
14463
14501
  GridService.prototype.saveSettingsToServer = function (settings) {
14464
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14465
- this.storageAPI.set(this.gridName, settings, isGlobal);
14502
+ this.storageAPI.set(this.gridName, settings);
14466
14503
  };
14467
14504
  /**
14468
14505
  * @internal used to log grid events to the platform's logging service
@@ -14869,6 +14906,13 @@
14869
14906
  column: column
14870
14907
  };
14871
14908
  }
14909
+ if (condition === exports.DatoFilterConditions.IS_NULL || condition === exports.DatoFilterConditions.NOT_NULL) {
14910
+ return {
14911
+ condition: exports.DatoFilterConditions.IS_NULL,
14912
+ value: condition === exports.DatoFilterConditions.IS_NULL ? 'true' : 'false',
14913
+ column: column
14914
+ };
14915
+ }
14872
14916
  return __assign(__assign({}, item), { column: column });
14873
14917
  })
14874
14918
  };
@@ -14932,13 +14976,12 @@
14932
14976
  if (userProvidedColDef) {
14933
14977
  colDef.filter = userProvidedColDef.filter;
14934
14978
  }
14935
- // if (colDef.pivotKeys) {
14936
- // colDef.pivotKeys = colDef.pivotKeys.map(key => {
14937
- // const parsedKey = tryParsePivotValue(key);
14938
- //
14939
- // return (parsedKey && parsedKey.value) || '';
14940
- // });
14941
- // }
14979
+ if (colDef.pivotKeys) {
14980
+ colDef.pivotKeys = colDef.pivotKeys.map(function (key) {
14981
+ var parsedKey = tryParsePivotValue(key);
14982
+ return (parsedKey && parsedKey.value) || '';
14983
+ });
14984
+ }
14942
14985
  };
14943
14986
  gridOptions.processSecondaryColGroupDef = function (colGroupDef) {
14944
14987
  if (colGroupDef.headerName) {
@@ -14963,13 +15006,12 @@
14963
15006
  else {
14964
15007
  colGroupDef.headerClass = ['empty-pivot-header'];
14965
15008
  }
14966
- // if (colGroupDef.pivotKeys) {
14967
- // colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(key => {
14968
- // const parsedKey = tryParsePivotValue(key);
14969
- //
14970
- // return (parsedKey && parsedKey.value) || '';
14971
- // });
14972
- // }
15009
+ if (colGroupDef.pivotKeys) {
15010
+ colGroupDef.pivotKeys = colGroupDef.pivotKeys.map(function (key) {
15011
+ var parsedKey = tryParsePivotValue(key);
15012
+ return (parsedKey && parsedKey.value) || '';
15013
+ });
15014
+ }
14973
15015
  };
14974
15016
  };
14975
15017
  GridService.prototype.setPivotModeRows = function (data) {
@@ -15462,10 +15504,7 @@
15462
15504
  .pipe(operators.switchMap(function () {
15463
15505
  _this.gridOptions = _this.normalizeOptions();
15464
15506
  agGrid.gridOptions = _this.gridOptions;
15465
- var isGlobal = _this.gridOptions.isGlobalSettings;
15466
- var settingsLoader = _this.gridOptions.saveSettings === false
15467
- ? rxjs.of(null)
15468
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15507
+ var settingsLoader = _this.gridOptions.saveSettings === false ? rxjs.of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15469
15508
  return rxjs.combineLatest([agGrid.gridReady, settingsLoader]);
15470
15509
  }), ngxTakeUntilDestroy.untilDestroyed(this))
15471
15510
  .subscribe(function (_a) {
@@ -15473,6 +15512,11 @@
15473
15512
  if (!_this.gridOptions.rowData) {
15474
15513
  api.showLoadingOverlay();
15475
15514
  }
15515
+ if (!_this.gridOptions.statusBar) {
15516
+ /** Fix ag-grid bug that doesn't add ag-hidden class to the status bar, which only get fixed in later versions */
15517
+ var el = agGridEl.querySelector('.ag-status-bar');
15518
+ addClass(el, 'ag-hidden');
15519
+ }
15476
15520
  var gridApi = { grid: api, columns: columnApi };
15477
15521
  _this.gridService._setApi(gridApi, agGrid);
15478
15522
  _this.gridQuery._setApi(gridApi, agGrid);
@@ -15512,11 +15556,8 @@
15512
15556
  DatoGridControllerComponent.prototype.setGridFilters = function (filters) {
15513
15557
  this.gridService.setGridFilters(filters);
15514
15558
  };
15515
- DatoGridControllerComponent.prototype.onFilterChanged = function () {
15516
- return this.gridQuery.filterChanged();
15517
- };
15518
- DatoGridControllerComponent.prototype.onSortChanged = function () {
15519
- return this.gridQuery.selectSort();
15559
+ DatoGridControllerComponent.prototype.setGridSort = function (sort) {
15560
+ this.gridService.setGridSort(sort);
15520
15561
  };
15521
15562
  DatoGridControllerComponent.prototype.getGridIcons = function () {
15522
15563
  var moveColumnIcon = "<span class=\"da-grid-icon pointer d-flex column-move\">" + this.iconRegistry.getSvg('move-column') + "</span>";
@@ -15565,8 +15606,8 @@
15565
15606
  };
15566
15607
  DatoGridControllerComponent.prototype.listenToGridEvents = function (agGrid) {
15567
15608
  var _this = this;
15568
- var columnVisible = agGrid.columnVisible, sortChanged = agGrid.sortChanged, columnRowGroupChanged = agGrid.columnRowGroupChanged, columnPinned = agGrid.columnPinned, dragStopped = agGrid.dragStopped;
15569
- rxjs.merge(columnVisible, sortChanged, columnRowGroupChanged, columnPinned, dragStopped)
15609
+ var columnVisible = agGrid.columnVisible, sortChanged = agGrid.sortChanged, columnRowGroupChanged = agGrid.columnRowGroupChanged, columnPinned = agGrid.columnPinned, dragStopped = agGrid.dragStopped, filterChanged = agGrid.filterChanged;
15610
+ rxjs.merge(columnVisible, sortChanged, columnRowGroupChanged, columnPinned, dragStopped, filterChanged)
15570
15611
  .pipe(
15571
15612
  /* Skip the initial sorting event fired by the grid when adding rows */
15572
15613
  operators.skip(1), ngxTakeUntilDestroy.untilDestroyed(this))
@@ -15575,10 +15616,8 @@
15575
15616
  var settingsDiff = _this.gridService.getSettingsDiff();
15576
15617
  _this.gridService.updateSettings(settingsDiff);
15577
15618
  var data = _this.getGridData();
15578
- _this.onGridChange.emit({
15579
- type: type,
15580
- data: data
15581
- });
15619
+ _this.onGridChange.emit(__assign(__assign({}, settingsDiff), { type: type,
15620
+ data: data }));
15582
15621
  });
15583
15622
  };
15584
15623
  DatoGridControllerComponent.prototype.listenToStoreSettingsChanges = function () {
@@ -16250,6 +16289,7 @@
16250
16289
  // Show fit cell content and collapse/expand row groups controls
16251
16290
  this.showBottomControls = false;
16252
16291
  this.isExpanded = true;
16292
+ this.hasRowGroupColumns = false;
16253
16293
  this.isServerSidePagination = false;
16254
16294
  // The number of pages displayed in the navigation panel for each view as defined by product.
16255
16295
  this.MINI_DISPLAY_LENGTH = 2;
@@ -16298,8 +16338,10 @@
16298
16338
  });
16299
16339
  this.gridQuery.gridReady$
16300
16340
  .pipe(operators.tap(function () {
16341
+ var rowGroupColumns = _this.gridQuery.api.columns.getRowGroupColumns();
16301
16342
  _this.gridApi = _this.gridQuery.api.grid;
16302
16343
  _this.showBottomControls = _this.gridQuery.getGridOptions().showBottomControls;
16344
+ _this.hasRowGroupColumns = rowGroupColumns && rowGroupColumns.length > 0;
16303
16345
  }), operators.switchMap(function () {
16304
16346
  _this.isServerSidePagination = _this.gridQuery.isServerSide;
16305
16347
  return _this.isServerSidePagination ? _this.gridQuery.serverDataLoaded$ : _this.gridQuery.rowDataChanged$;
@@ -16425,9 +16467,6 @@
16425
16467
  DatoGridPaginationV2Component.prototype.toggleGroupsState = function () {
16426
16468
  this.isExpanded ? this.gridApi.collapseAll() : this.gridApi.expandAll();
16427
16469
  this.isExpanded = !this.isExpanded;
16428
- // this.gridApi.forEachNode((node: RowNode) => {
16429
- // node.setExpanded(this.isExpanded);
16430
- // });
16431
16470
  };
16432
16471
  DatoGridPaginationV2Component.prototype.autoFitGrid = function (type) {
16433
16472
  this.gridService.fitGrid(type);
@@ -16520,7 +16559,7 @@
16520
16559
  core.Component({
16521
16560
  selector: 'dato-grid-pagination-v2',
16522
16561
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16523
- 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",
16562
+ template: "<div class=\"d-flex-row d-flex-auto d-flex-wrap container\" [class.small]=\"smallVersion\"\n [attr.data-pages-count]=\"totalPages\"\n [attr.data-current-page]=\"pageNumbersDisplay.currentPage\"\n [attr.data-page-size]=\"rowsPerPage\"\n [attr.data-rows-count]=\"rowCount\">\n <div *ngIf=\"totalPages > 1\" #navigation\n class=\"navigation d-flex-row d-flex-0-0-auto align-center\">\n\n <!-- First Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"mr-4\" data-auto-id=\"pagiantion-first-page\"\n icon=\"chevron-left-double\"\n datoType=\"secondary\"\n datoSize=\"md\"\n [disabled]=\"prevPageDisabled\"\n (click)=\"navigateFirstPage()\">\n </dato-icon-button>\n\n <!-- Previous Page -->\n <dato-icon-button icon=\"arrow-left\" datoType=\"secondary\" datoSize=\"md\"\n [disabled]=\"prevPageDisabled\" data-auto-id=\"pagiantion-previous-page\"\n (click)=\"navigatePrevPage()\">\n </dato-icon-button>\n\n\n <div class=\"d-flex mx-5 align-center number-container\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-previous-batch\"\n *ngIf=\"pageNumbersDisplay.showFirstEllipsis && !smallVersion\"\n (click)=\"showPreviousBatch()\">...\n </dato-link>\n <dato-link class=\"page-number mx-5\" [datoType]=\"page === pageNumbersDisplay.currentPage ? 'primary' : 'secondary'\" datoSize=\"sm\"\n *ngFor=\"let page of pageNumbersDisplay.pages; index as i; trackBy: trackByPage;\" [attr.data-auto-id]=\"'pagiantion-page-' + i\"\n (click)=\"navigatePage(page - 1)\">\n {{page}}\n </dato-link>\n\n <div class=\"d-flex\" *ngIf=\"pageNumbersDisplay.showLastPage && !smallVersion\">\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\" data-auto-id=\"pagiantion-next-batch\"\n (click)=\"showNextBatch()\">...</dato-link>\n <dato-link class=\"page-number mx-5\" datoType=\"secondary\" datoSize=\"sm\"\n [attr.data-auto-id]=\"'pagiantion-page-' + totalPages\"\n (click)=\"navigatePage(totalPages - 1)\">\n {{totalPages}}\n </dato-link>\n </div>\n\n </div>\n\n <!-- Next Page -->\n <dato-icon-button icon=\"arrow-right\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"navigateNextPage()\" data-auto-id=\"pagiantion-next-page\"\n [disabled]=\"nextPageDisabled\">\n </dato-icon-button>\n\n <!-- Last Page -->\n <dato-icon-button *ngIf=\"!disableButtons\"\n class=\"ml-4\" icon=\"chevron-right-double\"\n datoType=\"secondary\" datoSize=\"md\" data-auto-id=\"pagiantion-last-page\"\n [disabled]=\"nextPageDisabled\"\n (click)=\"navigatePage(totalPages - 1)\">\n </dato-icon-button>\n\n </div>\n\n <div *ngIf=\"totalPages > 1 && !smallVersion\"\n class=\"separator mx-10 my-auto primary-100-background-color\">\n </div>\n\n <div class=\"total d-flex-0-0-auto d-flex-row align-center\">\n <span class=\"dato-note primary-300-color\">{{rowsRange}}</span>\n </div>\n\n <div *ngIf=\"showBottomControls\" class=\"grid-controls d-flex d-flex-1 justify-end\">\n <dato-icon-button *ngIf=\"hasRowGroupColumns\" [icon]=\"isExpanded ? 'collapse' : 'expand'\" datoType=\"secondary\"\n datoSize=\"md\" (click)=\"toggleGroupsState()\" data-auto-id=\"pagination-expand-collapse\"\n [datoTooltipV2]=\"isExpanded ? 'core.collapse-rows' : 'core.expand-rows'\">\n </dato-icon-button>\n\n <dato-icon-button class=\"mx-4\" icon=\"maximize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('content')\" [datoTooltipV2]=\"'core.fit-to-content'\"\n data-auto-id=\"pagination-fit-to-content\">\n </dato-icon-button>\n\n <dato-icon-button icon=\"minimize-horizontal\" datoType=\"secondary\" datoSize=\"md\"\n (click)=\"autoFitGrid('container')\" [datoTooltipV2]=\"'core.fit-to-container'\"\n data-auto-id=\"pagination-fit-to-container\">\n </dato-icon-button>\n </div>\n</div>\n",
16524
16563
  providers: [common.DecimalPipe],
16525
16564
  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}"]
16526
16565
  }),
@@ -16743,18 +16782,6 @@
16743
16782
  this.registerGroupListeners();
16744
16783
  this.subscribeRowsSelectionData();
16745
16784
  };
16746
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16747
- var _this = this;
16748
- return this.gridController.gridQuery.waitForGrid(function () {
16749
- return _this.gridQuery.gridRef.cellValueChanged.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16750
- });
16751
- };
16752
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16753
- var _this = this;
16754
- return this.gridController.gridQuery.waitForGrid(function () {
16755
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
16756
- });
16757
- };
16758
16785
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16759
16786
  if (isFunction(action.onClick)) {
16760
16787
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21230,40 +21257,6 @@
21230
21257
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21231
21258
  */
21232
21259
 
21233
- var RichTextService = /** @class */ (function () {
21234
- function RichTextService(http, config) {
21235
- this.http = http;
21236
- this.config = config;
21237
- }
21238
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21239
- if (!this.richTextScript$) {
21240
- this.initLib(appendScriptFunc, appendStyleFunc);
21241
- }
21242
- return this.richTextScript$;
21243
- };
21244
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21245
- this.richTextScript$ = rxjs.combineLatest([
21246
- this.http
21247
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21248
- .pipe(operators.tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21249
- this.http
21250
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21251
- .pipe(operators.tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21252
- ]).pipe(operators.shareReplay(1));
21253
- };
21254
- RichTextService.ctorParameters = function () { return [
21255
- { type: http.HttpClient },
21256
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21257
- ]; };
21258
- RichTextService.ɵprov = core.ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21259
- RichTextService = __decorate([
21260
- core.Injectable({ providedIn: 'root' }),
21261
- __param(1, core.Inject(DATO_CORE_CONFIG)),
21262
- __metadata("design:paramtypes", [http.HttpClient, Object])
21263
- ], RichTextService);
21264
- return RichTextService;
21265
- }());
21266
-
21267
21260
  /**
21268
21261
  * @license
21269
21262
  * Copyright Datorama. All Rights Reserved.
@@ -21277,12 +21270,12 @@
21277
21270
  var ɵ0$3 = getTinymce;
21278
21271
  var DatoRichTextDirective = /** @class */ (function (_super) {
21279
21272
  __extends(DatoRichTextDirective, _super);
21280
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21273
+ function DatoRichTextDirective(ngZone, http, host, config) {
21281
21274
  var _this = _super.call(this) || this;
21282
21275
  _this.ngZone = ngZone;
21283
- _this.richTextService = richTextService;
21284
- _this.config = config;
21276
+ _this.http = http;
21285
21277
  _this.host = host;
21278
+ _this.config = config;
21286
21279
  _this.autocompleteOptions = {};
21287
21280
  _this.forcePlainTextPasting = false;
21288
21281
  _this.format = 'html';
@@ -21316,11 +21309,28 @@
21316
21309
  base: this.config.paths.richText,
21317
21310
  query: ''
21318
21311
  };
21319
- this.richTextService
21320
- .getLib(appendScript, appendStyle)
21321
- .pipe(ngxTakeUntilDestroy.untilDestroyed(this))
21322
- .subscribe(function () {
21323
- _this.init.call(_this);
21312
+ /**
21313
+ * We support only one instance in load time
21314
+ */
21315
+ if (window.tinymce) {
21316
+ this.init.call(this);
21317
+ }
21318
+ else {
21319
+ this.loadLib().subscribe(function (lib) {
21320
+ appendScript(lib, 'rich-text-editor');
21321
+ _this.init.call(_this);
21322
+ _this.loadAutoCompleteStyle();
21323
+ });
21324
+ }
21325
+ };
21326
+ DatoRichTextDirective.prototype.loadLib = function () {
21327
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21328
+ };
21329
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21330
+ this.http
21331
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21332
+ .subscribe(function (style) {
21333
+ appendStyle(style, 'tinymce-autocomplete');
21324
21334
  });
21325
21335
  };
21326
21336
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21413,9 +21423,9 @@
21413
21423
  var DatoRichTextDirective_1;
21414
21424
  DatoRichTextDirective.ctorParameters = function () { return [
21415
21425
  { type: core.NgZone },
21416
- { type: RichTextService },
21417
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] },
21418
- { type: core.ElementRef }
21426
+ { type: http.HttpClient },
21427
+ { type: core.ElementRef },
21428
+ { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21419
21429
  ]; };
21420
21430
  __decorate([
21421
21431
  core.Input(),
@@ -21481,9 +21491,10 @@
21481
21491
  }
21482
21492
  ]
21483
21493
  }),
21484
- __param(2, core.Inject(DATO_CORE_CONFIG)),
21494
+ __param(3, core.Inject(DATO_CORE_CONFIG)),
21485
21495
  __metadata("design:paramtypes", [core.NgZone,
21486
- RichTextService, Object, core.ElementRef])
21496
+ http.HttpClient,
21497
+ core.ElementRef, Object])
21487
21498
  ], DatoRichTextDirective);
21488
21499
  return DatoRichTextDirective;
21489
21500
  }(BaseCustomControl));
@@ -24006,9 +24017,7 @@
24006
24017
  };
24007
24018
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
24008
24019
  var _this = this;
24009
- this.headerControl.valueChanges
24010
- .pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this))
24011
- .subscribe(function (res) {
24020
+ this.headerControl.valueChanges.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (res) {
24012
24021
  _this.updateEditableText.emit(res);
24013
24022
  _this.cdr.detectChanges();
24014
24023
  });
@@ -24697,22 +24706,17 @@
24697
24706
  }());
24698
24707
 
24699
24708
  var DatoProgressBarComponent = /** @class */ (function () {
24700
- function DatoProgressBarComponent() {
24709
+ function DatoProgressBarComponent(cdr) {
24710
+ this.cdr = cdr;
24701
24711
  this.barColor = 'primary-100';
24702
24712
  this.thresholds = [33, 66];
24703
24713
  }
24704
24714
  DatoProgressBarComponent.prototype.ngOnInit = function () {
24705
- if (!this.parts && this.percent) {
24706
- if (!this.color) {
24707
- this.initColor();
24708
- }
24709
- this.parts = [
24710
- {
24711
- percent: this.percent,
24712
- color: this.color,
24713
- tooltip: this.tooltip
24714
- }
24715
- ];
24715
+ if (!this.parts) {
24716
+ this.percent = this.percent || 0;
24717
+ this.isByPercent = true;
24718
+ this.hasInitialColor = !!this.color;
24719
+ this.initSinglePart();
24716
24720
  }
24717
24721
  else if (this.parts &&
24718
24722
  this.parts.every(function (part) { return part.weight >= 0; }) &&
@@ -24720,6 +24724,27 @@
24720
24724
  this.initPartsPercent();
24721
24725
  }
24722
24726
  };
24727
+ DatoProgressBarComponent.prototype.ngOnChanges = function (changes) {
24728
+ if (this.isByPercent &&
24729
+ ((changes.percent && !changes.percent.firstChange) ||
24730
+ (changes.color && !changes.color.firstChange) ||
24731
+ (changes.tooltip && !changes.tooltip.firstChange))) {
24732
+ this.initSinglePart();
24733
+ this.cdr.detectChanges();
24734
+ }
24735
+ };
24736
+ DatoProgressBarComponent.prototype.initSinglePart = function () {
24737
+ if (!this.color || !this.hasInitialColor) {
24738
+ this.initColor();
24739
+ }
24740
+ this.parts = [
24741
+ {
24742
+ percent: this.percent,
24743
+ color: this.color,
24744
+ tooltip: this.tooltip
24745
+ }
24746
+ ];
24747
+ };
24723
24748
  DatoProgressBarComponent.prototype.initColor = function () {
24724
24749
  if (isEmpty(this.thresholds)) {
24725
24750
  this.color = 'accent-400';
@@ -24760,6 +24785,9 @@
24760
24785
  }
24761
24786
  }
24762
24787
  };
24788
+ DatoProgressBarComponent.ctorParameters = function () { return [
24789
+ { type: core.ChangeDetectorRef }
24790
+ ]; };
24763
24791
  __decorate([
24764
24792
  core.Input(),
24765
24793
  __metadata("design:type", String)
@@ -24795,11 +24823,12 @@
24795
24823
  DatoProgressBarComponent = __decorate([
24796
24824
  core.Component({
24797
24825
  selector: 'dato-progress-bar',
24798
- 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",
24826
+ 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",
24799
24827
  changeDetection: core.ChangeDetectionStrategy.OnPush,
24800
24828
  encapsulation: core.ViewEncapsulation.None,
24801
24829
  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%}"]
24802
- })
24830
+ }),
24831
+ __metadata("design:paramtypes", [core.ChangeDetectorRef])
24803
24832
  ], DatoProgressBarComponent);
24804
24833
  return DatoProgressBarComponent;
24805
24834
  }());
@@ -25351,7 +25380,7 @@
25351
25380
  };
25352
25381
  }
25353
25382
 
25354
- window.coreVersion = '22.1.1-rc.';
25383
+ window.coreVersion = '22.2.4';
25355
25384
 
25356
25385
  exports.APP_TRANSLATE = APP_TRANSLATE;
25357
25386
  exports.AceService = AceService;
@@ -25793,7 +25822,6 @@
25793
25822
  exports.ɵl = DatoGridItemsCountCellComponent;
25794
25823
  exports.ɵm = DatoGridV2ToolbarMoreMenuComponent;
25795
25824
  exports.ɵn = DatoGridSearchBarComponent;
25796
- exports.ɵo = RichTextService;
25797
25825
 
25798
25826
  Object.defineProperty(exports, '__esModule', { value: true });
25799
25827