@datorama/core 22.9.8 → 22.9.9-rc.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 (48) hide show
  1. package/bundle.scss +6 -6
  2. package/bundles/datorama-core.umd.js +136 -81
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +38 -38
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.d.ts +1 -0
  7. package/datorama-core.metadata.json +1 -1
  8. package/esm2015/datorama-core.js +2 -1
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  10. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +9 -1
  11. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +19 -12
  12. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +30 -13
  13. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +3 -8
  14. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  15. package/esm2015/lib/grid-v2/grid-store/grid.service.js +3 -2
  16. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +7 -1
  17. package/esm2015/lib/loaders/page-loader/page-loader.component.js +7 -2
  18. package/esm2015/lib/rich-text/rich-text.directive.js +20 -38
  19. package/esm2015/lib/rich-text/rich-text.service.js +50 -0
  20. package/esm2015/lib/select/select.component.js +4 -9
  21. package/esm2015/lib/version.js +2 -2
  22. package/esm5/datorama-core.js +2 -1
  23. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  24. package/esm5/lib/grid-v2/grid/grid-v2.types.js +9 -1
  25. package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +20 -12
  26. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +29 -15
  27. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +3 -10
  28. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  29. package/esm5/lib/grid-v2/grid-store/grid.service.js +3 -2
  30. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +13 -1
  31. package/esm5/lib/loaders/page-loader/page-loader.component.js +7 -2
  32. package/esm5/lib/rich-text/rich-text.directive.js +21 -39
  33. package/esm5/lib/rich-text/rich-text.service.js +51 -0
  34. package/esm5/lib/select/select.component.js +4 -9
  35. package/esm5/lib/version.js +2 -2
  36. package/fesm2015/datorama-core.js +128 -77
  37. package/fesm2015/datorama-core.js.map +1 -1
  38. package/fesm5/datorama-core.js +136 -82
  39. package/fesm5/datorama-core.js.map +1 -1
  40. package/lib/grid-v2/grid/grid-v2.types.d.ts +12 -3
  41. package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +3 -5
  42. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +1 -0
  43. package/lib/grid-v2/grid-settings.d.ts +2 -2
  44. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +2 -0
  45. package/lib/loaders/page-loader/page-loader.component.d.ts +1 -0
  46. package/lib/rich-text/rich-text.directive.d.ts +4 -6
  47. package/lib/rich-text/rich-text.service.d.ts +10 -0
  48. package/package.json +2 -2
@@ -7604,9 +7604,8 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7604
7604
  writeValue(activeOptions) {
7605
7605
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
7606
7606
  if (this.options) {
7607
- const overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
7608
7607
  this.markAsActive(this._model, { deselectAll: true });
7609
- overTheLimit && this.updateDisabledState();
7608
+ this.limitSelectedTo && this.updateDisabledState();
7610
7609
  }
7611
7610
  /** For later updates */
7612
7611
  this.cdr.markForCheck();
@@ -7711,7 +7710,6 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7711
7710
  this.onChange(this._model);
7712
7711
  }
