myrta-ui 1.1.34 → 1.1.37
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/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +60 -37
- package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +4 -4
- package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +42 -43
- package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +7 -8
- package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +2 -2
- package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +5 -5
- package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +2 -2
- package/esm2020/lib/components/form/checkbox-group/helpers/get-inner-list.helper.mjs +46 -0
- package/esm2020/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +4 -4
- package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +2 -2
- package/esm2020/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
- package/esm2020/lib/components/form/formula-editor/formula-editor.component.mjs +3 -2
- package/esm2020/lib/components/form/input-text/input-text.component.mjs +2 -2
- package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +3 -3
- package/esm2020/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +4 -3
- package/esm2020/lib/services/mrx-form-validator/validations/max-length.validation.mjs +6 -2
- package/esm2020/lib/services/mrx-form-validator/validations/max-value.validation.mjs +1 -1
- package/esm2020/lib/services/mrx-form-validator/validations/min-length.validation.mjs +6 -2
- package/esm2020/lib/services/mrx-form-validator/validations/required.validation.mjs +1 -1
- package/fesm2015/myrta-ui.mjs +176 -100
- package/fesm2015/myrta-ui.mjs.map +1 -1
- package/fesm2020/myrta-ui.mjs +175 -100
- package/fesm2020/myrta-ui.mjs.map +1 -1
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +21 -14
- package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +13 -9
- package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
- package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-inner-list.helper.d.ts +2 -0
- package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
- package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
- package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +7 -2
- package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +1 -1
- package/package.json +1 -1
package/fesm2015/myrta-ui.mjs
CHANGED
|
@@ -4306,7 +4306,11 @@ const patternValidation = (value, validations, key, invalidMessages) => {
|
|
|
4306
4306
|
|
|
4307
4307
|
const maxLengthValidation = (value, validations, key, invalidMessages) => {
|
|
4308
4308
|
const result = { isValid: true, message: null };
|
|
4309
|
-
if (
|
|
4309
|
+
if (Array.isArray(value) && validations.type === 'single' && value.length > Number(validations[key])) {
|
|
4310
|
+
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4311
|
+
result.isValid = false;
|
|
4312
|
+
}
|
|
4313
|
+
else if (!Array.isArray(value) && String(value).length > Number(validations[key])) {
|
|
4310
4314
|
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4311
4315
|
result.isValid = false;
|
|
4312
4316
|
}
|
|
@@ -4315,7 +4319,11 @@ const maxLengthValidation = (value, validations, key, invalidMessages) => {
|
|
|
4315
4319
|
|
|
4316
4320
|
const minLengthValidation = (value, validations, key, invalidMessages) => {
|
|
4317
4321
|
const result = { isValid: true, message: null };
|
|
4318
|
-
if (
|
|
4322
|
+
if (Array.isArray(value) && validations.type === 'single' && value.length < Number(validations[key])) {
|
|
4323
|
+
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4324
|
+
result.isValid = false;
|
|
4325
|
+
}
|
|
4326
|
+
else if (!Array.isArray(value) && String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {
|
|
4319
4327
|
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4320
4328
|
result.isValid = false;
|
|
4321
4329
|
}
|
|
@@ -4383,7 +4391,8 @@ const getSortingValidationsHelper = (validation) => {
|
|
|
4383
4391
|
}
|
|
4384
4392
|
else {
|
|
4385
4393
|
if (key === 'type') {
|
|
4386
|
-
validation.type = '
|
|
4394
|
+
validation.type = 'single';
|
|
4395
|
+
sortedValidators.type = 'single';
|
|
4387
4396
|
}
|
|
4388
4397
|
}
|
|
4389
4398
|
}
|
|
@@ -5487,7 +5496,7 @@ class InputTextComponent {
|
|
|
5487
5496
|
return this.maxlength > ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length);
|
|
5488
5497
|
}
|
|
5489
5498
|
formatValue(value) {
|
|
5490
|
-
return value.length === this.maskPrefix.length ? '' : value;
|
|
5499
|
+
return value ? value.length === this.maskPrefix.length ? '' : value : '';
|
|
5491
5500
|
}
|
|
5492
5501
|
insertPositionText(tagText) {
|
|
5493
5502
|
if (this.selectionStart && this.selectionEnd) {
|
|
@@ -12808,7 +12817,7 @@ const getSortedList = (list, sortable) => {
|
|
|
12808
12817
|
const sortedList = list.sort(sortedFunc);
|
|
12809
12818
|
sortedList.forEach((item) => {
|
|
12810
12819
|
if (item.type === 'array') {
|
|
12811
|
-
getSortedListInner(item.
|
|
12820
|
+
getSortedListInner(item.items);
|
|
12812
12821
|
}
|
|
12813
12822
|
});
|
|
12814
12823
|
return sortedList;
|
|
@@ -12824,8 +12833,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12824
12833
|
array.forEach((item) => {
|
|
12825
12834
|
if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {
|
|
12826
12835
|
if (item.type === 'array') {
|
|
12827
|
-
const newArray = getIntersectionsFromString(item.
|
|
12828
|
-
searchArray.push(Object.assign(Object.assign({}, item), {
|
|
12836
|
+
const newArray = getIntersectionsFromString(item.items || []);
|
|
12837
|
+
searchArray.push(Object.assign(Object.assign({}, item), { items: newArray }));
|
|
12829
12838
|
}
|
|
12830
12839
|
else {
|
|
12831
12840
|
searchArray.push(item);
|
|
@@ -12833,8 +12842,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12833
12842
|
}
|
|
12834
12843
|
else {
|
|
12835
12844
|
if (item.type === 'array') {
|
|
12836
|
-
const newArray = getIntersectionsFromString(item.
|
|
12837
|
-
newArray.length && searchArray.push(Object.assign(Object.assign({}, item), {
|
|
12845
|
+
const newArray = getIntersectionsFromString(item.items || []);
|
|
12846
|
+
newArray.length && searchArray.push(Object.assign(Object.assign({}, item), { items: newArray }));
|
|
12838
12847
|
}
|
|
12839
12848
|
}
|
|
12840
12849
|
});
|
|
@@ -12843,21 +12852,22 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12843
12852
|
return getIntersectionsFromString(list);
|
|
12844
12853
|
};
|
|
12845
12854
|
|
|
12846
|
-
const
|
|
12855
|
+
const getItemInnerById = (list, itemId) => {
|
|
12847
12856
|
const findById = (acc, el) => {
|
|
12848
12857
|
if ((el === null || el === void 0 ? void 0 : el.id) === itemId)
|
|
12849
12858
|
return el;
|
|
12850
|
-
if (el === null || el === void 0 ? void 0 : el.
|
|
12851
|
-
return el.
|
|
12859
|
+
if (el === null || el === void 0 ? void 0 : el.items)
|
|
12860
|
+
return el.items.reduce(findById, acc);
|
|
12852
12861
|
return acc;
|
|
12853
12862
|
};
|
|
12854
12863
|
return list.reduce(findById, null);
|
|
12855
12864
|
};
|
|
12856
12865
|
|
|
12857
12866
|
const changeItemValue = (item, value) => {
|
|
12867
|
+
var _a;
|
|
12858
12868
|
item.value = value;
|
|
12859
12869
|
if (item.type === 'array') {
|
|
12860
|
-
item.
|
|
12870
|
+
(_a = item.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
12861
12871
|
changeItemValue(item, value);
|
|
12862
12872
|
});
|
|
12863
12873
|
}
|
|
@@ -12872,19 +12882,18 @@ const changeListValue = (list, value) => {
|
|
|
12872
12882
|
const checkUnderArrayValue = (array, value) => {
|
|
12873
12883
|
return array.some((x) => {
|
|
12874
12884
|
if (x.type === 'array') {
|
|
12875
|
-
return checkUnderArrayValue(x.
|
|
12885
|
+
return checkUnderArrayValue(x.items, value);
|
|
12876
12886
|
}
|
|
12877
12887
|
return x.value !== value;
|
|
12878
12888
|
});
|
|
12879
12889
|
};
|
|
12880
|
-
const changeGroupValue = (list,
|
|
12881
|
-
if (!
|
|
12890
|
+
const changeGroupValue = (list, parentId, value) => {
|
|
12891
|
+
if (!parentId) {
|
|
12882
12892
|
return;
|
|
12883
12893
|
}
|
|
12884
|
-
const parent =
|
|
12894
|
+
const parent = getItemInnerById(list, parentId);
|
|
12885
12895
|
if (parent) {
|
|
12886
|
-
parent.value = checkUnderArrayValue(parent.
|
|
12887
|
-
changeGroupValue(list, parent.parentId, value);
|
|
12896
|
+
parent.value = checkUnderArrayValue(parent.items, value) ? null : value;
|
|
12888
12897
|
}
|
|
12889
12898
|
};
|
|
12890
12899
|
|
|
@@ -12895,7 +12904,7 @@ const getCheckedItems = (list) => {
|
|
|
12895
12904
|
const getCheckedItemsFromArray = (list) => {
|
|
12896
12905
|
list.forEach((item) => {
|
|
12897
12906
|
if (item.type === 'array') {
|
|
12898
|
-
getCheckedItemsFromArray(item.
|
|
12907
|
+
getCheckedItemsFromArray(item.items || []);
|
|
12899
12908
|
}
|
|
12900
12909
|
else {
|
|
12901
12910
|
if (item.value) {
|
|
@@ -12908,6 +12917,52 @@ const getCheckedItems = (list) => {
|
|
|
12908
12917
|
return checkedItems;
|
|
12909
12918
|
};
|
|
12910
12919
|
|
|
12920
|
+
const getInnerList = (list, checkedList) => {
|
|
12921
|
+
const getItemValue = (item) => {
|
|
12922
|
+
if (item.items) {
|
|
12923
|
+
let value = false;
|
|
12924
|
+
let count = 0;
|
|
12925
|
+
item.items.forEach((i, idx, array) => {
|
|
12926
|
+
if (i.items) {
|
|
12927
|
+
if (value === false) {
|
|
12928
|
+
value = getItemValue(i);
|
|
12929
|
+
}
|
|
12930
|
+
}
|
|
12931
|
+
else {
|
|
12932
|
+
if (checkedList.find(c => c.id === i.id)) {
|
|
12933
|
+
count++;
|
|
12934
|
+
if (value === false) {
|
|
12935
|
+
value = null;
|
|
12936
|
+
}
|
|
12937
|
+
}
|
|
12938
|
+
}
|
|
12939
|
+
if (idx === array.length - 1) {
|
|
12940
|
+
if (count === array.length) {
|
|
12941
|
+
value = true;
|
|
12942
|
+
}
|
|
12943
|
+
}
|
|
12944
|
+
});
|
|
12945
|
+
return value;
|
|
12946
|
+
}
|
|
12947
|
+
else {
|
|
12948
|
+
return !!checkedList.find(c => c.id === item.id);
|
|
12949
|
+
}
|
|
12950
|
+
};
|
|
12951
|
+
const getModifiedList = (items, parentId = null) => {
|
|
12952
|
+
return items.map((item, idx, array) => {
|
|
12953
|
+
return {
|
|
12954
|
+
id: item.id,
|
|
12955
|
+
text: item.text,
|
|
12956
|
+
value: getItemValue(item),
|
|
12957
|
+
parentId: parentId,
|
|
12958
|
+
type: item.items ? 'array' : 'single',
|
|
12959
|
+
items: item.items ? getModifiedList(item.items, item.id) : []
|
|
12960
|
+
};
|
|
12961
|
+
});
|
|
12962
|
+
};
|
|
12963
|
+
return getModifiedList(list);
|
|
12964
|
+
};
|
|
12965
|
+
|
|
12911
12966
|
class CheckboxGroupHeaderComponent {
|
|
12912
12967
|
constructor() {
|
|
12913
12968
|
this.searchValue = '';
|
|
@@ -12929,10 +12984,10 @@ class CheckboxGroupHeaderComponent {
|
|
|
12929
12984
|
}
|
|
12930
12985
|
}
|
|
12931
12986
|
CheckboxGroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12932
|
-
CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: InputSearchComponent, selector: "mrx-input-search", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "customClasses", "mask", "size", "invalid", "invalidMessage", "checkInvalid", "restrictInput"], outputs: ["changed", "modelChange", "blurred", "cleared", "searched"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
12987
|
+
CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: InputSearchComponent, selector: "mrx-input-search", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "customClasses", "mask", "size", "invalid", "invalidMessage", "checkInvalid", "restrictInput"], outputs: ["changed", "modelChange", "blurred", "cleared", "searched"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12933
12988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
12934
12989
|
type: Component,
|
|
12935
|
-
args: [{ selector: 'mrx-checkbox-group-header', template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
12990
|
+
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
12936
12991
|
}], ctorParameters: function () { return []; }, propDecorators: { searchable: [{
|
|
12937
12992
|
type: Input
|
|
12938
12993
|
}], searchPlaceholder: [{
|
|
@@ -12952,28 +13007,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
12952
13007
|
}] } });
|
|
12953
13008
|
|
|
12954
13009
|
class CheckboxGroupItemComponent {
|
|
12955
|
-
constructor(
|
|
12956
|
-
this.
|
|
13010
|
+
constructor(_detector) {
|
|
13011
|
+
this._detector = _detector;
|
|
12957
13012
|
this.animationState = 'close';
|
|
13013
|
+
this.isOpen = false;
|
|
12958
13014
|
this.displaced = false;
|
|
12959
13015
|
this.level = 0;
|
|
12960
13016
|
this.animationTrigger = null;
|
|
12961
13017
|
this.disabled = false;
|
|
12962
13018
|
this.readonly = false;
|
|
13019
|
+
this.invalid = false;
|
|
12963
13020
|
this.animationEnd = new EventEmitter();
|
|
12964
13021
|
this.checkboxChanged = new EventEmitter();
|
|
12965
13022
|
}
|
|
13023
|
+
set item(value) {
|
|
13024
|
+
this._item = value;
|
|
13025
|
+
}
|
|
13026
|
+
get item() {
|
|
13027
|
+
return this._item;
|
|
13028
|
+
}
|
|
12966
13029
|
get isIndeterminate() {
|
|
12967
13030
|
return this.item.value === null;
|
|
12968
13031
|
}
|
|
12969
13032
|
get translateChevron() {
|
|
12970
|
-
return this.
|
|
12971
|
-
}
|
|
12972
|
-
trackByFn(index, item) {
|
|
12973
|
-
return item.id;
|
|
13033
|
+
return this.isOpen ? 'rotate(0deg)' : 'rotate(-90deg)';
|
|
12974
13034
|
}
|
|
12975
13035
|
toggleList(item) {
|
|
12976
|
-
this.
|
|
13036
|
+
this.isOpen = !this.isOpen;
|
|
12977
13037
|
}
|
|
12978
13038
|
checkboxChangeModel(value, item) {
|
|
12979
13039
|
if (this.isIndeterminate) {
|
|
@@ -12982,64 +13042,54 @@ class CheckboxGroupItemComponent {
|
|
|
12982
13042
|
else {
|
|
12983
13043
|
this.checkboxChanged.emit({ value: value, item });
|
|
12984
13044
|
}
|
|
12985
|
-
this.
|
|
13045
|
+
this._detector.detectChanges();
|
|
12986
13046
|
}
|
|
12987
13047
|
ngOnChanges(changes) {
|
|
12988
13048
|
if (changes['item'] && (changes['item'].currentValue.value === null)) {
|
|
12989
|
-
this.
|
|
13049
|
+
this.isOpen = true;
|
|
12990
13050
|
}
|
|
12991
13051
|
else {
|
|
12992
|
-
|
|
12993
|
-
this.animationState = 'open';
|
|
12994
|
-
}
|
|
12995
|
-
else {
|
|
12996
|
-
this.animationState = 'close';
|
|
12997
|
-
}
|
|
13052
|
+
this.isOpen = !!this.animationTrigger;
|
|
12998
13053
|
}
|
|
12999
|
-
this.
|
|
13054
|
+
this._detector.detectChanges();
|
|
13000
13055
|
}
|
|
13001
13056
|
onAnimationEvent() {
|
|
13002
13057
|
this.animationEnd.emit();
|
|
13003
13058
|
}
|
|
13059
|
+
trackByFn(index, item) {
|
|
13060
|
+
return item.id;
|
|
13061
|
+
}
|
|
13004
13062
|
}
|
|
13005
13063
|
CheckboxGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13006
|
-
CheckboxGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: {
|
|
13064
|
+
CheckboxGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: { displaced: "displaced", level: "level", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly", invalid: "invalid", item: "item" }, outputs: { animationEnd: "animationEnd", checkboxChanged: "checkboxChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.items?.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.items; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
|
|
13007
13065
|
trigger('openList', [
|
|
13066
|
+
state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13008
13067
|
state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
|
|
13009
13068
|
state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13010
|
-
transition('
|
|
13011
|
-
|
|
13012
|
-
|
|
13013
|
-
|
|
13014
|
-
|
|
13015
|
-
|
|
13016
|
-
animate('200ms ease-in-out', style({ visibility: 'visible' })),
|
|
13017
|
-
animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
|
|
13018
|
-
animate('200ms ease-in-out', style({ opacity: '1' }))
|
|
13019
|
-
])])
|
|
13069
|
+
transition('* => open', [
|
|
13070
|
+
animate(200)
|
|
13071
|
+
]),
|
|
13072
|
+
transition('* => close', [
|
|
13073
|
+
animate(200)
|
|
13074
|
+
]),
|
|
13020
13075
|
])
|
|
13021
13076
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13022
13077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, decorators: [{
|
|
13023
13078
|
type: Component,
|
|
13024
13079
|
args: [{ selector: 'mrx-checkbox-group-item', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
13025
13080
|
trigger('openList', [
|
|
13081
|
+
state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13026
13082
|
state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
|
|
13027
13083
|
state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13028
|
-
transition('
|
|
13029
|
-
|
|
13030
|
-
|
|
13031
|
-
|
|
13032
|
-
|
|
13033
|
-
|
|
13034
|
-
animate('200ms ease-in-out', style({ visibility: 'visible' })),
|
|
13035
|
-
animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
|
|
13036
|
-
animate('200ms ease-in-out', style({ opacity: '1' }))
|
|
13037
|
-
])])
|
|
13084
|
+
transition('* => open', [
|
|
13085
|
+
animate(200)
|
|
13086
|
+
]),
|
|
13087
|
+
transition('* => close', [
|
|
13088
|
+
animate(200)
|
|
13089
|
+
]),
|
|
13038
13090
|
])
|
|
13039
|
-
], template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.
|
|
13040
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
13041
|
-
type: Input
|
|
13042
|
-
}], displaced: [{
|
|
13091
|
+
], template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.items?.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.items; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"] }]
|
|
13092
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { displaced: [{
|
|
13043
13093
|
type: Input
|
|
13044
13094
|
}], level: [{
|
|
13045
13095
|
type: Input
|
|
@@ -13051,6 +13101,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13051
13101
|
type: Input
|
|
13052
13102
|
}], readonly: [{
|
|
13053
13103
|
type: Input
|
|
13104
|
+
}], invalid: [{
|
|
13105
|
+
type: Input
|
|
13106
|
+
}], item: [{
|
|
13107
|
+
type: Input
|
|
13054
13108
|
}], animationEnd: [{
|
|
13055
13109
|
type: Output
|
|
13056
13110
|
}], checkboxChanged: [{
|
|
@@ -13058,17 +13112,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13058
13112
|
}] } });
|
|
13059
13113
|
|
|
13060
13114
|
class CheckboxGroupComponent {
|
|
13061
|
-
constructor() {
|
|
13115
|
+
constructor(_detector) {
|
|
13116
|
+
this._detector = _detector;
|
|
13062
13117
|
this._isInit = false;
|
|
13063
13118
|
this._groupItemsWrapperHeight = 0;
|
|
13064
13119
|
this._searchValue = '';
|
|
13065
13120
|
this.list = [];
|
|
13066
|
-
this.
|
|
13121
|
+
this.innerList = [];
|
|
13067
13122
|
this.checkedList = [];
|
|
13123
|
+
this.filteredList = [];
|
|
13068
13124
|
// SAVE STATE
|
|
13069
13125
|
this.uuid = v4();
|
|
13070
13126
|
this.fields = [];
|
|
13071
|
-
this.items = [];
|
|
13072
13127
|
this.scrollMaxHeight = 200;
|
|
13073
13128
|
this.searchable = false;
|
|
13074
13129
|
this.scrollable = false;
|
|
@@ -13083,19 +13138,34 @@ class CheckboxGroupComponent {
|
|
|
13083
13138
|
// LABEL
|
|
13084
13139
|
this.labelText = '';
|
|
13085
13140
|
this.linkText = '';
|
|
13141
|
+
// VALIDATE
|
|
13142
|
+
this.invalid = false;
|
|
13143
|
+
this.invalidMessage = '';
|
|
13086
13144
|
this.changed = new EventEmitter();
|
|
13087
13145
|
this.changeChecked = new EventEmitter();
|
|
13088
13146
|
this.modelChange = new EventEmitter();
|
|
13089
|
-
this.
|
|
13147
|
+
this.modelChangeInner = new EventEmitter();
|
|
13090
13148
|
this.modelItemChange = new EventEmitter();
|
|
13091
13149
|
this.onChange = (value) => { };
|
|
13092
13150
|
this.onTouched = () => { };
|
|
13093
13151
|
}
|
|
13152
|
+
set items(list) {
|
|
13153
|
+
this.list = list;
|
|
13154
|
+
}
|
|
13155
|
+
get items() {
|
|
13156
|
+
return this.filteredList;
|
|
13157
|
+
}
|
|
13094
13158
|
get isSearchValue() {
|
|
13095
13159
|
return this._searchValue;
|
|
13096
13160
|
}
|
|
13097
13161
|
get displaced() {
|
|
13098
|
-
return this.list.some((item) => item.
|
|
13162
|
+
return this.list.some((item) => { var _a; return (_a = item.items) === null || _a === void 0 ? void 0 : _a.length; });
|
|
13163
|
+
}
|
|
13164
|
+
get getInvalid() {
|
|
13165
|
+
return this.invalid;
|
|
13166
|
+
}
|
|
13167
|
+
get getInvalidMessage() {
|
|
13168
|
+
return this.invalidMessage;
|
|
13099
13169
|
}
|
|
13100
13170
|
get getClasses() {
|
|
13101
13171
|
return `${this.customClasses}`;
|
|
@@ -13106,38 +13176,24 @@ class CheckboxGroupComponent {
|
|
|
13106
13176
|
trackByFn(index, item) {
|
|
13107
13177
|
return item.id;
|
|
13108
13178
|
}
|
|
13109
|
-
writeValue(
|
|
13110
|
-
if (
|
|
13111
|
-
this.
|
|
13112
|
-
this.
|
|
13113
|
-
this.
|
|
13179
|
+
writeValue(selectedValue) {
|
|
13180
|
+
if (selectedValue !== null) {
|
|
13181
|
+
this.checkedList = selectedValue;
|
|
13182
|
+
this.innerList = getInnerList(this.list, this.checkedList);
|
|
13183
|
+
this.filteredList = getSortedList(this.innerList, this.sortable);
|
|
13114
13184
|
this._isInit = true;
|
|
13115
13185
|
}
|
|
13116
13186
|
}
|
|
13117
|
-
registerOnChange(fn) {
|
|
13118
|
-
this.onChange = fn;
|
|
13119
|
-
}
|
|
13120
|
-
registerOnTouched(fn) {
|
|
13121
|
-
this.onTouched = fn;
|
|
13122
|
-
}
|
|
13123
|
-
updateValue(list, checkedList) {
|
|
13124
|
-
this.changed.emit(list);
|
|
13125
|
-
this.changeChecked.emit();
|
|
13126
|
-
this.modelChange.emit({ value: list, id: this.uuid });
|
|
13127
|
-
this.modelCheckedChange.emit({ value: checkedList, id: this.uuid });
|
|
13128
|
-
this.onChange(list);
|
|
13129
|
-
this.onTouched();
|
|
13130
|
-
}
|
|
13131
13187
|
checkHeightGroupWrapper() {
|
|
13132
13188
|
this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;
|
|
13133
13189
|
}
|
|
13134
13190
|
updateCheckboxGroupSearchValue(searchValue) {
|
|
13135
13191
|
this._searchValue = searchValue;
|
|
13136
|
-
this.filteredList = filterSearchGroup$1(this.
|
|
13192
|
+
this.filteredList = filterSearchGroup$1(this.innerList, this._searchValue);
|
|
13137
13193
|
}
|
|
13138
13194
|
checkboxChanged({ value, item }) {
|
|
13139
13195
|
const cloneList = cloneDeep(this.filteredList);
|
|
13140
|
-
const findItem =
|
|
13196
|
+
const findItem = getItemInnerById(cloneList, item.id);
|
|
13141
13197
|
let changedItem = null;
|
|
13142
13198
|
if (findItem) {
|
|
13143
13199
|
changedItem = changeItemValue(findItem, value);
|
|
@@ -13150,6 +13206,7 @@ class CheckboxGroupComponent {
|
|
|
13150
13206
|
if (changedItem) {
|
|
13151
13207
|
this.modelItemChange.emit(changedItem);
|
|
13152
13208
|
}
|
|
13209
|
+
this._detector.detectChanges();
|
|
13153
13210
|
}
|
|
13154
13211
|
clearFilters() {
|
|
13155
13212
|
const cloneList = cloneDeep(this.filteredList);
|
|
@@ -13159,15 +13216,29 @@ class CheckboxGroupComponent {
|
|
|
13159
13216
|
this.checkedList = getCheckedItems(cloneList);
|
|
13160
13217
|
this.updateValue(this.filteredList, this.checkedList);
|
|
13161
13218
|
}
|
|
13219
|
+
registerOnChange(fn) {
|
|
13220
|
+
this.onChange = fn;
|
|
13221
|
+
}
|
|
13222
|
+
registerOnTouched(fn) {
|
|
13223
|
+
this.onTouched = fn;
|
|
13224
|
+
}
|
|
13225
|
+
updateValue(list, checkedList) {
|
|
13226
|
+
this.changed.emit(checkedList);
|
|
13227
|
+
this.changeChecked.emit();
|
|
13228
|
+
this.modelChange.emit({ value: checkedList, id: this.uuid });
|
|
13229
|
+
this.modelChangeInner.emit({ value: this.innerList, id: this.uuid });
|
|
13230
|
+
this.onChange(checkedList);
|
|
13231
|
+
this.onTouched();
|
|
13232
|
+
}
|
|
13162
13233
|
}
|
|
13163
|
-
CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13164
|
-
CheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields",
|
|
13234
|
+
CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13235
|
+
CheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields", scrollMaxHeight: "scrollMaxHeight", searchable: "searchable", scrollable: "scrollable", sortable: "sortable", disabled: "disabled", readonly: "readonly", enableMessage: "enableMessage", searchPlaceholder: "searchPlaceholder", customClasses: "customClasses", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", invalid: "invalid", invalidMessage: "invalidMessage", items: "items" }, outputs: { changed: "changed", changeChecked: "changeChecked", modelChange: "modelChange", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
13165
13236
|
{
|
|
13166
13237
|
provide: NG_VALUE_ACCESSOR,
|
|
13167
13238
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
13168
13239
|
multi: true,
|
|
13169
13240
|
},
|
|
13170
|
-
], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], components: [{ type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["
|
|
13241
|
+
], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], components: [{ type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }, { type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13171
13242
|
CheckboxGroupComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
|
|
13172
13243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
13173
13244
|
type: Injectable,
|
|
@@ -13182,10 +13253,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13182
13253
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
13183
13254
|
multi: true,
|
|
13184
13255
|
},
|
|
13185
|
-
], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
|
|
13186
|
-
}], ctorParameters: function () { return []; }, propDecorators: { fields: [{
|
|
13187
|
-
type: Input
|
|
13188
|
-
}], items: [{
|
|
13256
|
+
], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
|
|
13257
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fields: [{
|
|
13189
13258
|
type: Input
|
|
13190
13259
|
}], scrollMaxHeight: [{
|
|
13191
13260
|
type: Input
|
|
@@ -13211,6 +13280,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13211
13280
|
type: Input
|
|
13212
13281
|
}], linkText: [{
|
|
13213
13282
|
type: Input
|
|
13283
|
+
}], invalid: [{
|
|
13284
|
+
type: Input
|
|
13285
|
+
}], invalidMessage: [{
|
|
13286
|
+
type: Input
|
|
13287
|
+
}], items: [{
|
|
13288
|
+
type: Input
|
|
13214
13289
|
}], groupItemsWrapper: [{
|
|
13215
13290
|
type: ViewChild,
|
|
13216
13291
|
args: ['groupItemsWrapper']
|
|
@@ -13220,7 +13295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13220
13295
|
type: Output
|
|
13221
13296
|
}], modelChange: [{
|
|
13222
13297
|
type: Output
|
|
13223
|
-
}],
|
|
13298
|
+
}], modelChangeInner: [{
|
|
13224
13299
|
type: Output
|
|
13225
13300
|
}], modelItemChange: [{
|
|
13226
13301
|
type: Output
|
|
@@ -13509,10 +13584,10 @@ class RadioGroupItemComponent {
|
|
|
13509
13584
|
}
|
|
13510
13585
|
}
|
|
13511
13586
|
RadioGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13512
|
-
RadioGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { animationEnd: "animationEnd", radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n
|
|
13587
|
+
RadioGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { animationEnd: "animationEnd", radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["animationEnd", "radioChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13513
13588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, decorators: [{
|
|
13514
13589
|
type: Component,
|
|
13515
|
-
args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n
|
|
13590
|
+
args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
|
|
13516
13591
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { invalid: [{
|
|
13517
13592
|
type: Input
|
|
13518
13593
|
}], name: [{
|
|
@@ -17480,7 +17555,8 @@ class FormulaEditorComponent {
|
|
|
17480
17555
|
}
|
|
17481
17556
|
onFocus(event) {
|
|
17482
17557
|
this.isFocused = true;
|
|
17483
|
-
this._detector.
|
|
17558
|
+
this._detector.detectChanges();
|
|
17559
|
+
this._placeCaretAtEnd();
|
|
17484
17560
|
}
|
|
17485
17561
|
onClear() {
|
|
17486
17562
|
this.updateValue('');
|