@datorama/core 22.9.2-rc.4 → 22.9.3

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 (44) hide show
  1. package/bundles/datorama-core.umd.js +77 -84
  2. package/bundles/datorama-core.umd.js.map +1 -1
  3. package/bundles/datorama-core.umd.min.js +14 -14
  4. package/bundles/datorama-core.umd.min.js.map +1 -1
  5. package/datorama-core.d.ts +0 -1
  6. package/datorama-core.metadata.json +1 -1
  7. package/esm2015/datorama-core.js +1 -2
  8. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  9. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
  10. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
  11. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +22 -6
  12. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  13. package/esm2015/lib/grid-v2/grid-store/grid.service.js +2 -3
  14. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -7
  15. package/esm2015/lib/icon/icon.types.js +1 -1
  16. package/esm2015/lib/rich-text/rich-text.directive.js +38 -20
  17. package/esm2015/lib/select/select.component.js +10 -5
  18. package/esm2015/lib/version.js +2 -2
  19. package/esm5/datorama-core.js +1 -2
  20. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  21. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  22. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
  23. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +29 -6
  24. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  25. package/esm5/lib/grid-v2/grid-store/grid.service.js +2 -3
  26. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -13
  27. package/esm5/lib/icon/icon.types.js +1 -1
  28. package/esm5/lib/rich-text/rich-text.directive.js +39 -21
  29. package/esm5/lib/select/select.component.js +10 -5
  30. package/esm5/lib/version.js +2 -2
  31. package/fesm2015/datorama-core.js +70 -76
  32. package/fesm2015/datorama-core.js.map +1 -1
  33. package/fesm5/datorama-core.js +78 -84
  34. package/fesm5/datorama-core.js.map +1 -1
  35. package/lib/grid-v2/grid/grid-v2.types.d.ts +2 -1
  36. package/lib/grid-v2/grid-filter/grid-filter.component.d.ts +4 -1
  37. package/lib/grid-v2/grid-settings.d.ts +2 -2
  38. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
  39. package/lib/icon/icon.types.d.ts +1 -1
  40. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  41. package/package.json +1 -1
  42. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  43. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  44. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -8549,8 +8549,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8549