7713
7712
  removeOption(option) {
7714
- const updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
7715
7713
  this._model = this._model.filter(current => current[this.idKey] !== option[this.idKey]);
7716
7714
  const optionToRemove = this.options.find(datoOption => datoOption.option && datoOption.option[this.idKey] === option[this.idKey]);
7717
7715
  /**
@@ -7721,7 +7719,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7721
7719
  if (optionToRemove) {
7722
7720
  optionToRemove.active = false;
7723
7721
  }
7724
- updateDisabled && this.updateDisabledState();
7722
+ this.limitSelectedTo && this.updateDisabledState();
7725
7723
  this.onChange(this._model);
7726
7724
  this.cdr.markForCheck();
7727
7725
  this.asyncUpdateDropdownPosition();
@@ -7995,9 +7993,6 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7995
7993
  if (!datoOption) {
7996
7994
  return;
7997
7995
  }
7998
- const modelLength = this._model.length;
7999
- const updateDisabled = this.limitSelectedTo &&
8000
- (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
8001
7996
  datoOption.active = !datoOption.active;
8002
7997
  const rawOption = datoOption.option;
8003
7998
  if (datoOption.active) {
@@ -8006,7 +8001,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
8006
8001
  else {
8007
8002
  this._model = this._model.filter(current => current[this.idKey] !== rawOption[this.idKey]);
8008
8003
  }
8009
- updateDisabled && this.updateDisabledState();
8004
+ this.limitSelectedTo && this.updateDisabledState();
8010
8005
  this.onChange(this._model);
8011
8006
  this.cdr.markForCheck();
8012
8007
  this.asyncUpdateDropdownPosition();
@@ -10518,7 +10513,7 @@ function toolbarActionToContextAction(params) {
10518
10513
  return contextActions;
10519
10514
  }
10520
10515
 
10521
- const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
10516
+ const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
10522
10517
 
10523
10518
  const defaultEditableColumnRenderer = params => params && params.value ? `<div class="value-wrapper ellipsis">${params.value}</div>` : null;
10524
10519
  const editableCellRendererWithSearchHighlight = (params, searchTerm) => {
@@ -10555,6 +10550,14 @@ var GridRowSelectionType;
10555
10550
  GridRowSelectionType["SINGLE"] = "single";
10556
10551
  GridRowSelectionType["MULTIPLE"] = "multiple";
10557
10552
  })(GridRowSelectionType || (GridRowSelectionType = {}));
10553
+ var GridStatusColumnTypes;
10554
+ (function (GridStatusColumnTypes) {
10555
+ GridStatusColumnTypes["SUCCESS"] = "SUCCESS";
10556
+ GridStatusColumnTypes["FAILURE"] = "FAILURE";
10557
+ GridStatusColumnTypes["IN_PROGRESS"] = "IN_PROGRESS";
10558
+ GridStatusColumnTypes["PENDING"] = "PENDING";
10559
+ GridStatusColumnTypes["WAITING"] = "WAITING";
10560
+ })(GridStatusColumnTypes || (GridStatusColumnTypes = {}));
10558
10561
 
10559
10562
  /**
10560
10563
  * @license
@@ -12874,7 +12877,8 @@ let GridService = class GridService {
12874
12877
  this.updateSettings({ gridAlignment, columnsSizes: null });
12875
12878
  }
12876
12879
  saveSettingsToServer(settings) {
12877
- this.storageAPI.set(this.gridName, settings);
12880
+ const isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
12881
+ this.storageAPI.set(this.gridName, settings, isGlobal);
12878
12882
  }
12879
12883
  /**
12880
12884
  * @internal used to log grid events to the platform's logging service
@@ -13767,7 +13771,7 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13767
13771
  }
13768
13772
  ngOnDestroy() {
13769
13773
  this.contentInit.complete();
13770
- this.tooltip && this.clearTooltip();
13774
+ this.clearTooltip();
13771
13775
  this.rowHoverComponent && this.rowHoverComponent.destroy();
13772
13776
  this.rowHoverComponent = null;
13773
13777
  }
@@ -13783,7 +13787,10 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13783
13787
  .pipe(switchMap(() => {
13784
13788
  this.gridOptions = this.normalizeOptions();
13785
13789
  agGrid.gridOptions = this.gridOptions;
13786
- const settingsLoader = this.gridOptions.saveSettings === false ? of(null) : this.storageAPI.get(this.gridOptions.gridName);
13790
+ const isGlobal = this.gridOptions.isGlobalSettings;
13791
+ const settingsLoader = this.gridOptions.saveSettings === false
13792
+ ? of(null)
13793
+ : this.storageAPI.get(this.gridOptions.gridName, isGlobal);
13787
13794
  return combineLatest([agGrid.gridReady, settingsLoader]);
13788
13795
  }), untilDestroyed(this))
13789
13796
  .subscribe(([{ api, columnApi }, savedSettings = {}]) => {
@@ -13968,37 +13975,51 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13968
13975
  });
13969
13976
  this.addOnHoverElement();
13970
13977
  }
13971
- agGrid.cellMouseOver
13972
- .pipe(filter$1(({ node, column }) => lastHoveredCell !== `${node.id}-${column.getColId()}`), untilDestroyed(this))
13973
- .subscribe((event) => {
13974
- lastHoveredCell = `${event.node.id}-${event.column.getColId()}`;
13978
+ agGrid.cellMouseOver.pipe(untilDestroyed(this)).subscribe((event) => {
13979
+ const { node, column } = event;
13980
+ if (lastHoveredCell === `${node.id}-${column.getColId()}`) {
13981
+ clearTimeout(this.cellMouseOutTimer);
13982
+ return;
13983
+ }
13984
+ lastHoveredCell = `${node.id}-${column.getColId()}`;
13975
13985
  this.showTooltip(event);
13976
13986
  const row = event.event.target.parentElement;
13977
- if (onHoverEnabled && (event.node.group === false || isNil(event.node.group)) && this.lastHoveredRow !== row) {
13987
+ if (onHoverEnabled && (node.group === false || isNil(node.group)) && this.lastHoveredRow !== row) {
13978
13988
  const previousNode = this.lastHoveredRow;
13979
13989
  this.lastHoveredRow = row;
13980
13990
  this.toggleRowHoverClass([previousNode, this.lastHoveredRow]);
13981
13991
  this.setOnHoverState(true, event);
13982
13992
  }
13983
13993
  });
13984
- const onTooltipOut = merge$1(fromEvent(bodyViewport, 'scroll'), fromEvent(this.agGridEl, 'mouseleave'), agGrid.cellMouseOut);
13985
- onTooltipOut
13994
+ const onTooltipOut = merge$1(fromEvent(bodyViewport, 'scroll'), fromEvent(this.agGridEl, 'mouseleave'));
13995
+ onTooltipOut.pipe(untilDestroyed(this)).subscribe(() => {
13996
+ lastHoveredCell = null;
13997
+ this.clearTooltip();
13998
+ });
13999
+ agGrid.cellMouseOut
13986
14000
  .pipe(filter$1(() => !isNil(this.tooltip)), untilDestroyed(this))
13987
14001
  .subscribe(() => {
13988
- this.clearTooltip();
14002
+ this.cellMouseOutTimer = window.setTimeout(() => this.clearTooltip());
13989
14003
  });
13990
14004
  }
13991
14005
  /**
13992
14006
  * Dispose the tooltip
13993
14007
  */
13994
14008
  clearTooltip() {
13995
- this.tooltip.dispose();
14009
+ this.tooltip && this.tooltip.dispose();
13996
14010
  this.tooltip = null;
13997
14011
  }
13998
14012
  showTooltip(event) {
13999
- const cell = event.event.target;
14013
+ let cell = event.event.target;
14014
+ if (cell.tagName === 'SPAN' && cell.scrollWidth === 0) {
14015
+ cell = cell.parentElement;
14016
+ }
14017
+ if (event.colDef.editable) {
14018
+ cell = cell.querySelector('.value-wrapper') || cell;
14019
+ }
14000
14020
  const textOverflow = cell.offsetWidth < cell.scrollWidth;
14001
14021
  if (textOverflow) {
14022
+ clearTimeout(this.cellMouseOutTimer);
14002
14023
  const params = { cell, value: cell.innerText };
14003
14024
  isNil(this.tooltip) ? this.createAndShowTooltip(params) : this.updateTooltip(params);
14004
14025
  }
@@ -14510,11 +14531,7 @@ let DatoGridPaginationV2Component = class DatoGridPaginationV2Component {
14510
14531
  }
14511
14532
  ngOnInit() {
14512
14533
  this.gridQuery
14513
- .waitForGrid(() => combineLatest([
14514
- this.gridQuery.gridRef.filterChanged,
14515
- this.gridQuery.gridRef.rowGroupOpened.pipe(startWith(true)),
14516
- this.gridQuery.gridRef.expandOrCollapseAll.pipe(startWith(true))
14517
- ]))
14534
+ .waitForGrid(() => this.gridQuery.gridRef.filterChanged)
14518
14535
  .pipe(untilDestroyed(this))
14519
14536
  .subscribe(() => {
14520
14537
  this.gridApi.paginationGoToPage(0);
@@ -14912,6 +14929,12 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
14912
14929
  this.registerGroupListeners();
14913
14930
  this.subscribeRowsSelectionData();
14914
14931
  }
14932
+ getCellValueChangeEvent() {
14933
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(this)));
14934
+ }
14935
+ getRowDataUpdatedEvent() {
14936
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(this)));
14937
+ }
14915
14938
  onActionClick(action) {
14916
14939
  if (isFunction(action.onClick)) {
14917
14940
  const selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -17282,6 +17305,7 @@ let DatoPageLoaderComponent = class DatoPageLoaderComponent {
17282
17305
  constructor() {
17283
17306
  this.msg = '';
17284
17307
  this.salesforce = false;
17308
+ this.size = 'medium';
17285
17309
  this.circleIds = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'];
17286
17310
  }
17287
17311
  };
@@ -17293,10 +17317,14 @@ __decorate([
17293
17317
  Input(),
17294
17318
  __metadata("design:type", Object)
17295
17319
  ], DatoPageLoaderComponent.prototype, "salesforce", void 0);
17320
+ __decorate([
17321
+ Input(),
17322
+ __metadata("design:type", String)
17323
+ ], DatoPageLoaderComponent.prototype, "size", void 0);
17296
17324
  DatoPageLoaderComponent = __decorate([
17297
17325
  Component({
17298
17326
  selector: 'dato-page-loader',
17299
- template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_medium slds-spinner_brand\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>",
17327
+ template: "<div class=\"d-flex-column align-center\">\n <ng-container *ngIf=\"salesforce; else datoramaPageLoader\">\n <div class=\"slds-spinner_container\">\n <div role=\"status\" class=\"slds-spinner slds-spinner_brand\" [ngClass]=\"'slds-spinner_' + size\">\n <div class=\"slds-spinner__dot-a\"></div>\n <div class=\"slds-spinner__dot-b\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #datoramaPageLoader>\n <div class=\"animation-container d-flex align-center d-flex-wrap\">\n <div class=\"circle d-flex align-center\" *ngFor=\"let id of circleIds\" [ngClass]=\"'circle-' + id\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\">\n <circle cx=\"6\" cy=\"6\" r=\"5\" />\n </svg>\n </div>\n </div>\n </ng-template>\n <span class=\"loading-message simple-bold\">{{msg | translate}}</span>\n</div>\n",
17300
17328
  changeDetection: ChangeDetectionStrategy.OnPush
17301
17329
  })
17302
17330
  ], DatoPageLoaderComponent);
@@ -18184,7 +18212,13 @@ DatoGridV2ToolbarMoreMenuComponent = __decorate([
18184
18212
  let DatoGridStatusCellComponent = class DatoGridStatusCellComponent {
18185
18213
  constructor(cdr) {
18186
18214
  this.cdr = cdr;
18187
- this.DEFAULT_MIN_WIDTH = 100;
18215
+ this.defaultConfigByStatus = {
18216
+ [GridStatusColumnTypes.SUCCESS]: { icon: 'success-line', iconCssClass: 'green-400-color' },
18217
+ [GridStatusColumnTypes.FAILURE]: { icon: 'failed-line', iconCssClass: 'red-400-color' },
18218
+ [GridStatusColumnTypes.PENDING]: { icon: 'time', iconCssClass: 'yellow-400-color' },
18219
+ [GridStatusColumnTypes.WAITING]: { icon: 'info-line', iconCssClass: 'orange-400-color' },
18220
+ [GridStatusColumnTypes.IN_PROGRESS]: { showSpinner: true }
18221
+ };
18188
18222
  }
18189
18223
  agInit(params) {
18190
18224
  const { value, valueFormatted, node } = params;
@@ -18199,15 +18233,14 @@ let DatoGridStatusCellComponent = class DatoGridStatusCellComponent {
18199
18233
  const mainCustomCellConfig = customCellConfig || {};
18200
18234
  const valueCustomCellConfig = valueToCustomCellConfig ? valueToCustomCellConfig[params.value] || {} : {};
18201
18235
  const config = Object.assign(Object.assign({}, mainCustomCellConfig), valueCustomCellConfig);
18202
- const { color, icon, cssClass, iconCssClass, minWidth, showSpinner, getAdditionalText, getIsVisible } = config;
18236
+ const { textCssClass, icon, iconCssClass, showSpinner, getAdditionalText, additionalTextCssClass, getIsVisible, status } = config;
18237
+ const defaultConfig = this.defaultConfigByStatus[status] || {};
18203
18238
  this.isVisible = !getIsVisible || getIsVisible(params.data);
18204
- this.color = color || 'primary';
18205
- this.backgroundClass = `${this.color}-${this.color === 'accent' ? '100' : '200'}-background-color`;
18206
- this.icon = icon;
18207
- this.minWidth = minWidth || this.DEFAULT_MIN_WIDTH;
18208
- this.cssClass = cssClass || '';
18209
- this.iconCssClass = iconCssClass || '';
18210
- this.showSpinner = showSpinner;
18239
+ this.icon = icon || defaultConfig.icon;
18240
+ this.iconCssClass = iconCssClass || defaultConfig.iconCssClass || '';
18241
+ this.textCssClass = textCssClass || '';
18242
+ this.additionalTextCssClass = additionalTextCssClass || '';
18243
+ this.showSpinner = !!showSpinner || !!defaultConfig.showSpinner;
18211
18244
  this.additionalText = getAdditionalText ? getAdditionalText(params.data) : null;
18212
18245
  }
18213
18246
  refresh(params) {
@@ -18222,8 +18255,9 @@ DatoGridStatusCellComponent.ctorParameters = () => [
18222
18255
  DatoGridStatusCellComponent = __decorate([
18223
18256
  Component({
18224
18257
  selector: 'dato-grid-status-cell',
18225
- template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <div *ngIf=\"status\" class=\"d-flex justify-center items-center px-15 py-5 {{backgroundClass}} {{cssClass}}\" [style.min-width.px]=\"minWidth\">\n <dato-icon *ngIf=\"icon\" class=\"mr-5 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <div class=\"dato-note {{color}}-800-color\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\" [datoTooltipDisabled]=\"!!additionalText\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-note {{color}}-800-color ml-3 ellipsis\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n <span *ngIf=\"showSpinner\" class=\"dato-spinner-loader ml-5\"></span>\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
18226
- changeDetection: ChangeDetectionStrategy.OnPush
18258
+ template: "<div *ngIf=\"!isGroup && isVisible\" class=\"height-100 d-flex items-center\">\n <dato-icon *ngIf=\"icon\" class=\"mr-6 {{iconCssClass}}\" [icon]=\"icon\" datoSize=\"sm\"></dato-icon>\n <dato-page-loader *ngIf=\"showSpinner\" [salesforce]=\"true\" size=\"x-small\" class=\"mr-10 mt-15\"></dato-page-loader>\n <div class=\"dato-simple status line-height-18 {{textCssClass}}\" [class.ellipsis]=\"!additionalText\"\n [datoTooltipV2]=\"status\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{status}}\n </div>\n <div *ngIf=\"additionalText\" class=\"dato-simple ml-3 ellipsis line-height-18 {{additionalTextCssClass}}\"\n [datoTooltipV2]=\"status + ' ' + additionalText\" [showOnlyOnTextOverflow]=\"true\" [tooltipCheckInView]=\"false\">\n {{additionalText}}\n </div>\n</div>\n<span *ngIf=\"isGroup\">{{status}}</span>\n",
18259
+ changeDetection: ChangeDetectionStrategy.OnPush,
18260
+ styles: [".line-height-18{line-height:18px}"]
18227
18261
  }),
18228
18262
  __metadata("design:paramtypes", [ChangeDetectorRef])
18229
18263
  ], DatoGridStatusCellComponent);
@@ -18979,6 +19013,39 @@ DatoEditableHeaderModule = __decorate([
18979
19013
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
18980
19014
  */
18981
19015
 
19016
+ let RichTextService = class RichTextService {
19017
+ constructor(http, config) {
19018
+ this.http = http;
19019
+ this.config = config;
19020
+ }
19021
+ getLib(appendScriptFunc, appendStyleFunc) {
19022
+ if (!this.richTextScript$) {
19023
+ this.initLib(appendScriptFunc, appendStyleFunc);
19024
+ }
19025
+ return this.richTextScript$;
19026
+ }
19027
+ initLib(appendScriptFunc, appendStyleFunc) {
19028
+ this.richTextScript$ = combineLatest([
19029
+ this.http
19030
+ .get(`${this.config.paths.richText}/index.js`, { responseType: 'text' })
19031
+ .pipe(tap(lib => appendScriptFunc(lib, 'rich-text-editor'))),
19032
+ this.http
19033
+ .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
19034
+ .pipe(tap(style => appendStyleFunc(style, 'tinymce-autocomplete')))
19035
+ ]).pipe(shareReplay(1));
19036
+ }
19037
+ };
19038
+ RichTextService.ctorParameters = () => [
19039
+ { type: HttpClient },
19040
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19041
+ ];
19042
+ RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
19043
+ RichTextService = __decorate([
19044
+ Injectable({ providedIn: 'root' }),
19045
+ __param(1, Inject(DATO_CORE_CONFIG)),
19046
+ __metadata("design:paramtypes", [HttpClient, Object])
19047
+ ], RichTextService);
19048
+
18982
19049
  /**
18983
19050
  * @license
18984
19051
  * Copyright Datorama. All Rights Reserved.
@@ -18992,20 +19059,20 @@ const getTinymce = () => {
18992
19059
  };
18993
19060
  const ɵ0$3 = getTinymce;
18994
19061
  let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirective extends BaseCustomControl {
18995
- constructor(ngZone, http, host, config) {
19062
+ constructor(ngZone, richTextService, config, host) {
18996
19063
  super();
18997
19064
  this.ngZone = ngZone;
18998
- this.http = http;
18999
- this.host = host;
19065
+ this.richTextService = richTextService;
19000
19066
  this.config = config;
19067
+ this.host = host;
19001
19068
  this.autocompleteOptions = {};
19002
19069
  this.forcePlainTextPasting = false;
19003
19070
  this.format = 'html';
19004
19071
  this.isOneLine = false;
19005
19072
  this.initialValue = '';
19006
- this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
19073
+ this.defaultPlugins = 'link fullscreen image lists table autocomplete';
19007
19074
  this.defaultToolbar = [
19008
- 'fontselect fontsizeselect forecolor backcolor bold italic underline link',
19075
+ 'fontfamily fontsize forecolor backcolor bold italic underline link',
19009
19076
  'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
19010
19077
  ];
19011
19078
  }
@@ -19024,28 +19091,11 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19024
19091
  base: this.config.paths.richText,
19025
19092
  query: ''
19026
19093
  };
19027
- /**
19028
- * We support only one instance in load time
19029
- */
19030
- if (window.tinymce) {
19094
+ this.richTextService
19095
+ .getLib(appendScript, appendStyle)
19096
+ .pipe(untilDestroyed(this))
19097
+ .subscribe(() => {
19031
19098
  this.init.call(this);
19032
- }
19033
- else {
19034
- this.loadLib().subscribe(lib => {
19035
- appendScript(lib, 'rich-text-editor');
19036
- this.init.call(this);
19037
- this.loadAutoCompleteStyle();
19038
- });
19039
- }
19040
- }
19041
- loadLib() {
19042
- return this.http.get(`${this.config.paths.richText}/index.js`, { responseType: 'text' });
19043
- }
19044
- loadAutoCompleteStyle() {
19045
- this.http
19046
- .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
19047
- .subscribe(style => {
19048
- appendStyle(style, 'tinymce-autocomplete');
19049
19099
  });
19050
19100
  }
19051
19101
  initEditor(_, editor) {
@@ -19066,8 +19116,6 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19066
19116
  target: this.host.nativeElement,
19067
19117
  width: this.width || 600,
19068
19118
  height: this.height || 300,
19069
- force_br_newlines: true,
19070
- force_p_newlines: false,
19071
19119
  resize: 'both',
19072
19120
  branding: false,
19073
19121
  inline: this.inline,
@@ -19075,10 +19123,12 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19075
19123
  readonly: this.disabled,
19076
19124
  plugins: this.plugins || this.defaultPlugins,
19077
19125
  toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
19078
- fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
19126
+ font_size_formats: '8px 10px 12px 14px 18px 24px 36px',
19079
19127
  min_width: 480,
19080
19128
  menubar: false,
19081
19129
  autocomplete: this.autocompleteOptions,
19130
+ suffix: '.min',
19131
+ skin: 'tinymce-5',
19082
19132
  setup: editor => {
19083
19133
  this.editor = editor;
19084
19134
  editor.on('init', (e) => {
@@ -19146,9 +19196,9 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19146
19196
  };
19147
19197
  DatoRichTextDirective.ctorParameters = () => [
19148
19198
  { type: NgZone },
19149
- { type: HttpClient },
19150
- { type: ElementRef },
19151
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19199
+ { type: RichTextService },
19200
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
19201
+ { type: ElementRef }
19152
19202
  ];
19153
19203
  __decorate([
19154
19204
  Input(),
@@ -19214,10 +19264,9 @@ DatoRichTextDirective = DatoRichTextDirective_1 = __decorate([
19214
19264
  }
19215
19265
  ]
19216
19266
  }),
19217
- __param(3, Inject(DATO_CORE_CONFIG)),
19267
+ __param(2, Inject(DATO_CORE_CONFIG)),
19218
19268
  __metadata("design:paramtypes", [NgZone,
19219
- HttpClient,
19220
- ElementRef, Object])
19269
+ RichTextService, Object, ElementRef])
19221
19270
  ], DatoRichTextDirective);
19222
19271
 
19223
19272
  /**
@@ -21498,7 +21547,9 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
21498
21547
  this._breadcrumbs = [...start, ...dots, ...end];
21499
21548
  }
21500
21549
  initEditableHeader() {
21501
- this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe((res) => {
21550
+ this.headerControl.valueChanges
21551
+ .pipe(debounceTime(300), untilDestroyed(this))
21552
+ .subscribe((res) => {
21502
21553
  this.updateEditableText.emit(res);
21503
21554
  this.cdr.detectChanges();
21504
21555
  });
@@ -22763,7 +22814,7 @@ function fixNgLeaks() {
22763
22814
  };
22764
22815
  }
22765
22816
 
22766
- window.coreVersion = '22.9.8';
22817
+ window.coreVersion = '22.10.7-rc.';
22767
22818
 
22768
22819
  /**
22769
22820
  * @license
@@ -22777,5 +22828,5 @@ window.coreVersion = '22.9.8';
22777
22828
  * Generated bundle index. Do not edit.
22778
22829
  */
22779
22830
 
22780
- export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn };
22831
+ export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridStatusColumnTypes, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn, RichTextService as ɵo };
22781
22832
  //# sourceMappingURL=datorama-core.js.map