@datorama/core 22.0.5 → 22.0.6-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 (45) hide show
  1. package/bundles/datorama-core.umd.js +207 -156
  2. package/bundles/datorama-core.umd.js.map +1 -1
  3. package/bundles/datorama-core.umd.min.js +24 -24
  4. package/bundles/datorama-core.umd.min.js.map +1 -1
  5. package/datorama-core.d.ts +1 -0
  6. package/datorama-core.metadata.json +1 -1
  7. package/esm2015/datorama-core.js +2 -1
  8. package/esm2015/lib/accordion/accordion/accordion.component.js +11 -3
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  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 -2
  12. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  13. package/esm2015/lib/grid-v2/grid-store/grid.service.js +3 -2
  14. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +7 -1
  15. package/esm2015/lib/rich-text/rich-text.directive.js +15 -33
  16. package/esm2015/lib/rich-text/rich-text.service.js +50 -0
  17. package/esm2015/lib/select/select.component.js +16 -16
  18. package/esm2015/lib/sortable/sortable.component.js +7 -2
  19. package/esm2015/lib/version.js +2 -2
  20. package/esm5/datorama-core.js +2 -1
  21. package/esm5/lib/accordion/accordion/accordion.component.js +15 -3
  22. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +4 -2
  23. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  24. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +5 -2
  25. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  26. package/esm5/lib/grid-v2/grid-store/grid.service.js +3 -2
  27. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +13 -1
  28. package/esm5/lib/rich-text/rich-text.directive.js +16 -34
  29. package/esm5/lib/rich-text/rich-text.service.js +51 -0
  30. package/esm5/lib/select/select.component.js +17 -16
  31. package/esm5/lib/sortable/sortable.component.js +7 -2
  32. package/esm5/lib/version.js +2 -2
  33. package/fesm2015/datorama-core.js +188 -150
  34. package/fesm2015/datorama-core.js.map +1 -1
  35. package/fesm5/datorama-core.js +207 -157
  36. package/fesm5/datorama-core.js.map +1 -1
  37. package/lib/accordion/accordion/accordion.component.d.ts +4 -1
  38. package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -0
  39. package/lib/grid-v2/grid-settings.d.ts +2 -2
  40. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +2 -0
  41. package/lib/rich-text/rich-text.directive.d.ts +4 -6
  42. package/lib/rich-text/rich-text.service.d.ts +10 -0
  43. package/lib/select/select.component.d.ts +1 -0
  44. package/lib/sortable/sortable.component.d.ts +3 -1
  45. package/package.json +2 -2
@@ -6633,6 +6633,108 @@ const defaultClientSearchStrategy = (searchIn, searchValue, labelKey) => {
6633
6633
  return false;
6634
6634
  };
6635
6635
 