8549
  DatoSelectComponent.prototype.writeValue = function (activeOptions) {
8550
8550
  this._model = activeOptions ? coerceArray$1(activeOptions) : [];
8551
8551
  if (this.options) {
8552
+ var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
8552
8553
  this.markAsActive(this._model, { deselectAll: true });
8553
- this.limitSelectedTo && this.updateDisabledState();
8554
+ overTheLimit && this.updateDisabledState();
8554
8555
  }
8555
8556
  /** For later updates */
8556
8557
  this.cdr.markForCheck();
@@ -8587,7 +8588,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8587
8588
  */
8588
8589
  if (this.hasValue && this._initialOpen) {
8589
8590
  this.markAsActive(this._model);
8590
- if (this.limitSelectedTo) {
8591
+ if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
8591
8592
  this.updateDisabledState();
8592
8593
  }
8593
8594
  this._initialOpen = false;
@@ -8676,6 +8677,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8676
8677
  };
8677
8678
  DatoSelectComponent.prototype.removeOption = function (option) {
8678
8679
  var _this = this;
8680
+ var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
8679
8681
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
8680
8682
  var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
8681
8683
  /**
@@ -8685,7 +8687,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
8685
8687
  if (optionToRemove) {
8686
8688
  optionToRemove.active = false;
8687
8689
  }
8688
- this.limitSelectedTo && this.updateDisabledState();
8690
+ updateDisabled && this.updateDisabledState();
8689
8691
  this.onChange(this._model);
8690
8692
  this.cdr.markForCheck();
8691
8693
  this.asyncUpdateDropdownPosition();
@@ -9033,6 +9035,9 @@ var DatoSelectComponent = /** @class */ (function (_super) {
9033
9035
  if (!datoOption) {
9034
9036
  return;
9035
9037
  }
9038
+ var modelLength = this._model.length;
9039
+ var updateDisabled = this.limitSelectedTo &&
9040
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
9036
9041
  datoOption.active = !datoOption.active;
9037
9042
  var rawOption = datoOption.option;
9038
9043
  if (datoOption.active) {
@@ -9041,7 +9046,7 @@ var DatoSelectComponent = /** @class */ (function (_super) {
9041
9046
  else {
9042
9047
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
9043
9048
  }
9044
- this.limitSelectedTo && this.updateDisabledState();
9049
+ updateDisabled && this.updateDisabledState();
9045
9050
  this.onChange(this._model);
9046
9051
  this.cdr.markForCheck();
9047
9052
  this.asyncUpdateDropdownPosition();
@@ -11846,7 +11851,7 @@ function toolbarActionToContextAction(params) {
11846
11851
  return contextActions;
11847
11852
  }
11848
11853
 
11849
- var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_AP');
11854
+ var DATO_GRID_STORAGE_API = new InjectionToken('DATO_GRID_STORAGE_API');
11850
11855
 
11851
11856
  var defaultEditableColumnRenderer = function (params) {
11852
11857
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -12571,6 +12576,20 @@ var DatoGridFilterComponent = /** @class */ (function () {
12571
12576
  this.showClearFiltersButton = true;
12572
12577
  this.excludedValues = new Set();
12573
12578
  }
12579
+ Object.defineProperty(DatoGridFilterComponent.prototype, "operatorToggler", {
12580
+ set: function (togglers) {
12581
+ if (togglers && this.inputConditionsOperator) {
12582
+ togglers.forEach(function (toggler) {
12583
+ if (!toggler.isDisabled) {
12584
+ toggler.setDisabledState(true);
12585
+ }
12586
+ });
12587
+ this.cdr.detectChanges();
12588
+ }
12589
+ },
12590
+ enumerable: true,
12591
+ configurable: true
12592
+ });
12574
12593
  Object.defineProperty(DatoGridFilterComponent.prototype, "byValueControl", {
12575
12594
  get: function () {
12576
12595
  return this.filterForm.get('byValue');
@@ -12614,7 +12633,7 @@ var DatoGridFilterComponent = /** @class */ (function () {
12614
12633
  Object.defineProperty(DatoGridFilterComponent.prototype, "defaultConditional", {
12615
12634
  get: function () {
12616
12635
  return this.fb.group({
12617
- operator: [OperatorTypes.AND],
12636
+ operator: [this.inputConditionsOperator || OperatorTypes.AND],
12618
12637
  conditions: this.fb.array([this.defaultOperand])
12619
12638
  });
12620
12639
  },
@@ -12683,6 +12702,7 @@ var DatoGridFilterComponent = /** @class */ (function () {
12683
12702
  var colFilter = filter || colDef.filter;
12684
12703
  var filterOptions = DatoGridFilterOptionsMap[colFilter];
12685
12704
  this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
12705
+ this.inputConditionsOperator = filtersConfig.inputConditionsOperator;
12686
12706
  if (!isNil(filtersConfig.showClearFiltersButton)) {
12687
12707
  this.showClearFiltersButton = filtersConfig.showClearFiltersButton;
12688
12708
  }
@@ -12727,7 +12747,10 @@ var DatoGridFilterComponent = /** @class */ (function () {
12727
12747
  this.listOptions = rawValues.map(mapToListItem);
12728
12748
  }
12729
12749
  else {
12730
- var columnValues = this.getColumnValues();
12750
+ var columnValues = this.getColumnValues().filter(function (_a) {
12751
+ var value = _a.value;
12752
+ return !isNil(value);
12753
+ });
12731
12754
  this.columnValues = columnValues.map(function (_a) {
12732
12755
  var value = _a.value;
12733
12756
  return !isNil(_this.pivotColumn) && value ? value[_this.colField] : value;
@@ -13020,7 +13043,7 @@ var DatoGridFilterComponent = /** @class */ (function () {
13020
13043
  return this.defaultConditional;
13021
13044
  }
13022
13045
  return this.fb.group({
13023
- operator: [conditional.operator],
13046
+ operator: [this.inputConditionsOperator || conditional.operator],
13024
13047
  conditions: this.fb.array(this.buildConditions(conditional.conditions))
13025
13048
  });
13026
13049
  };
@@ -13190,10 +13213,15 @@ var DatoGridFilterComponent = /** @class */ (function () {
13190
13213
  { type: DatoTranslateService },
13191
13214
  { type: ChangeDetectorRef }
13192
13215
  ]; };
13216
+ __decorate([
13217
+ ViewChildren('operatorToggler'),
13218
+ __metadata("design:type", QueryList),
13219
+ __metadata("design:paramtypes", [QueryList])
13220
+ ], DatoGridFilterComponent.prototype, "operatorToggler", null);
13193
13221
  DatoGridFilterComponent = __decorate([
13194
13222
  Component({
13195
13223
  selector: 'dato-grid-filter',
13196
- template: "<form class=\"container primary-0-background-color\" [formGroup]=\"filterForm\" datoForm\n *datoSubscribe=\"hasFilter$ as hasFilter\">\n <ng-container>\n <dato-accordion closeOthers=\"true\" class=\"filter-options\" [activeIds]=\"activeAccordionId\">\n <ng-container *ngIf=\"filterSections.Conditional\">\n\n <dato-accordion-group>\n <dato-accordion-header class=\"dato-note-bold primary-600-color\" data-auto-id=\"conditional-filters\"\n [class.primary-100-background-color]=\"header_1.isOpen\" #header_1>\n <div class=\"px-10 d-flex align-start-center\">\n <div class=\"filter-title d-flex-grow d-flex align-start-center\">{{'core.filterByCondition' | translate}}</div>\n <dato-icon class=\"primary-200-color\" height=\"18px\"\n [icon]=\"header_1.isOpen ? 'collapse' : 'expand'\"></dato-icon>\n </div>\n </dato-accordion-header>\n <dato-accordion-content #conditionalContent>\n <div class=\"conditional-content-container d-flex-column\" formGroupName=\"conditional\"\n [class.multi-conditions]=\"conditionsControls.length > 1\">\n <div class=\"operand d-flex-column mb-10\"\n [attr.data-auto-id]=\"'condition-' + i\"\n *ngFor=\"let operand of conditionsControls; index as i; last as last\">\n <div class=\"d-flex\">\n <div class=\"d-flex-column d-flex-grow min-width-0\">\n <ng-container formArrayName=\"conditions\">\n\n <ng-container [formGroupName]=\"i\">\n <dato-select datoSize=\"sm\" class=\"mb-10\" [attr.data-auto-id]=\"'condition-' + i + '-operand'\" formControlName=\"type\"\n datoSelectClass=\"operand-select\"\n [dataSet]=\"conditionalFilterOptions\"\n [isCombo]=\"false\" #select>\n <dato-option *ngFor=\"let option of select.data; index as index\"\n [option]=\"option\">\n {{ option.label }}\n </dato-option>\n </dato-select>\n <ng-container [ngSwitch]=\"filterType\">\n <div class=\"d-flex\" *ngSwitchCase=\"gridFilterTypes.Date\">\n <dato-date-picker [attr.data-auto-id]=\"'condition-date-' + i + '-value'\"\n formControlName=\"value\" class=\"d-flex-grow range-calendar\">\n <ng-template>\n <dato-date-picker-range *ngIf=\"getOperandType(i) === rangeOperand; else singleDate\"></dato-date-picker-range>\n <ng-template #singleDate>\n <dato-date-picker-single></dato-date-picker-single>\n </ng-template>\n </ng-template>\n </dato-date-picker>\n </div>\n <ng-container *ngIf=\"!isConditionalEmpty(operand)\">\n <dato-input *ngSwitchCase=\"gridFilterTypes.String\" datoSize=\"sm\"\n (keydown.enter.stop.prevent)=\"closePopUp()\"\n datoControlErrors [attr.data-auto-id]=\"'condition-string-' + i + '-value'\"\n [datoControlErrorsOnBlur]=\"false\"\n class=\"condition-value\"\n placeholder=\"core.filter\" formControlName=\"value\"\n [isFocused]=\"conditionalContent._expanded\"\n ></dato-input>\n <div class=\"d-flex\" *ngSwitchCase=\"gridFilterTypes.Number\">\n <dato-input-number (keydown.enter.stop.prevent)=\"closePopUp()\" [showControls]=\"false\"\n class=\"width-100 condition-value\" allowNegative=\"true\">\n <input type=\"number\" formControlName=\"value\" [attr.data-auto-id]=\"'condition-number-' + i + '-value'\"\n datoInputNumber datoSize=\"sm\" datoControlErrors [datoAutoFocus]=\"conditionalContent._expanded\"\n [datoControlErrorsOnBlur]=\"false\"/>\n </dato-input-number>\n <ng-container *ngIf=\"getOperandType(i) === rangeOperand\">\n <div class=\"mx-5\">-</div>\n <dato-input-number (keydown.enter.stop.prevent)=\"closePopUp()\"\n class=\"width-100 condition-value\" allowNegative=\"true\">\n <input type=\"number\" formControlName=\"rangeEnd\" [attr.data-auto-id]=\"'condition-number-' + i + '-range-end'\"\n datoInputNumber datoSize=\"sm\" datoControlErrors\n [datoControlErrorsOnBlur]=\"false\"/>\n </dato-input-number>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div>\n\n <dato-icon-button datoSize=\"md\"\n datoType=\"none\" icon=\"trash\"\n class=\"overflow-hidden delete\"\n datoTooltip=\"core.deleteFilterCondition\"\n [attr.data-auto-id]=\"'condition-' + i + '-remove'\"\n (click)=\"removeCondition(i)\"\n datoTooltipPosition=\"right-start\"></dato-icon-button>\n </div>\n </div>\n <dato-operator-toggler class=\"mt-10 justify-center width-100 d-flex\" data-auto-id=\"operator-toggler\"\n expanded=\"true\" [datoTogglerValue]=\"conditionsOperator\"\n *ngIf=\"conditionsControls.length > 1 && !last\"\n formControlName=\"operator\"></dato-operator-toggler>\n </div>\n <div class=\"d-flex align-center\">\n <dato-link *ngIf=\"conditionsControls.length < 3\" class=\"no-select\" datoSize=\"sm\" data-auto-id=\"add-condition\"\n datoType=\"secondary\" (click)=\"addCondition()\">\n <dato-icon height=\"10px\" width=\"10px\" icon=\"plus-simple\"></dato-icon>\n {{ 'core.condition' | translate }}\n </dato-link>\n </div>\n </div>\n </dato-accordion-content>\n </dato-accordion-group>\n <div class=\"separator\"></div>\n </ng-container>\n <ng-container *ngIf=\"filterSections.By_Value\">\n <dato-accordion-group class=\"list-content\">\n <dato-accordion-header class=\"dato-note-bold primary-600-color\" data-auto-id=\"by-value-filters\"\n [class.primary-100-background-color]=\"header_2.isOpen\" #header_2>\n <div class=\"px-10 d-flex align-start-center\">\n <div class=\"filter-title d-flex d-flex-grow align-start-center\">{{'core.filterByValue' | translate}}</div>\n <dato-icon class=\"primary-200-color\" height=\"18px\"\n [icon]=\"header_2.isOpen ? 'collapse' : 'expand'\"></dato-icon>\n </div>\n </dato-accordion-header>\n <dato-accordion-content #byValueContent>\n <div class=\"value-content-container d-flex-column\">\n <dato-input datoSize=\"sm\" placeholder=\"core.search-all-values\" [debounceTime]=\"300\" #search [formControl]=\"listSearchControl\" [isFocused]=\"byValueContent._expanded\"></dato-input>\n <dato-list-v2 class=\"primary-0-background-color\"\n containerHeight=\"195px\"\n [withSelectAll]=\"true\"\n [clientSearch]=\"isClientSideGrid\"\n [sortByKey]=\"listSortByKey\"\n [labelType]=\"listLabelType\"\n [searchController]=\"search\"\n [options]=\"listOptions\"\n [isSortList]=\"!keepPredefinedListOriginalOrder\"\n [loading]=\"loadingList\"\n [noDataTpl]=\"isClientSideGrid ? null : noData\"\n formControlName=\"byValue\"\n data-auto-id=\"by-value-filters-list\">\n </dato-list-v2>\n <ng-template #noData>\n <div *ngIf=\"serverSearchErrored; else noResults\" class=\"mb-10 d-flex-1 d-flex-column align-center\" data-auto-id=\"by-value-server-error\">\n <img class=\"mt-20\" datoStaticSrc=\"core/grid/filter-server-error.svg\"/>\n <p class=\"dato-note-bold mt-10 mb-10 primary-300-color\">{{ 'core.something-went-wrong' | translate }}</p>\n <p class=\"dato-note-italic primary-300-color\">{{ 'core.try-again-later' | translate }}</p>\n </div>\n <ng-template #noResults>\n <dato-list-no-result class=\"mb-10 block\" data-auto-id=\"by-value-no-results\"></dato-list-no-result>\n </ng-template>\n </ng-template>\n </div>\n </dato-accordion-content>\n </dato-accordion-group>\n <div class=\"separator\"></div>\n </ng-container>\n </dato-accordion>\n </ng-container>\n <div class=\"actions no-select px-10 py-12 d-flex align-end-center\">\n <dato-link *ngIf=\"showClearFiltersButton\" class=\"mr-30\" datoType=\"secondary\" datoSize=\"sm\"\n (click)=\"clearFilters()\" data-auto-id=\"clear-filters\" [disabled]=\"!hasFilter\">\n {{ 'core.clearFilters' | translate }}\n </dato-link>\n <dato-button datoSize=\"sm\" [datoTooltip]=\"hotKeyTooltip\" [datoHotkeys]=\"applyHotKeyConfig\" (click)=\"closePopUp()\" data-auto-id=\"apply-filters\">{{'core.apply' | translate}}</dato-button>\n </div>\n</form>\n",
13224
+ template: "<form class=\"container primary-0-background-color\" [formGroup]=\"filterForm\" datoForm\n *datoSubscribe=\"hasFilter$ as hasFilter\">\n <ng-container>\n <dato-accordion closeOthers=\"true\" class=\"filter-options\" [activeIds]=\"activeAccordionId\">\n <ng-container *ngIf=\"filterSections.Conditional\">\n\n <dato-accordion-group>\n <dato-accordion-header class=\"dato-note-bold primary-600-color\" data-auto-id=\"conditional-filters\"\n [class.primary-100-background-color]=\"header_1.isOpen\" #header_1>\n <div class=\"px-10 d-flex align-start-center\">\n <div class=\"filter-title d-flex-grow d-flex align-start-center\">{{'core.filterByCondition' | translate}}</div>\n <dato-icon class=\"primary-200-color\" height=\"18px\"\n [icon]=\"header_1.isOpen ? 'collapse' : 'expand'\"></dato-icon>\n </div>\n </dato-accordion-header>\n <dato-accordion-content #conditionalContent>\n <div class=\"conditional-content-container d-flex-column\" formGroupName=\"conditional\"\n [class.multi-conditions]=\"conditionsControls.length > 1\">\n <div class=\"operand d-flex-column mb-10\"\n [attr.data-auto-id]=\"'condition-' + i\"\n *ngFor=\"let operand of conditionsControls; index as i; last as last\">\n <div class=\"d-flex\">\n <div class=\"d-flex-column d-flex-grow min-width-0\">\n <ng-container formArrayName=\"conditions\">\n\n <ng-container [formGroupName]=\"i\">\n <dato-select datoSize=\"sm\" class=\"mb-10\" [attr.data-auto-id]=\"'condition-' + i + '-operand'\" formControlName=\"type\"\n datoSelectClass=\"operand-select\"\n [dataSet]=\"conditionalFilterOptions\"\n [isCombo]=\"false\" #select>\n <dato-option *ngFor=\"let option of select.data; index as index\"\n [option]=\"option\">\n {{ option.label }}\n </dato-option>\n </dato-select>\n <ng-container [ngSwitch]=\"filterType\">\n <div class=\"d-flex\" *ngSwitchCase=\"gridFilterTypes.Date\">\n <dato-date-picker [attr.data-auto-id]=\"'condition-date-' + i + '-value'\"\n formControlName=\"value\" class=\"d-flex-grow range-calendar\">\n <ng-template>\n <dato-date-picker-range *ngIf=\"getOperandType(i) === rangeOperand; else singleDate\"></dato-date-picker-range>\n <ng-template #singleDate>\n <dato-date-picker-single></dato-date-picker-single>\n </ng-template>\n </ng-template>\n </dato-date-picker>\n </div>\n <ng-container *ngIf=\"!isConditionalEmpty(operand)\">\n <dato-input *ngSwitchCase=\"gridFilterTypes.String\" datoSize=\"sm\"\n (keydown.enter.stop.prevent)=\"closePopUp()\"\n datoControlErrors [attr.data-auto-id]=\"'condition-string-' + i + '-value'\"\n [datoControlErrorsOnBlur]=\"false\"\n class=\"condition-value\"\n placeholder=\"core.filter\" formControlName=\"value\"\n [isFocused]=\"conditionalContent._expanded\"\n ></dato-input>\n <div class=\"d-flex\" *ngSwitchCase=\"gridFilterTypes.Number\">\n <dato-input-number (keydown.enter.stop.prevent)=\"closePopUp()\" [showControls]=\"false\"\n class=\"width-100 condition-value\" allowNegative=\"true\">\n <input type=\"number\" formControlName=\"value\" [attr.data-auto-id]=\"'condition-number-' + i + '-value'\"\n datoInputNumber datoSize=\"sm\" datoControlErrors [datoAutoFocus]=\"conditionalContent._expanded\"\n [datoControlErrorsOnBlur]=\"false\"/>\n </dato-input-number>\n <ng-container *ngIf=\"getOperandType(i) === rangeOperand\">\n <div class=\"mx-5\">-</div>\n <dato-input-number (keydown.enter.stop.prevent)=\"closePopUp()\"\n class=\"width-100 condition-value\" allowNegative=\"true\">\n <input type=\"number\" formControlName=\"rangeEnd\" [attr.data-auto-id]=\"'condition-number-' + i + '-range-end'\"\n datoInputNumber datoSize=\"sm\" datoControlErrors\n [datoControlErrorsOnBlur]=\"false\"/>\n </dato-input-number>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div>\n\n <dato-icon-button datoSize=\"md\"\n datoType=\"none\" icon=\"trash\"\n class=\"overflow-hidden delete\"\n datoTooltip=\"core.deleteFilterCondition\"\n [attr.data-auto-id]=\"'condition-' + i + '-remove'\"\n (click)=\"removeCondition(i)\"\n datoTooltipPosition=\"right-start\"></dato-icon-button>\n </div>\n </div>\n <dato-operator-toggler class=\"mt-10 justify-center width-100 d-flex\" data-auto-id=\"operator-toggler\"\n expanded=\"true\" [datoTogglerValue]=\"conditionsOperator\"\n *ngIf=\"conditionsControls.length > 1 && !last\"\n formControlName=\"operator\" #operatorToggler></dato-operator-toggler>\n </div>\n <div class=\"d-flex align-center\">\n <dato-link *ngIf=\"conditionsControls.length < 3\" class=\"no-select\" datoSize=\"sm\" data-auto-id=\"add-condition\"\n datoType=\"secondary\" (click)=\"addCondition()\">\n <dato-icon height=\"10px\" width=\"10px\" icon=\"plus-simple\"></dato-icon>\n {{ 'core.condition' | translate }}\n </dato-link>\n </div>\n </div>\n </dato-accordion-content>\n </dato-accordion-group>\n <div class=\"separator\"></div>\n </ng-container>\n <ng-container *ngIf=\"filterSections.By_Value\">\n <dato-accordion-group class=\"list-content\">\n <dato-accordion-header class=\"dato-note-bold primary-600-color\" data-auto-id=\"by-value-filters\"\n [class.primary-100-background-color]=\"header_2.isOpen\" #header_2>\n <div class=\"px-10 d-flex align-start-center\">\n <div class=\"filter-title d-flex d-flex-grow align-start-center\">{{'core.filterByValue' | translate}}</div>\n <dato-icon class=\"primary-200-color\" height=\"18px\"\n [icon]=\"header_2.isOpen ? 'collapse' : 'expand'\"></dato-icon>\n </div>\n </dato-accordion-header>\n <dato-accordion-content #byValueContent>\n <div class=\"value-content-container d-flex-column\">\n <dato-input datoSize=\"sm\" placeholder=\"core.search-all-values\" [debounceTime]=\"300\" #search [formControl]=\"listSearchControl\" [isFocused]=\"byValueContent._expanded\"></dato-input>\n <dato-list-v2 class=\"primary-0-background-color\"\n containerHeight=\"195px\"\n [withSelectAll]=\"true\"\n [clientSearch]=\"isClientSideGrid\"\n [sortByKey]=\"listSortByKey\"\n [labelType]=\"listLabelType\"\n [searchController]=\"search\"\n [options]=\"listOptions\"\n [isSortList]=\"!keepPredefinedListOriginalOrder\"\n [loading]=\"loadingList\"\n [noDataTpl]=\"isClientSideGrid ? null : noData\"\n formControlName=\"byValue\"\n data-auto-id=\"by-value-filters-list\">\n </dato-list-v2>\n <ng-template #noData>\n <div *ngIf=\"serverSearchErrored; else noResults\" class=\"mb-10 d-flex-1 d-flex-column align-center\" data-auto-id=\"by-value-server-error\">\n <img class=\"mt-20\" datoStaticSrc=\"core/grid/filter-server-error.svg\"/>\n <p class=\"dato-note-bold mt-10 mb-10 primary-300-color\">{{ 'core.something-went-wrong' | translate }}</p>\n <p class=\"dato-note-italic primary-300-color\">{{ 'core.try-again-later' | translate }}</p>\n </div>\n <ng-template #noResults>\n <dato-list-no-result class=\"mb-10 block\" data-auto-id=\"by-value-no-results\"></dato-list-no-result>\n </ng-template>\n </ng-template>\n </div>\n </dato-accordion-content>\n </dato-accordion-group>\n <div class=\"separator\"></div>\n </ng-container>\n </dato-accordion>\n </ng-container>\n <div class=\"actions no-select px-10 py-12 d-flex align-end-center\">\n <dato-link *ngIf=\"showClearFiltersButton\" class=\"mr-30\" datoType=\"secondary\" datoSize=\"sm\"\n (click)=\"clearFilters()\" data-auto-id=\"clear-filters\" [disabled]=\"!hasFilter\">\n {{ 'core.clearFilters' | translate }}\n </dato-link>\n <dato-button datoSize=\"sm\" [datoTooltip]=\"hotKeyTooltip\" [datoHotkeys]=\"applyHotKeyConfig\" (click)=\"closePopUp()\" data-auto-id=\"apply-filters\">{{'core.apply' | translate}}</dato-button>\n </div>\n</form>\n",
13197
13225
  changeDetection: ChangeDetectionStrategy.OnPush,
13198
13226
  styles: [":host dato-accordion-header{transition:background-color .2s ease-in-out}:host>.container{width:242px}:host .value-content-container dato-input{padding:10px}:host .conditional-content-container{padding:10px;transition:padding-right .2s ease-in-out}:host .conditional-content-container.multi-conditions{padding-right:0}:host .conditional-content-container.multi-conditions .delete{width:24px}:host .filter-title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:40px;transition:color .2s ease-in-out}:host .separator{height:1px;width:100%}:host .delete{transition:width .2s ease-in-out;width:0}"]
13199
13227
  }),
@@ -14355,8 +14383,7 @@ var GridService = /** @class */ (function () {
14355
14383
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14356
14384
  };
14357
14385
  GridService.prototype.saveSettingsToServer = function (settings) {
14358
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14359
- this.storageAPI.set(this.gridName, settings, isGlobal);
14386
+ this.storageAPI.set(this.gridName, settings);
14360
14387
  };
14361
14388
  /**
14362
14389
  * @internal used to log grid events to the platform's logging service
@@ -15361,10 +15388,7 @@ var DatoGridControllerComponent = /** @class */ (function () {
15361
15388
  .pipe(switchMap(function () {
15362
15389
  _this.gridOptions = _this.normalizeOptions();
15363
15390
  agGrid.gridOptions = _this.gridOptions;
15364
- var isGlobal = _this.gridOptions.isGlobalSettings;
15365
- var settingsLoader = _this.gridOptions.saveSettings === false
15366
- ? of(null)
15367
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15391
+ var settingsLoader = _this.gridOptions.saveSettings === false ? of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15368
15392
  return combineLatest([agGrid.gridReady, settingsLoader]);
15369
15393
  }), untilDestroyed(this))
15370
15394
  .subscribe(function (_a) {
@@ -16646,18 +16670,6 @@ var DatoGridV2ToolbarComponent = /** @class */ (function () {
16646
16670
  this.registerGroupListeners();
16647
16671
  this.subscribeRowsSelectionData();
16648
16672
  };
16649
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
16650
- var _this = this;
16651
- return this.gridController.gridQuery.waitForGrid(function () {
16652
- return _this.gridQuery.gridRef.cellValueChanged.pipe(debounceTime(100), untilDestroyed(_this));
16653
- });
16654
- };
16655
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
16656
- var _this = this;
16657
- return this.gridController.gridQuery.waitForGrid(function () {
16658
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(debounceTime(100), untilDestroyed(_this));
16659
- });
16660
- };
16661
16673
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
16662
16674
  if (isFunction(action.onClick)) {
16663
16675
  var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
@@ -21133,40 +21145,6 @@ var DatoEditableHeaderModule = /** @class */ (function () {
21133
21145
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21134
21146
  */
21135
21147
 
21136
- var RichTextService = /** @class */ (function () {
21137
- function RichTextService(http, config) {
21138
- this.http = http;
21139
- this.config = config;
21140
- }
21141
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21142
- if (!this.richTextScript$) {
21143
- this.initLib(appendScriptFunc, appendStyleFunc);
21144
- }
21145
- return this.richTextScript$;
21146
- };
21147
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21148
- this.richTextScript$ = combineLatest([
21149
- this.http
21150
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21151
- .pipe(tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21152
- this.http
21153
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21154
- .pipe(tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21155
- ]).pipe(shareReplay(1));
21156
- };
21157
- RichTextService.ctorParameters = function () { return [
21158
- { type: HttpClient },
21159
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21160
- ]; };
21161
- RichTextService.ɵprov = ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(ɵɵinject(HttpClient), ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21162
- RichTextService = __decorate([
21163
- Injectable({ providedIn: 'root' }),
21164
- __param(1, Inject(DATO_CORE_CONFIG)),
21165
- __metadata("design:paramtypes", [HttpClient, Object])
21166
- ], RichTextService);
21167
- return RichTextService;
21168
- }());
21169
-
21170
21148
  /**
21171
21149
  * @license
21172
21150
  * Copyright Datorama. All Rights Reserved.
@@ -21180,20 +21158,20 @@ var getTinymce = function () {
21180
21158
  var ɵ0$3 = getTinymce;
21181
21159
  var DatoRichTextDirective = /** @class */ (function (_super) {
21182
21160
  __extends(DatoRichTextDirective, _super);
21183
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21161
+ function DatoRichTextDirective(ngZone, http, host, config) {
21184
21162
  var _this = _super.call(this) || this;
21185
21163
  _this.ngZone = ngZone;
21186
- _this.richTextService = richTextService;
21187
- _this.config = config;
21164
+ _this.http = http;
21188
21165
  _this.host = host;
21166
+ _this.config = config;
21189
21167
  _this.autocompleteOptions = {};
21190
21168
  _this.forcePlainTextPasting = false;
21191
21169
  _this.format = 'html';
21192
21170
  _this.isOneLine = false;
21193
21171
  _this.initialValue = '';
21194
- _this.defaultPlugins = 'link fullscreen image lists table autocomplete';
21172
+ _this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
21195
21173
  _this.defaultToolbar = [
21196
- 'fontfamily fontsize forecolor backcolor bold italic underline link',
21174
+ 'fontselect fontsizeselect forecolor backcolor bold italic underline link',
21197
21175
  'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
21198
21176
  ];
21199
21177
  return _this;
@@ -21219,11 +21197,28 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21219
21197
  base: this.config.paths.richText,
21220
21198
  query: ''
21221
21199
  };
21222
- this.richTextService
21223
- .getLib(appendScript, appendStyle)
21224
- .pipe(untilDestroyed(this))
21225
- .subscribe(function () {
21226
- _this.init.call(_this);
21200
+ /**
21201
+ * We support only one instance in load time
21202
+ */
21203
+ if (window.tinymce) {
21204
+ this.init.call(this);
21205
+ }
21206
+ else {
21207
+ this.loadLib().subscribe(function (lib) {
21208
+ appendScript(lib, 'rich-text-editor');
21209
+ _this.init.call(_this);
21210
+ _this.loadAutoCompleteStyle();
21211
+ });
21212
+ }
21213
+ };
21214
+ DatoRichTextDirective.prototype.loadLib = function () {
21215
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21216
+ };
21217
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21218
+ this.http
21219
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21220
+ .subscribe(function (style) {
21221
+ appendStyle(style, 'tinymce-autocomplete');
21227
21222
  });
21228
21223
  };
21229
21224
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21247,6 +21242,8 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21247
21242
  target: this.host.nativeElement,
21248
21243
  width: this.width || 600,
21249
21244
  height: this.height || 300,
21245
+ force_br_newlines: true,
21246
+ force_p_newlines: false,
21250
21247
  resize: 'both',
21251
21248
  branding: false,
21252
21249
  inline: this.inline,
@@ -21254,12 +21251,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21254
21251
  readonly: this.disabled,
21255
21252
  plugins: this.plugins || this.defaultPlugins,
21256
21253
  toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
21257
- font_size_formats: '8px 10px 12px 14px 18px 24px 36px',
21254
+ fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
21258
21255
  min_width: 480,
21259
21256
  menubar: false,
21260
21257
  autocomplete: this.autocompleteOptions,
21261
- suffix: '.min',
21262
- skin: 'tinymce-5',
21263
21258
  setup: function (editor) {
21264
21259
  _this.editor = editor;
21265
21260
  editor.on('init', function (e) {
@@ -21316,9 +21311,9 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21316
21311
  var DatoRichTextDirective_1;
21317
21312
  DatoRichTextDirective.ctorParameters = function () { return [
21318
21313
  { type: NgZone },
21319
- { type: RichTextService },
21320
- { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] },
21321
- { type: ElementRef }
21314
+ { type: HttpClient },
21315
+ { type: ElementRef },
21316
+ { type: undefined, decorators: [{ type: Inject, args: [DATO_CORE_CONFIG,] }] }
21322
21317
  ]; };
21323
21318
  __decorate([
21324
21319
  Input(),
@@ -21384,9 +21379,10 @@ var DatoRichTextDirective = /** @class */ (function (_super) {
21384
21379
  }
21385
21380
  ]
21386
21381
  }),
21387
- __param(2, Inject(DATO_CORE_CONFIG)),
21382
+ __param(3, Inject(DATO_CORE_CONFIG)),
21388
21383
  __metadata("design:paramtypes", [NgZone,
21389
- RichTextService, Object, ElementRef])
21384
+ HttpClient,
21385
+ ElementRef, Object])
21390
21386
  ], DatoRichTextDirective);
21391
21387
  return DatoRichTextDirective;
21392
21388
  }(BaseCustomControl));
@@ -23909,9 +23905,7 @@ var DatoBreadcrumbsComponent = /** @class */ (function () {
23909
23905
  };
23910
23906
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
23911
23907
  var _this = this;
23912
- this.headerControl.valueChanges
23913
- .pipe(debounceTime(300), untilDestroyed(this))
23914
- .subscribe(function (res) {
23908
+ this.headerControl.valueChanges.pipe(debounceTime(300), untilDestroyed(this)).subscribe(function (res) {
23915
23909
  _this.updateEditableText.emit(res);
23916
23910
  _this.cdr.detectChanges();
23917
23911
  });
@@ -25274,7 +25268,7 @@ function fixNgLeaks() {
25274
25268
  };
25275
25269
  }
25276
25270
 
25277
- window.coreVersion = '22.9.2-rc.';
25271
+ window.coreVersion = '22.9.3';
25278
25272
 
25279
25273
  /**
25280
25274
  * @license
@@ -25288,5 +25282,5 @@ window.coreVersion = '22.9.2-rc.';
25288
25282
  * Generated bundle index. Do not edit.
25289
25283
  */
25290
25284
 
25291
- 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 };
25285
+ 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 };
25292
25286
  //# sourceMappingURL=datorama-core.js.map