@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.
- package/bundles/datorama-core.umd.js +77 -84
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +14 -14
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.d.ts +0 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/datorama-core.js +1 -2
- package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
- package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
- package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +22 -6
- package/esm2015/lib/grid-v2/grid-settings.js +2 -2
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +2 -3
- package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -7
- package/esm2015/lib/icon/icon.types.js +1 -1
- package/esm2015/lib/rich-text/rich-text.directive.js +38 -20
- package/esm2015/lib/select/select.component.js +10 -5
- package/esm2015/lib/version.js +2 -2
- package/esm5/datorama-core.js +1 -2
- package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
- package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +2 -5
- package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +29 -6
- package/esm5/lib/grid-v2/grid-settings.js +2 -2
- package/esm5/lib/grid-v2/grid-store/grid.service.js +2 -3
- package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +1 -13
- package/esm5/lib/icon/icon.types.js +1 -1
- package/esm5/lib/rich-text/rich-text.directive.js +39 -21
- package/esm5/lib/select/select.component.js +10 -5
- package/esm5/lib/version.js +2 -2
- package/fesm2015/datorama-core.js +70 -76
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +78 -84
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/grid-v2/grid/grid-v2.types.d.ts +2 -1
- package/lib/grid-v2/grid-filter/grid-filter.component.d.ts +4 -1
- package/lib/grid-v2/grid-settings.d.ts +2 -2
- package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +0 -2
- package/lib/icon/icon.types.d.ts +1 -1
- package/lib/rich-text/rich-text.directive.d.ts +6 -4
- package/package.json +1 -1
- package/esm2015/lib/rich-text/rich-text.service.js +0 -50
- package/esm5/lib/rich-text/rich-text.service.js +0 -51
- package/lib/rich-text/rich-text.service.d.ts +0 -10
|
@@ -8748,8 +8748,9 @@
|
|
|
8748
8748
|
DatoSelectComponent.prototype.writeValue = function (activeOptions) {
|
|
8749
8749
|
this._model = activeOptions ? akita.coerceArray(activeOptions) : [];
|
|
8750
8750
|
if (this.options) {
|
|
8751
|
+
var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
|
|
8751
8752
|
this.markAsActive(this._model, { deselectAll: true });
|
|
8752
|
-
|
|
8753
|
+
overTheLimit && this.updateDisabledState();
|
|
8753
8754
|
}
|
|
8754
8755
|
/** For later updates */
|
|
8755
8756
|
this.cdr.markForCheck();
|
|
@@ -8786,7 +8787,7 @@
|
|
|
8786
8787
|
*/
|
|
8787
8788
|
if (this.hasValue && this._initialOpen) {
|
|
8788
8789
|
this.markAsActive(this._model);
|
|
8789
|
-
if (this.limitSelectedTo) {
|
|
8790
|
+
if (this.limitSelectedTo && this._model.length === this.limitSelectedTo) {
|
|
8790
8791
|
this.updateDisabledState();
|
|
8791
8792
|
}
|
|
8792
8793
|
this._initialOpen = false;
|
|
@@ -8875,6 +8876,7 @@
|
|
|
8875
8876
|
};
|
|
8876
8877
|
DatoSelectComponent.prototype.removeOption = function (option) {
|
|
8877
8878
|
var _this = this;
|
|
8879
|
+
var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
|
|
8878
8880
|
this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
|
|
8879
8881
|
var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
|
|
8880
8882
|
/**
|
|
@@ -8884,7 +8886,7 @@
|
|
|
8884
8886
|
if (optionToRemove) {
|
|
8885
8887
|
optionToRemove.active = false;
|
|
8886
8888
|
}
|
|
8887
|
-
|
|
8889
|
+
updateDisabled && this.updateDisabledState();
|
|
8888
8890
|
this.onChange(this._model);
|
|
8889
8891
|
this.cdr.markForCheck();
|
|
8890
8892
|
this.asyncUpdateDropdownPosition();
|
|
@@ -9232,6 +9234,9 @@
|
|
|
9232
9234
|
if (!datoOption) {
|
|
9233
9235
|
return;
|
|
9234
9236
|
}
|
|
9237
|
+
var modelLength = this._model.length;
|
|
9238
|
+
var updateDisabled = this.limitSelectedTo &&
|
|
9239
|
+
(modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
|
|
9235
9240
|
datoOption.active = !datoOption.active;
|
|
9236
9241
|
var rawOption = datoOption.option;
|
|
9237
9242
|
if (datoOption.active) {
|
|
@@ -9240,7 +9245,7 @@
|
|
|
9240
9245
|
else {
|
|
9241
9246
|
this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
|
|
9242
9247
|
}
|
|
9243
|
-
|
|
9248
|
+
updateDisabled && this.updateDisabledState();
|
|
9244
9249
|
this.onChange(this._model);
|
|
9245
9250
|
this.cdr.markForCheck();
|
|
9246
9251
|
this.asyncUpdateDropdownPosition();
|
|
@@ -12045,7 +12050,7 @@
|
|
|
12045
12050
|
return contextActions;
|
|
12046
12051
|
}
|
|
12047
12052
|
|
|
12048
|
-
var DATO_GRID_STORAGE_API = new core.InjectionToken('
|
|
12053
|
+
var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_API');
|
|
12049
12054
|
|
|
12050
12055
|
var defaultEditableColumnRenderer = function (params) {
|
|
12051
12056
|
return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
|
|
@@ -12770,6 +12775,20 @@
|
|
|
12770
12775
|
this.showClearFiltersButton = true;
|
|
12771
12776
|
this.excludedValues = new Set();
|
|
12772
12777
|
}
|
|
12778
|
+
Object.defineProperty(DatoGridFilterComponent.prototype, "operatorToggler", {
|
|
12779
|
+
set: function (togglers) {
|
|
12780
|
+
if (togglers && this.inputConditionsOperator) {
|
|
12781
|
+
togglers.forEach(function (toggler) {
|
|
12782
|
+
if (!toggler.isDisabled) {
|
|
12783
|
+
toggler.setDisabledState(true);
|
|
12784
|
+
}
|
|
12785
|
+
});
|
|
12786
|
+
this.cdr.detectChanges();
|
|
12787
|
+
}
|
|
12788
|
+
},
|
|
12789
|
+
enumerable: true,
|
|
12790
|
+
configurable: true
|
|
12791
|
+
});
|
|
12773
12792
|
Object.defineProperty(DatoGridFilterComponent.prototype, "byValueControl", {
|
|
12774
12793
|
get: function () {
|
|
12775
12794
|
return this.filterForm.get('byValue');
|
|
@@ -12813,7 +12832,7 @@
|
|
|
12813
12832
|
Object.defineProperty(DatoGridFilterComponent.prototype, "defaultConditional", {
|
|
12814
12833
|
get: function () {
|
|
12815
12834
|
return this.fb.group({
|
|
12816
|
-
operator: [exports.OperatorTypes.AND],
|
|
12835
|
+
operator: [this.inputConditionsOperator || exports.OperatorTypes.AND],
|
|
12817
12836
|
conditions: this.fb.array([this.defaultOperand])
|
|
12818
12837
|
});
|
|
12819
12838
|
},
|
|
@@ -12882,6 +12901,7 @@
|
|
|
12882
12901
|
var colFilter = filter || colDef.filter;
|
|
12883
12902
|
var filterOptions = DatoGridFilterOptionsMap[colFilter];
|
|
12884
12903
|
this.pivotColumn = gridQuery.api.columns.getSecondaryPivotColumn(pivotKeys, pivotValueColumn);
|
|
12904
|
+
this.inputConditionsOperator = filtersConfig.inputConditionsOperator;
|
|
12885
12905
|
if (!isNil(filtersConfig.showClearFiltersButton)) {
|
|
12886
12906
|
this.showClearFiltersButton = filtersConfig.showClearFiltersButton;
|
|
12887
12907
|
}
|
|
@@ -12926,7 +12946,10 @@
|
|
|
12926
12946
|
this.listOptions = rawValues.map(mapToListItem);
|
|
12927
12947
|
}
|
|
12928
12948
|
else {
|
|
12929
|
-
var columnValues = this.getColumnValues()
|
|
12949
|
+
var columnValues = this.getColumnValues().filter(function (_a) {
|
|
12950
|
+
var value = _a.value;
|
|
12951
|
+
return !isNil(value);
|
|
12952
|
+
});
|
|
12930
12953
|
this.columnValues = columnValues.map(function (_a) {
|
|
12931
12954
|
var value = _a.value;
|
|
12932
12955
|
return !isNil(_this.pivotColumn) && value ? value[_this.colField] : value;
|
|
@@ -13219,7 +13242,7 @@
|
|
|
13219
13242
|
return this.defaultConditional;
|
|
13220
13243
|
}
|
|
13221
13244
|
return this.fb.group({
|
|
13222
|
-
operator: [conditional.operator],
|
|
13245
|
+
operator: [this.inputConditionsOperator || conditional.operator],
|
|
13223
13246
|
conditions: this.fb.array(this.buildConditions(conditional.conditions))
|
|
13224
13247
|
});
|
|
13225
13248
|
};
|
|
@@ -13389,10 +13412,15 @@
|
|
|
13389
13412
|
{ type: DatoTranslateService },
|
|
13390
13413
|
{ type: core.ChangeDetectorRef }
|
|
13391
13414
|
]; };
|
|
13415
|
+
__decorate([
|
|
13416
|
+
core.ViewChildren('operatorToggler'),
|
|
13417
|
+
__metadata("design:type", core.QueryList),
|
|
13418
|
+
__metadata("design:paramtypes", [core.QueryList])
|
|
13419
|
+
], DatoGridFilterComponent.prototype, "operatorToggler", null);
|
|
13392
13420
|
DatoGridFilterComponent = __decorate([
|
|
13393
13421
|
core.Component({
|
|
13394
13422
|
selector: 'dato-grid-filter',
|
|
13395
|
-
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",
|
|
13423
|
+
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",
|
|
13396
13424
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
13397
13425
|
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}"]
|
|
13398
13426
|
}),
|
|
@@ -14554,8 +14582,7 @@
|
|
|
14554
14582
|
this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
|
|
14555
14583
|
};
|
|
14556
14584
|
GridService.prototype.saveSettingsToServer = function (settings) {
|
|
14557
|
-
|
|
14558
|
-
this.storageAPI.set(this.gridName, settings, isGlobal);
|
|
14585
|
+
this.storageAPI.set(this.gridName, settings);
|
|
14559
14586
|
};
|
|
14560
14587
|
/**
|
|
14561
14588
|
* @internal used to log grid events to the platform's logging service
|
|
@@ -15560,10 +15587,7 @@
|
|
|
15560
15587
|
.pipe(operators.switchMap(function () {
|
|
15561
15588
|
_this.gridOptions = _this.normalizeOptions();
|
|
15562
15589
|
agGrid.gridOptions = _this.gridOptions;
|
|
15563
|
-
var
|
|
15564
|
-
var settingsLoader = _this.gridOptions.saveSettings === false
|
|
15565
|
-
? rxjs.of(null)
|
|
15566
|
-
: _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
|
|
15590
|
+
var settingsLoader = _this.gridOptions.saveSettings === false ? rxjs.of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
|
|
15567
15591
|
return rxjs.combineLatest([agGrid.gridReady, settingsLoader]);
|
|
15568
15592
|
}), ngxTakeUntilDestroy.untilDestroyed(this))
|
|
15569
15593
|
.subscribe(function (_a) {
|
|
@@ -16845,18 +16869,6 @@
|
|
|
16845
16869
|
this.registerGroupListeners();
|
|
16846
16870
|
this.subscribeRowsSelectionData();
|
|
16847
16871
|
};
|
|
16848
|
-
DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
|
|
16849
|
-
var _this = this;
|
|
16850
|
-
return this.gridController.gridQuery.waitForGrid(function () {
|
|
16851
|
-
return _this.gridQuery.gridRef.cellValueChanged.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
|
|
16852
|
-
});
|
|
16853
|
-
};
|
|
16854
|
-
DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
|
|
16855
|
-
var _this = this;
|
|
16856
|
-
return this.gridController.gridQuery.waitForGrid(function () {
|
|
16857
|
-
return _this.gridQuery.gridRef.rowDataUpdated.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
|
|
16858
|
-
});
|
|
16859
|
-
};
|
|
16860
16872
|
DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
|
|
16861
16873
|
if (isFunction(action.onClick)) {
|
|
16862
16874
|
var selectedRowsCount = this.gridController.gridQuery.getSelectedRowsCount();
|
|
@@ -21332,40 +21344,6 @@
|
|
|
21332
21344
|
* found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
|
|
21333
21345
|
*/
|
|
21334
21346
|
|
|
21335
|
-
var RichTextService = /** @class */ (function () {
|
|
21336
|
-
function RichTextService(http, config) {
|
|
21337
|
-
this.http = http;
|
|
21338
|
-
this.config = config;
|
|
21339
|
-
}
|
|
21340
|
-
RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
|
|
21341
|
-
if (!this.richTextScript$) {
|
|
21342
|
-
this.initLib(appendScriptFunc, appendStyleFunc);
|
|
21343
|
-
}
|
|
21344
|
-
return this.richTextScript$;
|
|
21345
|
-
};
|
|
21346
|
-
RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
|
|
21347
|
-
this.richTextScript$ = rxjs.combineLatest([
|
|
21348
|
-
this.http
|
|
21349
|
-
.get(this.config.paths.richText + "/index.js", { responseType: 'text' })
|
|
21350
|
-
.pipe(operators.tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
|
|
21351
|
-
this.http
|
|
21352
|
-
.get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
|
|
21353
|
-
.pipe(operators.tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
|
|
21354
|
-
]).pipe(operators.shareReplay(1));
|
|
21355
|
-
};
|
|
21356
|
-
RichTextService.ctorParameters = function () { return [
|
|
21357
|
-
{ type: http.HttpClient },
|
|
21358
|
-
{ type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
|
|
21359
|
-
]; };
|
|
21360
|
-
RichTextService.ɵprov = core.ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
|
|
21361
|
-
RichTextService = __decorate([
|
|
21362
|
-
core.Injectable({ providedIn: 'root' }),
|
|
21363
|
-
__param(1, core.Inject(DATO_CORE_CONFIG)),
|
|
21364
|
-
__metadata("design:paramtypes", [http.HttpClient, Object])
|
|
21365
|
-
], RichTextService);
|
|
21366
|
-
return RichTextService;
|
|
21367
|
-
}());
|
|
21368
|
-
|
|
21369
21347
|
/**
|
|
21370
21348
|
* @license
|
|
21371
21349
|
* Copyright Datorama. All Rights Reserved.
|
|
@@ -21379,20 +21357,20 @@
|
|
|
21379
21357
|
var ɵ0$3 = getTinymce;
|
|
21380
21358
|
var DatoRichTextDirective = /** @class */ (function (_super) {
|
|
21381
21359
|
__extends(DatoRichTextDirective, _super);
|
|
21382
|
-
function DatoRichTextDirective(ngZone,
|
|
21360
|
+
function DatoRichTextDirective(ngZone, http, host, config) {
|
|
21383
21361
|
var _this = _super.call(this) || this;
|
|
21384
21362
|
_this.ngZone = ngZone;
|
|
21385
|
-
_this.
|
|
21386
|
-
_this.config = config;
|
|
21363
|
+
_this.http = http;
|
|
21387
21364
|
_this.host = host;
|
|
21365
|
+
_this.config = config;
|
|
21388
21366
|
_this.autocompleteOptions = {};
|
|
21389
21367
|
_this.forcePlainTextPasting = false;
|
|
21390
21368
|
_this.format = 'html';
|
|
21391
21369
|
_this.isOneLine = false;
|
|
21392
21370
|
_this.initialValue = '';
|
|
21393
|
-
_this.defaultPlugins = 'link fullscreen image lists table autocomplete';
|
|
21371
|
+
_this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
|
|
21394
21372
|
_this.defaultToolbar = [
|
|
21395
|
-
'
|
|
21373
|
+
'fontselect fontsizeselect forecolor backcolor bold italic underline link',
|
|
21396
21374
|
'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
|
|
21397
21375
|
];
|
|
21398
21376
|
return _this;
|
|
@@ -21418,11 +21396,28 @@
|
|
|
21418
21396
|
base: this.config.paths.richText,
|
|
21419
21397
|
query: ''
|
|
21420
21398
|
};
|
|
21421
|
-
|
|
21422
|
-
|
|
21423
|
-
|
|
21424
|
-
|
|
21425
|
-
|
|
21399
|
+
/**
|
|
21400
|
+
* We support only one instance in load time
|
|
21401
|
+
*/
|
|
21402
|
+
if (window.tinymce) {
|
|
21403
|
+
this.init.call(this);
|
|
21404
|
+
}
|
|
21405
|
+
else {
|
|
21406
|
+
this.loadLib().subscribe(function (lib) {
|
|
21407
|
+
appendScript(lib, 'rich-text-editor');
|
|
21408
|
+
_this.init.call(_this);
|
|
21409
|
+
_this.loadAutoCompleteStyle();
|
|
21410
|
+
});
|
|
21411
|
+
}
|
|
21412
|
+
};
|
|
21413
|
+
DatoRichTextDirective.prototype.loadLib = function () {
|
|
21414
|
+
return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
|
|
21415
|
+
};
|
|
21416
|
+
DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
|
|
21417
|
+
this.http
|
|
21418
|
+
.get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
|
|
21419
|
+
.subscribe(function (style) {
|
|
21420
|
+
appendStyle(style, 'tinymce-autocomplete');
|
|
21426
21421
|
});
|
|
21427
21422
|
};
|
|
21428
21423
|
DatoRichTextDirective.prototype.initEditor = function (_, editor) {
|
|
@@ -21446,6 +21441,8 @@
|
|
|
21446
21441
|
target: this.host.nativeElement,
|
|
21447
21442
|
width: this.width || 600,
|
|
21448
21443
|
height: this.height || 300,
|
|
21444
|
+
force_br_newlines: true,
|
|
21445
|
+
force_p_newlines: false,
|
|
21449
21446
|
resize: 'both',
|
|
21450
21447
|
branding: false,
|
|
21451
21448
|
inline: this.inline,
|
|
@@ -21453,12 +21450,10 @@
|
|
|
21453
21450
|
readonly: this.disabled,
|
|
21454
21451
|
plugins: this.plugins || this.defaultPlugins,
|
|
21455
21452
|
toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
|
|
21456
|
-
|
|
21453
|
+
fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
|
|
21457
21454
|
min_width: 480,
|
|
21458
21455
|
menubar: false,
|
|
21459
21456
|
autocomplete: this.autocompleteOptions,
|
|
21460
|
-
suffix: '.min',
|
|
21461
|
-
skin: 'tinymce-5',
|
|
21462
21457
|
setup: function (editor) {
|
|
21463
21458
|
_this.editor = editor;
|
|
21464
21459
|
editor.on('init', function (e) {
|
|
@@ -21515,9 +21510,9 @@
|
|
|
21515
21510
|
var DatoRichTextDirective_1;
|
|
21516
21511
|
DatoRichTextDirective.ctorParameters = function () { return [
|
|
21517
21512
|
{ type: core.NgZone },
|
|
21518
|
-
{ type:
|
|
21519
|
-
{ type:
|
|
21520
|
-
{ type: core.
|
|
21513
|
+
{ type: http.HttpClient },
|
|
21514
|
+
{ type: core.ElementRef },
|
|
21515
|
+
{ type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
|
|
21521
21516
|
]; };
|
|
21522
21517
|
__decorate([
|
|
21523
21518
|
core.Input(),
|
|
@@ -21583,9 +21578,10 @@
|
|
|
21583
21578
|
}
|
|
21584
21579
|
]
|
|
21585
21580
|
}),
|
|
21586
|
-
__param(
|
|
21581
|
+
__param(3, core.Inject(DATO_CORE_CONFIG)),
|
|
21587
21582
|
__metadata("design:paramtypes", [core.NgZone,
|
|
21588
|
-
|
|
21583
|
+
http.HttpClient,
|
|
21584
|
+
core.ElementRef, Object])
|
|
21589
21585
|
], DatoRichTextDirective);
|
|
21590
21586
|
return DatoRichTextDirective;
|
|
21591
21587
|
}(BaseCustomControl));
|
|
@@ -24108,9 +24104,7 @@
|
|
|
24108
24104
|
};
|
|
24109
24105
|
DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
|
|
24110
24106
|
var _this = this;
|
|
24111
|
-
this.headerControl.valueChanges
|
|
24112
|
-
.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this))
|
|
24113
|
-
.subscribe(function (res) {
|
|
24107
|
+
this.headerControl.valueChanges.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (res) {
|
|
24114
24108
|
_this.updateEditableText.emit(res);
|
|
24115
24109
|
_this.cdr.detectChanges();
|
|
24116
24110
|
});
|
|
@@ -25473,7 +25467,7 @@
|
|
|
25473
25467
|
};
|
|
25474
25468
|
}
|
|
25475
25469
|
|
|
25476
|
-
window.coreVersion = '22.9.
|
|
25470
|
+
window.coreVersion = '22.9.3';
|
|
25477
25471
|
|
|
25478
25472
|
exports.APP_TRANSLATE = APP_TRANSLATE;
|
|
25479
25473
|
exports.AceService = AceService;
|
|
@@ -25915,7 +25909,6 @@
|
|
|
25915
25909
|
exports.ɵl = DatoGridItemsCountCellComponent;
|
|
25916
25910
|
exports.ɵm = DatoGridV2ToolbarMoreMenuComponent;
|
|
25917
25911
|
exports.ɵn = DatoGridSearchBarComponent;
|
|
25918
|
-
exports.ɵo = RichTextService;
|
|
25919
25912
|
|
|
25920
25913
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
25921
25914
|
|