6636
+ /**
6637
+ * @license
6638
+ * Copyright Datorama. All Rights Reserved.
6639
+ *
6640
+ * Use of this source code is governed by an Apache License 2.0 license that can be
6641
+ * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
6642
+ */
6643
+ let DatoSortableComponent = class DatoSortableComponent {
6644
+ constructor() {
6645
+ this.list = [];
6646
+ this.noop = noop;
6647
+ /**
6648
+ * Sortablejs options
6649
+ */
6650
+ this.datoOptions = {};
6651
+ /**
6652
+ * Fired once items order has changed
6653
+ */
6654
+ this.orderUpdated = new EventEmitter();
6655
+ this.defaultOptions = {
6656
+ handle: '.dato-sortable-handler',
6657
+ ghostClass: 'dato-sortable-ghost',
6658
+ chosenClass: 'dato-sortable-chosen',
6659
+ dragClass: 'dato-sortable-drag'
6660
+ };
6661
+ }
6662
+ set datoList(list) {
6663
+ const isArr = Array.isArray(list);
6664
+ const validInput = isArr || (list instanceof FormControl && Array.isArray(list.value));
6665
+ if (!validInput) {
6666
+ throw new Error(`DatoSortable - datoList expected array or form control but got ${typeof list}`);
6667
+ }
6668
+ if (!isArr) {
6669
+ this.formControl = list;
6670
+ this.list = [...this.formControl.value];
6671
+ }
6672
+ else {
6673
+ this.list = list;
6674
+ }
6675
+ }
6676
+ ngOnInit() {
6677
+ const _a = this.datoOptions, { dynamicGhostHeight, hasStaticItems } = _a, sortableOptions = __rest(_a, ["dynamicGhostHeight", "hasStaticItems"]);
6678
+ const mergedOptions = Object.assign(Object.assign(Object.assign({}, this.defaultOptions), sortableOptions), { onUpdate: event => (sortableOptions.onUpdate ? sortableOptions.onUpdate(event) : this.emitUpdate(event)) });
6679
+ if (dynamicGhostHeight) {
6680
+ mergedOptions.onStart = event => this.setGhostHeight(event);
6681
+ }
6682
+ if (hasStaticItems) {
6683
+ mergedOptions.onMove = event => {
6684
+ if (event.related.classList.contains('dato-sortable-static-item')) {
6685
+ return false;
6686
+ }
6687
+ return sortableOptions.onMove ? sortableOptions.onMove(event) : true;
6688
+ };
6689
+ }
6690
+ this.mergedOptions = mergedOptions;
6691
+ }
6692
+ emitUpdate(event) {
6693
+ if (this.formControl) {
6694
+ this.formControl.setValue(this.list);
6695
+ }
6696
+ this.orderUpdated.emit(event);
6697
+ }
6698
+ setGhostHeight(event) {
6699
+ const originalEl = event.from.children[event.oldIndex];
6700
+ setStyle(originalEl, 'display', 'block');
6701
+ const { height } = originalEl.getBoundingClientRect();
6702
+ setStyle(originalEl, 'display', 'none');
6703
+ const ghostEl = query('.dato-sortable-ghost');
6704
+ setStyle(ghostEl, 'height', `${height}px`);
6705
+ }
6706
+ };
6707
+ __decorate([
6708
+ ContentChildren(DatoAccordionGroupComponent),
6709
+ __metadata("design:type", QueryList)
6710
+ ], DatoSortableComponent.prototype, "accordionGroups", void 0);
6711
+ __decorate([
6712
+ Input(),
6713
+ __metadata("design:type", Object),
6714
+ __metadata("design:paramtypes", [Object])
6715
+ ], DatoSortableComponent.prototype, "datoList", null);
6716
+ __decorate([
6717
+ Input(),
6718
+ __metadata("design:type", Object)
6719
+ ], DatoSortableComponent.prototype, "datoOptions", void 0);
6720
+ __decorate([
6721
+ Input(),
6722
+ __metadata("design:type", String)
6723
+ ], DatoSortableComponent.prototype, "containerClass", void 0);
6724
+ __decorate([
6725
+ Output(),
6726
+ __metadata("design:type", Object)
6727
+ ], DatoSortableComponent.prototype, "orderUpdated", void 0);
6728
+ DatoSortableComponent = __decorate([
6729
+ Component({
6730
+ selector: 'dato-sortable',
6731
+ template: "<section [sortablejs]=\"list\" [sortablejsOptions]=\"mergedOptions\" [ngClass]=\"containerClass\"\n (update.stop)=\"noop()\" (add.stop)=\"noop()\" (sort.stop)=\"noop()\" (remove.stop)=\"noop()\"\n (filter.stop)=\"noop()\" (change.stop)=\"noop()\" (drag.stop)=\"noop()\">\n <ng-content></ng-content>\n</section>",
6732
+ changeDetection: ChangeDetectionStrategy.OnPush,
6733
+ encapsulation: ViewEncapsulation.None,
6734
+ styles: ["dato-sortable{display:inline-block}dato-sortable .dato-sortable-handler{cursor:move;cursor:-webkit-grabbing}.dato-sortable-ghost>*{display:none!important}.dato-sortable-drag{box-shadow:0 2px 14px 0 rgba(0,0,0,.2)}"]
6735
+ })
6736
+ ], DatoSortableComponent);
6737
+
6636
6738
  /**
6637
6739
  * @license
6638
6740
  * Copyright Datorama. All Rights Reserved.
@@ -6674,6 +6776,9 @@ let DatoAccordionComponent = DatoAccordionComponent_1 = class DatoAccordionCompo
6674
6776
  }
6675
6777
  }
6676
6778
  }
6779
+ get groups() {
6780
+ return this.sortable && this.sortable.accordionGroups.length > 0 ? this.sortable.accordionGroups : this.childGroups;
6781
+ }
6677
6782
  ngOnChanges(changes) {
6678
6783
  if (changes.expandAll && !changes.expandAll.firstChange) {
6679
6784
  this.setExpandAll();
@@ -6845,11 +6950,15 @@ DatoAccordionComponent.ctorParameters = () => [
6845
6950
  __decorate([
6846
6951
  ContentChildren(DatoAccordionGroupComponent),
6847
6952
  __metadata("design:type", QueryList)
6848
- ], DatoAccordionComponent.prototype, "groups", void 0);
6953
+ ], DatoAccordionComponent.prototype, "childGroups", void 0);
6849
6954
  __decorate([
6850
6955
  ContentChildren(DatoAccordionComponent_1, { descendants: true }),
6851
6956
  __metadata("design:type", QueryList)
6852
6957
  ], DatoAccordionComponent.prototype, "childAccordion", void 0);
6958
+ __decorate([
6959
+ ContentChild(DatoSortableComponent, { static: true }),
6960
+ __metadata("design:type", DatoSortableComponent)
6961
+ ], DatoAccordionComponent.prototype, "sortable", void 0);
6853
6962
  __decorate([
6854
6963
  Input(),
6855
6964
  __metadata("design:type", Object)
@@ -7495,9 +7604,8 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7495
7604
  writeValue(activeOptions) {
7496
7605
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
7497
7606
  if (this.options) {
7498
- const overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
7499
7607
  this.markAsActive(this._model, { deselectAll: true });
7500
- overTheLimit && this.updateDisabledState();
7608
+ this.limitSelectedTo && this.updateDisabledState();
7501
7609
  }
7502
7610
  /** For later updates */
7503
7611
  this.cdr.markForCheck();
@@ -7533,7 +7641,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7533
7641
  */
7534
7642
  if (this.hasValue && this._initialOpen) {
7535
7643
  this.markAsActive(this._model);
7536
- if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
7644
+ if (this.limitSelectedTo) {
7537
7645
  this.updateDisabledState();
7538
7646
  }
7539
7647
  this._initialOpen = false;
@@ -7592,15 +7700,14 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7592
7700
  }
7593
7701
  }
7594
7702
  this.onChange(this._model);
7595
- this.datoOverlay.scheduleUpdate();
7596
7703
  this.cdr.markForCheck();
7704
+ this.asyncUpdateDropdownPosition();
7597
7705
  }
7598
7706
  reorderOptions(newOrder) {
7599
7707
  this._model = newOrder;
7600
7708
  this.onChange(this._model);
7601
7709
  }
7602
7710
  removeOption(option) {
7603
- const updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
7604
7711
  this._model = this._model.filter(current => current[this.idKey] !== option[this.idKey]);
7605
7712
  const optionToRemove = this.options.find(datoOption => datoOption.option && datoOption.option[this.idKey] === option[this.idKey]);
7606
7713
  /**
@@ -7610,12 +7717,10 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7610
7717
  if (optionToRemove) {
7611
7718
  optionToRemove.active = false;
7612
7719
  }
7613
- updateDisabled && this.updateDisabledState();
7720
+ this.limitSelectedTo && this.updateDisabledState();
7614
7721
  this.onChange(this._model);
7615
7722
  this.cdr.markForCheck();
7616
- if (this.datoOverlay.attached) {
7617
- this.datoOverlay.scheduleUpdate();
7618
- }
7723
+ this.asyncUpdateDropdownPosition();
7619
7724
  }
7620
7725
  preventBodyScroll(event) {
7621
7726
  if (isArrowUpDown(event)) {
@@ -7812,7 +7917,7 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7812
7917
  this.searchTerm = value;
7813
7918
  this.keyManager.setActiveItem(-1);
7814
7919
  this.cdr.markForCheck();
7815
- this.datoOverlay && this.datoOverlay.scheduleUpdate();
7920
+ this.asyncUpdateDropdownPosition();
7816
7921
  });
7817
7922
  }
7818
7923
  /**
@@ -7886,9 +7991,6 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7886
7991
  if (!datoOption) {
7887
7992
  return;
7888
7993
  }
7889
- const modelLength = this._model.length;
7890
- const updateDisabled = this.limitSelectedTo &&
7891
- (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
7892
7994
  datoOption.active = !datoOption.active;
7893
7995
  const rawOption = datoOption.option;
7894
7996
  if (datoOption.active) {
@@ -7897,10 +7999,10 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7897
7999
  else {
7898
8000
  this._model = this._model.filter(current => current[this.idKey] !== rawOption[this.idKey]);
7899
8001
  }
7900
- updateDisabled && this.updateDisabledState();
8002
+ this.limitSelectedTo && this.updateDisabledState();
7901
8003
  this.onChange(this._model);
7902
8004
  this.cdr.markForCheck();
7903
- this.datoOverlay.scheduleUpdate();
8005
+ this.asyncUpdateDropdownPosition();
7904
8006
  }
7905
8007
  activateInfiniteScroll() {
7906
8008
  this.infiniteSubscription = fromEvent(document.querySelector('.dato-select__dropdown'), 'scroll')
@@ -7941,6 +8043,13 @@ let DatoSelectComponent = class DatoSelectComponent extends BaseCustomControl {
7941
8043
  }
7942
8044
  }
7943
8045
  }
8046
+ // Make sure the overlay will be update AFTER Change Detection was done
8047
+ // So the items in the input (and its height) is update
8048
+ asyncUpdateDropdownPosition() {
8049
+ if (this.datoOverlay && this.datoOverlay.attached) {
8050
+ setTimeout(() => this.datoOverlay.scheduleUpdate(), 0);
8051
+ }
8052
+ }
7944
8053
  };
7945
8054
  DatoSelectComponent.ctorParameters = () => [
7946
8055
  { type: ChangeDetectorRef },
@@ -8850,104 +8959,6 @@ DatoOptionsModule = __decorate([
8850
8959
  })
8851
8960
  ], DatoOptionsModule);
8852
8961
 
8853
- /**
8854
- * @license
8855
- * Copyright Datorama. All Rights Reserved.
8856
- *
8857
- * Use of this source code is governed by an Apache License 2.0 license that can be
8858
- * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
8859
- */
8860
- let DatoSortableComponent = class DatoSortableComponent {
8861
- constructor() {
8862
- this.list = [];
8863
- this.noop = noop;
8864
- /**
8865
- * Sortablejs options
8866
- */
8867
- this.datoOptions = {};
8868
- /**
8869
- * Fired once items order has changed
8870
- */
8871
- this.orderUpdated = new EventEmitter();
8872
- this.defaultOptions = {
8873
- handle: '.dato-sortable-handler',
8874
- ghostClass: 'dato-sortable-ghost',
8875
- chosenClass: 'dato-sortable-chosen',
8876
- dragClass: 'dato-sortable-drag'
8877
- };
8878
- }
8879
- set datoList(list) {
8880
- const isArr = Array.isArray(list);
8881
- const validInput = isArr || (list instanceof FormControl && Array.isArray(list.value));
8882
- if (!validInput) {
8883
- throw new Error(`DatoSortable - datoList expected array or form control but got ${typeof list}`);
8884
- }
8885
- if (!isArr) {
8886
- this.formControl = list;
8887
- this.list = [...this.formControl.value];
8888
- }
8889
- else {
8890
- this.list = list;
8891
- }
8892
- }
8893
- ngOnInit() {
8894
- const _a = this.datoOptions, { dynamicGhostHeight, hasStaticItems } = _a, sortableOptions = __rest(_a, ["dynamicGhostHeight", "hasStaticItems"]);
8895
- const mergedOptions = Object.assign(Object.assign(Object.assign({}, this.defaultOptions), sortableOptions), { onUpdate: event => (sortableOptions.onUpdate ? sortableOptions.onUpdate(event) : this.emitUpdate(event)) });
8896
- if (dynamicGhostHeight) {
8897
- mergedOptions.onStart = event => this.setGhostHeight(event);
8898
- }
8899
- if (hasStaticItems) {
8900
- mergedOptions.onMove = event => {
8901
- if (event.related.classList.contains('dato-sortable-static-item')) {
8902
- return false;
8903
- }
8904
- return sortableOptions.onMove ? sortableOptions.onMove(event) : true;
8905
- };
8906
- }
8907
- this.mergedOptions = mergedOptions;
8908
- }
8909
- emitUpdate(event) {
8910
- if (this.formControl) {
8911
- this.formControl.setValue(this.list);
8912
- }
8913
- this.orderUpdated.emit(event);
8914
- }
8915
- setGhostHeight(event) {
8916
- const originalEl = event.from.children[event.oldIndex];
8917
- setStyle(originalEl, 'display', 'block');
8918
- const { height } = originalEl.getBoundingClientRect();
8919
- setStyle(originalEl, 'display', 'none');
8920
- const ghostEl = query('.dato-sortable-ghost');
8921
- setStyle(ghostEl, 'height', `${height}px`);
8922
- }
8923
- };
8924
- __decorate([
8925
- Input(),
8926
- __metadata("design:type", Object),
8927
- __metadata("design:paramtypes", [Object])
8928
- ], DatoSortableComponent.prototype, "datoList", null);
8929
- __decorate([
8930
- Input(),
8931
- __metadata("design:type", Object)
8932
- ], DatoSortableComponent.prototype, "datoOptions", void 0);
8933
- __decorate([
8934
- Input(),
8935
- __metadata("design:type", String)
8936
- ], DatoSortableComponent.prototype, "containerClass", void 0);
8937
- __decorate([
8938
- Output(),
8939
- __metadata("design:type", Object)
8940
- ], DatoSortableComponent.prototype, "orderUpdated", void 0);
8941
- DatoSortableComponent = __decorate([
8942
- Component({
8943
- selector: 'dato-sortable',
8944
- template: "<section [sortablejs]=\"list\" [sortablejsOptions]=\"mergedOptions\" [ngClass]=\"containerClass\"\n (update.stop)=\"noop()\" (add.stop)=\"noop()\" (sort.stop)=\"noop()\" (remove.stop)=\"noop()\"\n (filter.stop)=\"noop()\" (change.stop)=\"noop()\" (drag.stop)=\"noop()\">\n <ng-content></ng-content>\n</section>",
8945
- changeDetection: ChangeDetectionStrategy.OnPush,
8946
- encapsulation: ViewEncapsulation.None,
8947
- styles: ["dato-sortable{display:inline-block}dato-sortable .dato-sortable-handler{cursor:move;cursor:-webkit-grabbing}.dato-sortable-ghost>*{display:none!important}.dato-sortable-drag{box-shadow:0 2px 14px 0 rgba(0,0,0,.2)}"]
8948
- })
8949
- ], DatoSortableComponent);
8950
-
8951
8962
  /**
8952
8963
  * @license
8953
8964
  * Copyright Datorama. All Rights Reserved.
@@ -10491,7 +10502,7 @@ function toolbarActionToContextAction(params) {
10491
10502
  return contextActions;
10492
10503
  }
10493
10504
 
10494
- const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
10505
+ const DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
10495
10506
 
10496
10507
  const defaultEditableColumnRenderer = params => params && params.value ? `<div class="value-wrapper ellipsis">${params.value}</div>` : null;
10497
10508
  const editableCellRendererWithSearchHighlight = (params, searchTerm) => {
@@ -12742,7 +12753,8 @@ let GridService = class GridService {
12742
12753
  this.updateSettings({ gridAlignment, columnsSizes: null });
12743
12754
  }
12744
12755
  saveSettingsToServer(settings) {
12745
- this.storageAPI.set(this.gridName, settings);
12756
+ const isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
12757
+ this.storageAPI.set(this.gridName, settings, isGlobal);
12746
12758
  }
12747
12759
  /**
12748
12760
  * @internal used to log grid events to the platform's logging service
@@ -13651,7 +13663,10 @@ let DatoGridControllerComponent = class DatoGridControllerComponent {
13651
13663
  .pipe(switchMap(() => {
13652
13664
  this.gridOptions = this.normalizeOptions();
13653
13665
  agGrid.gridOptions = this.gridOptions;
13654
- const settingsLoader = this.gridOptions.saveSettings === false ? of(null) : this.storageAPI.get(this.gridOptions.gridName);
13666
+ const isGlobal = this.gridOptions.isGlobalSettings;
13667
+ const settingsLoader = this.gridOptions.saveSettings === false
13668
+ ? of(null)
13669
+ : this.storageAPI.get(this.gridOptions.gridName, isGlobal);
13655
13670
  return combineLatest([agGrid.gridReady, settingsLoader]);
13656
13671
  }), untilDestroyed(this))
13657
13672
  .subscribe(([{ api, columnApi }, savedSettings = {}]) => {
@@ -14774,6 +14789,12 @@ let DatoGridV2ToolbarComponent = class DatoGridV2ToolbarComponent {
14774
14789
  this.registerGroupListeners();
14775
14790
  this.subscribeRowsSelectionData();
14776
14791
  }
14792
+ getCellValueChangeEvent() {
14793
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(this)));
14794
+ }
14795
+ getRowDataUpdatedEvent() {
14796
+ return this.gridController.gridQuery.waitForGrid(() => this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(this)));
14797
+ }
14777
14798
  onActionClick(action) {
14778
14799
  if (isFunction(action.onClick)) {
14779
14800
  const selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -18841,6 +18862,39 @@ DatoEditableHeaderModule = __decorate([
18841
18862
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
18842
18863
  */
18843
18864
 
18865
+ let RichTextService = class RichTextService {
18866
+ constructor(http, config) {
18867
+ this.http = http;
18868
+ this.config = config;
18869
+ }
18870
+ getLib(appendScriptFunc, appendStyleFunc) {
18871
+ if (!this.richTextScript$) {
18872
+ this.initLib(appendScriptFunc, appendStyleFunc);
18873
+ }
18874
+ return this.richTextScript$;
18875
+ }
18876
+ initLib(appendScriptFunc, appendStyleFunc) {
18877
+ this.richTextScript$ = combineLatest([
18878
+ this.http
18879
+ .get(`${this.config.paths.richText}/index.js`, { responseType: 'text' })
18880
+ .pipe(tap(lib => appendScriptFunc(lib, 'rich-text-editor'))),
18881
+ this.http
18882
+ .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
18883
+ .pipe(tap(style => appendStyleFunc(style, 'tinymce-autocomplete')))
18884
+ ]).pipe(shareReplay(1));
18885
+ }
18886
+ };
18887
+ RichTextService.ctorParameters = () => [
18888
+ { type: HttpClient },
18889
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
18890
+ ];
18891
+ RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
18892
+ RichTextService = __decorate([
18893
+ Injectable({ providedIn: 'root' }),
18894
+ __param(1, Inject(DATO_CORE_CONFIG)),
18895
+ __metadata("design:paramtypes", [HttpClient, Object])
18896
+ ], RichTextService);
18897
+
18844
18898
  /**
18845
18899
  * @license
18846
18900
  * Copyright Datorama. All Rights Reserved.
@@ -18854,12 +18908,12 @@ const getTinymce = () => {
18854
18908
  };
18855
18909
  const ɵ0$3 = getTinymce;
18856
18910
  let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirective extends BaseCustomControl {
18857
- constructor(ngZone, http, host, config) {
18911
+ constructor(ngZone, richTextService, config, host) {
18858
18912
  super();
18859
18913
  this.ngZone = ngZone;
18860
- this.http = http;
18861
- this.host = host;
18914
+ this.richTextService = richTextService;
18862
18915
  this.config = config;
18916
+ this.host = host;
18863
18917
  this.autocompleteOptions = {};
18864
18918
  this.forcePlainTextPasting = false;
18865
18919
  this.format = 'html';
@@ -18886,28 +18940,11 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
18886
18940
  base: this.config.paths.richText,
18887
18941
  query: ''
18888
18942
  };
18889
- /**
18890
- * We support only one instance in load time
18891
- */
18892
- if (window.tinymce) {
18943
+ this.richTextService
18944
+ .getLib(appendScript, appendStyle)
18945
+ .pipe(untilDestroyed(this))
18946
+ .subscribe(() => {
18893
18947
  this.init.call(this);
18894
- }
18895
- else {
18896
- this.loadLib().subscribe(lib => {
18897
- appendScript(lib, 'rich-text-editor');
18898
- this.init.call(this);
18899
- this.loadAutoCompleteStyle();
18900
- });
18901
- }
18902
- }
18903
- loadLib() {
18904
- return this.http.get(`${this.config.paths.richText}/index.js`, { responseType: 'text' });
18905
- }
18906
- loadAutoCompleteStyle() {
18907
- this.http
18908
- .get(`${this.config.paths.richText}/plugins/autocomplete/plugin.css`, { responseType: 'text' })
18909
- .subscribe(style => {
18910
- appendStyle(style, 'tinymce-autocomplete');
18911
18948
  });
18912
18949
  }
18913
18950
  initEditor(_, editor) {
@@ -19008,9 +19045,9 @@ let DatoRichTextDirective = DatoRichTextDirective_1 = class DatoRichTextDirectiv
19008
19045
  };
19009
19046
  DatoRichTextDirective.ctorParameters = () => [
19010
19047
  { type: NgZone },
19011
- { type: HttpClient },
19012
- { type: ElementRef },
19013
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
19048
+ { type: RichTextService },
19049
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
19050
+ { type: ElementRef }
19014
19051
  ];
19015
19052
  __decorate([
19016
19053
  Input(),
@@ -19076,10 +19113,9 @@ DatoRichTextDirective = DatoRichTextDirective_1 = __decorate([
19076
19113
  }
19077
19114
  ]
19078
19115
  }),
19079
- __param(3, Inject(DATO_CORE_CONFIG)),
19116
+ __param(2, Inject(DATO_CORE_CONFIG)),
19080
19117
  __metadata("design:paramtypes", [NgZone,
19081
- HttpClient,
19082
- ElementRef, Object])
19118
+ RichTextService, Object, ElementRef])
19083
19119
  ], DatoRichTextDirective);
19084
19120
 
19085
19121
  /**
@@ -21360,7 +21396,9 @@ let DatoBreadcrumbsComponent = class DatoBreadcrumbsComponent {
21360
21396
  this._breadcrumbs = [...start, ...dots, ...end];
21361
21397
  }
21362
21398
  initEditableHeader() {
21363
- this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe((res) => {
21399
+ this.headerControl.valueChanges
21400
+ .pipe(debounceTime(300), untilDestroyed(this))
21401
+ .subscribe((res) => {
21364
21402
  this.updateEditableText.emit(res);
21365
21403
  this.cdr.detectChanges();
21366
21404
  });
@@ -22625,7 +22663,7 @@ function fixNgLeaks() {
22625
22663
  };
22626
22664
  }
22627
22665
 
22628
- window.coreVersion = '22.0.5';
22666
+ window.coreVersion = '22.1.5-rc.';
22629
22667
 
22630
22668
  /**
22631
22669
  * @license
@@ -22639,5 +22677,5 @@ window.coreVersion = '22.0.5';
22639
22677
  * Generated bundle index. Do not edit.
22640
22678
  */
22641
22679
 
22642
- 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 };
22680
+ export { APP_TRANSLATE, AceService, BaseCustomControl, COMPARE_RESULT, CUSTOM_RANGE_ID, ColorPalette, ConfirmationType, ContentRef, ContentType, CustomHeaderControllerService, DATE_PICKER_CONFIG, DATE_PICKER_POPOVER_ID, DATO_CORE_LOGGER, DATO_FORM_ERRORS, DATO_GRID_STORAGE_API, DEFAULT_FORMAT, DEFAULT_GRID_SEARCH_DEBOUNCE_TIME, DatePickerConfig, DatePickerMonthComponent, DateType, DatoAccordionComponent, DatoAccordionContentComponent, DatoAccordionGroupComponent, DatoAccordionHeaderComponent, DatoAccordionModule, DatoAceDirective, DatoAceDraggableDirective, DatoAceModule, DatoActionType, DatoAutoCompleteContentDirective, DatoAutoFocusDirective, DatoAutocompleteComponent, DatoAutocompleteDirective, DatoAutocompleteModule, DatoBreadcrumbsComponent, DatoBreadcrumbsModule, DatoButtonComponent, DatoButtonGroupComponent, DatoButtonGroupModule, DatoButtonModule, DatoCamelCasePipe, DatoCarouselComponent, DatoCarouselItemDirective, DatoCarouselItemElement, DatoCarouselModule, DatoCheckboxComponent, DatoCheckboxModule, DatoClipboardDirective, DatoColorDirective, DatoConfirmationDialogComponent, DatoControlErrorComponent, DatoControlErrorContainerDirective, DatoControlErrorsDirective, DatoCoreError, DatoCoreModule, DatoCustomHeaderTemplateComponent, DatoCustomHeaderTemplateDirective, DatoCustomMoreMenuTemplateDirective, DatoDatePickerContainerComponent, DatoDatePickerModule, DatoDatePickerRangeComponent, DatoDatePickerSingleComponent, DatoDialog, DatoDialogCloseDirective, DatoDialogComponent, DatoDialogContentComponent, DatoDialogDismissDirective, DatoDialogFooterComponent, DatoDialogHeaderComponent, DatoDialogModule, DatoDialogRef, DatoDirectivesModule, DatoDisableControlDirective, DatoDraggableDirective, DatoDynamicContentComponent, DatoDynamicContentModule, DatoEditableHeaderComponent, DatoEditableHeaderModule, DatoFileInputComponent, DatoFileInputDefaultComponent, DatoFileInputModule, DatoFilterConditions, DatoFontDirective, DatoFontIconComponent, DatoFontIconModule, DatoFormSubmitDirective, DatoFormValidationModule, DatoGrid, DatoGridAPI, DatoGridAvatarCellComponent, DatoGridColumnDisplayMenuComponent, DatoGridColumnHeaderComponent, DatoGridColumnHeaderMoreMenuComponent, DatoGridColumnTypes, DatoGridComponent, DatoGridControllerComponent, DatoGridDateFilterOptions, DatoGridFilterComponent, DatoGridFilterOptionsMap, DatoGridFilterSections, DatoGridFilterTypes, DatoGridGroupsMenuComponent, DatoGridHeaderComponent, DatoGridHeaderV2Component, DatoGridInitialsCellComponent, DatoGridItemsCellComponent, DatoGridModule, DatoGridMoreMenuActions, DatoGridNumberFilterOptions, DatoGridOnHoverComponent, DatoGridPaginationComponent, DatoGridPaginationV2Component, DatoGridStatusCellComponent, DatoGridStringFilterOptions, DatoGridToolbarComponent, DatoGridToolbarItemDirective, DatoGridToolbarItemElementDirective, DatoGridV2Component, DatoGridV2LoaderComponent, DatoGridV2Module, DatoGridV2NoDataOverlayComponent, DatoGridV2ToolbarButtonComponent, DatoGridV2ToolbarComponent, DatoGroupComponent, DatoHighlightPipe, DatoHotkeys, DatoHotkeysDirective, DatoHotkeysHelpComponent, DatoHotkeysModule, DatoIconButtonComponent, DatoIconButtonModule, DatoIconComponent, DatoIconModule, DatoInfiniteScrollComponent, DatoInfiniteScrollModule, DatoInputComponent, DatoInputModule, DatoInputNumberComponent, DatoInputNumberDirective, DatoInputNumberModule, DatoKebabCasePipe, DatoLinkButtonComponent, DatoLinkButtonModule, DatoListComponent, DatoListModule, DatoListNoDataComponent, DatoListNoResultComponent, DatoListV2Component, DatoListV2Module, DatoLoaderComponent, DatoLoadersModule, DatoMenuComponent, DatoMenuContentDirective, DatoMenuItemDirective, DatoMenuModule, DatoMenuTriggerForDirective, DatoMultiOptionComponent, DatoMultiOptionV2Component, DatoOperatorTogglerComponent, DatoOperatorTogglerModule, DatoOptionComponent, DatoOptionV2Component, DatoOptionsModule, DatoOriginDirective, DatoOverlay, DatoPageLoaderComponent, DatoPanel, DatoPanelComponent, DatoPanelContentComponent, DatoPanelFooterComponent, DatoPanelHeaderComponent, DatoPanelInternalConfig, DatoPanelModule, DatoPanelRef, DatoPillsComponent, DatoPillsModule, DatoPipesModule, DatoPopover, DatoPopoverComponent, DatoPopoverModule, DatoProgressBarComponent, DatoProgressBarModule, DatoRadioComponent, DatoRadioModule, DatoRichTextDirective, DatoRichTextModule, DatoSearchResultsGroupSortPipe, DatoSearchResultsSortPipe, DatoSearchableContainerComponent, DatoSearchableDirective, DatoSearchableHighlightDirective, DatoSearchableModule, DatoSelectActiveDirective, DatoSelectComponent, DatoSelectEmptyComponent, DatoSelectModule, DatoSliderComponent, DatoSliderModule, DatoSnackbar, DatoSnackbarComponent, DatoSnackbarModule, DatoSortableComponent, DatoSortableHandleDirective, DatoSortableModule, DatoStaticImageSrcDirective, DatoStaticImagesSrcModule, DatoSubscribeContext, DatoSubscribeDirective, DatoTab, DatoTabContent, DatoTabTitle, DatoTabsModule, DatoTabset, DatoTemplatePortal, DatoTextModule, DatoThemesModule, DatoToast, DatoToastComponent, DatoToastModule, DatoTogglerComponent, DatoTogglerModule, DatoTooltipDirective, DatoTooltipV2Directive, DatoTrackByPropPipe, DatoTranslateService, DatoTreePipe, DatoTriggerMulti, DatoTriggerSingle, DialogConfig, DialogResultStatus, Dimensions, EventModifiersPlugin, GridActionType, GridMinWidths, GridRowSelectionType, GridToolbarService, ISO_FORMAT, IconRegistry, KeyCodes, KeyboardEventKeys, ListValueTypes, MockService, OperatorTypes, POPPER_BOUNDARY, PaletteDirective, PanelResultCloseTrigger, PillType, PopoverCloseDirective, PopoverContentDirective, PopoverRef, PopoverTrigger, ROOT_NODE_ID, RelativeDateType, RenderMethod, RowSelectionType, RowSelectionTypeV2, SELECT_MAX_HEIGHT, SUPPORTED_LOCALES, SelectType, SnackbarRef, SnackbarType, Store, SvgRegistry, ToolbarActionType, ToolbarArea, ToolbarConfirmation, ToolbarDeleteConfirmation, ToolbarHandler, TranslatePipe, Types, _valueChanges, a, addClass, addJSObjectCompletor, allowedFileTypes, alphabeticalGroupSort, alphabeticalSort, appendChild, appendScript, appendStyle, appendToBody, assertString, camelCase, capitalize, cloneDeep, closest, coerceArray, coerceElement, compareWith, compose, convertFromTreeData, convertToTreeData, copyToClipboard, createComponent, createElement, createGUID, createHTMLCompletor, curry, dateCompare, daysOfTheMonth, debounce, declarations$2 as declarations, deepEqual, deepmerge, defaultActions$1 as defaultActions, defaultConfig, defaultEditableColumnRenderer, defaultGridOptions, defaultGridTreeLabel, defaultOptionsDisplayLimit, defaultTreeOptions, dialogSizePreset, diff, difference, differenceBy, dimensionsChanges, directives, drop, editableCellRendererWithSearchHighlight, escape, escapeRegExp, filter, filterByControlValue, filterByTerm, filterDialogDismissed, filterDialogSuccess, filterGroupByControlValue, filterGroupByTerm, filterKey, find, findIndex, findKey, fixNgLeaks, forEach, formatKeys, generateMonths, get, getAttr, getCustomRange, getDateISOString, getDefaultConfirmationOptions, getDefaultOptions, getDefaultsToastOptions, getElementCoords, getFunctionName, getGridConfiguration, getGridModel, getInitials, getLocalizedFormat, getMultiTemplate, getOptionTemplate, getPopperDefaults, getUTCDate, getVisibleActions, gridTreeFilePathKey, groupBy, groupSortOrder, has, inView, intersection, invert, isArrayValuesEqual, isArrowUpDown, isBoolean, isEmpty, isEmptyString, isEnter, isEqual, isEscape, isFraction, isFunction, isMacintosh, isNil, isNumber, isObject, isRangeCondition, isRangeCustom, isString, isTestEnv, isValidMediaLink, kebabCase, keyBy, keysSymbols, last, map, mapKeys, mapValues, maxFileSize, merge, minBy, mockInDev, mocks, ngContentResolver, noop, normalizeData, omit, omitBy, optionalDebounce, pallete, parseDateString, partial, polling, prependChild, publicApi$1 as publicApi, query, queryAll, random, rawDiff, reject, relativeDateTypes, removeClass, resolveRange, round, searchHighlightCellRenderer, searchResultsGroupSort, searchResultsSort, setAttr, setAttribute, setDimensions, setEmptyFolderClass, setGridConfiguration, setGridModel, setMaxDimensions, setMinDimensions, setStyle, setStyles, size, sortBy, stubs, supportedLocales, tapLog, tapOnce, throttle, toBoolean, toFormData, toNumber, toResponseBody, toString, toggleClass, toolbarActionToContextAction, tryParsePivotValue, unescape, union, uniq, uniqBy, uploadProgress, validBase64Image, validUrl, validateCondition, validateDate, validateDateCondition, validateFilter, validateNumberCondition, validateRange, validateStringCondition, values, workerMap, zoneStable, ɵ0$2 as ɵ0, ɵ1$2 as ɵ1, ɵ2, DATO_CORE_CONFIG as ɵb, DatoGridHelper as ɵc, Popper as ɵd, GridQuery as ɵe, GridStore as ɵf, GridService as ɵg, DatoDateRangesFilterPipe as ɵh, ListStore as ɵi, DatoListSelectAllComponent as ɵj, DatoGridMultiSelectColumnHeaderComponent as ɵk, DatoGridItemsCountCellComponent as ɵl, DatoGridV2ToolbarMoreMenuComponent as ɵm, DatoGridSearchBarComponent as ɵn, RichTextService as ɵo };
22643
22681
  //# sourceMappingURL=datorama-core.js.map