myrta-ui 1.1.35 → 1.1.38
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 +63 -38
- 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/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 -99
- package/fesm2015/myrta-ui.mjs.map +1 -1
- package/fesm2020/myrta-ui.mjs +175 -99
- package/fesm2020/myrta-ui.mjs.map +1 -1
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +22 -15
- 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/fesm2020/myrta-ui.mjs
CHANGED
|
@@ -4297,7 +4297,11 @@ const patternValidation = (value, validations, key, invalidMessages) => {
|
|
|
4297
4297
|
|
|
4298
4298
|
const maxLengthValidation = (value, validations, key, invalidMessages) => {
|
|
4299
4299
|
const result = { isValid: true, message: null };
|
|
4300
|
-
if (
|
|
4300
|
+
if (Array.isArray(value) && validations.type === 'single' && value.length > Number(validations[key])) {
|
|
4301
|
+
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4302
|
+
result.isValid = false;
|
|
4303
|
+
}
|
|
4304
|
+
else if (!Array.isArray(value) && String(value).length > Number(validations[key])) {
|
|
4301
4305
|
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4302
4306
|
result.isValid = false;
|
|
4303
4307
|
}
|
|
@@ -4306,7 +4310,11 @@ const maxLengthValidation = (value, validations, key, invalidMessages) => {
|
|
|
4306
4310
|
|
|
4307
4311
|
const minLengthValidation = (value, validations, key, invalidMessages) => {
|
|
4308
4312
|
const result = { isValid: true, message: null };
|
|
4309
|
-
if (
|
|
4313
|
+
if (Array.isArray(value) && validations.type === 'single' && value.length < Number(validations[key])) {
|
|
4314
|
+
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4315
|
+
result.isValid = false;
|
|
4316
|
+
}
|
|
4317
|
+
else if (!Array.isArray(value) && String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {
|
|
4310
4318
|
result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
|
|
4311
4319
|
result.isValid = false;
|
|
4312
4320
|
}
|
|
@@ -4374,7 +4382,8 @@ const getSortingValidationsHelper = (validation) => {
|
|
|
4374
4382
|
}
|
|
4375
4383
|
else {
|
|
4376
4384
|
if (key === 'type') {
|
|
4377
|
-
validation.type = '
|
|
4385
|
+
validation.type = 'single';
|
|
4386
|
+
sortedValidators.type = 'single';
|
|
4378
4387
|
}
|
|
4379
4388
|
}
|
|
4380
4389
|
}
|
|
@@ -12849,7 +12858,7 @@ const getSortedList = (list, sortable) => {
|
|
|
12849
12858
|
const sortedList = list.sort(sortedFunc);
|
|
12850
12859
|
sortedList.forEach((item) => {
|
|
12851
12860
|
if (item.type === 'array') {
|
|
12852
|
-
getSortedListInner(item.
|
|
12861
|
+
getSortedListInner(item.items);
|
|
12853
12862
|
}
|
|
12854
12863
|
});
|
|
12855
12864
|
return sortedList;
|
|
@@ -12865,8 +12874,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12865
12874
|
array.forEach((item) => {
|
|
12866
12875
|
if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {
|
|
12867
12876
|
if (item.type === 'array') {
|
|
12868
|
-
const newArray = getIntersectionsFromString(item.
|
|
12869
|
-
searchArray.push({ ...item,
|
|
12877
|
+
const newArray = getIntersectionsFromString(item.items || []);
|
|
12878
|
+
searchArray.push({ ...item, items: newArray });
|
|
12870
12879
|
}
|
|
12871
12880
|
else {
|
|
12872
12881
|
searchArray.push(item);
|
|
@@ -12874,8 +12883,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12874
12883
|
}
|
|
12875
12884
|
else {
|
|
12876
12885
|
if (item.type === 'array') {
|
|
12877
|
-
const newArray = getIntersectionsFromString(item.
|
|
12878
|
-
newArray.length && searchArray.push({ ...item,
|
|
12886
|
+
const newArray = getIntersectionsFromString(item.items || []);
|
|
12887
|
+
newArray.length && searchArray.push({ ...item, items: newArray });
|
|
12879
12888
|
}
|
|
12880
12889
|
}
|
|
12881
12890
|
});
|
|
@@ -12884,12 +12893,12 @@ const filterSearchGroup$1 = (list, searchValue) => {
|
|
|
12884
12893
|
return getIntersectionsFromString(list);
|
|
12885
12894
|
};
|
|
12886
12895
|
|
|
12887
|
-
const
|
|
12896
|
+
const getItemInnerById = (list, itemId) => {
|
|
12888
12897
|
const findById = (acc, el) => {
|
|
12889
12898
|
if (el?.id === itemId)
|
|
12890
12899
|
return el;
|
|
12891
|
-
if (el?.
|
|
12892
|
-
return el.
|
|
12900
|
+
if (el?.items)
|
|
12901
|
+
return el.items.reduce(findById, acc);
|
|
12893
12902
|
return acc;
|
|
12894
12903
|
};
|
|
12895
12904
|
return list.reduce(findById, null);
|
|
@@ -12898,7 +12907,7 @@ const getItemById$1 = (list, itemId) => {
|
|
|
12898
12907
|
const changeItemValue = (item, value) => {
|
|
12899
12908
|
item.value = value;
|
|
12900
12909
|
if (item.type === 'array') {
|
|
12901
|
-
item.
|
|
12910
|
+
item.items?.forEach((item) => {
|
|
12902
12911
|
changeItemValue(item, value);
|
|
12903
12912
|
});
|
|
12904
12913
|
}
|
|
@@ -12913,19 +12922,18 @@ const changeListValue = (list, value) => {
|
|
|
12913
12922
|
const checkUnderArrayValue = (array, value) => {
|
|
12914
12923
|
return array.some((x) => {
|
|
12915
12924
|
if (x.type === 'array') {
|
|
12916
|
-
return checkUnderArrayValue(x.
|
|
12925
|
+
return checkUnderArrayValue(x.items, value);
|
|
12917
12926
|
}
|
|
12918
12927
|
return x.value !== value;
|
|
12919
12928
|
});
|
|
12920
12929
|
};
|
|
12921
|
-
const changeGroupValue = (list,
|
|
12922
|
-
if (!
|
|
12930
|
+
const changeGroupValue = (list, parentId, value) => {
|
|
12931
|
+
if (!parentId) {
|
|
12923
12932
|
return;
|
|
12924
12933
|
}
|
|
12925
|
-
const parent =
|
|
12934
|
+
const parent = getItemInnerById(list, parentId);
|
|
12926
12935
|
if (parent) {
|
|
12927
|
-
parent.value = checkUnderArrayValue(parent.
|
|
12928
|
-
changeGroupValue(list, parent.parentId, value);
|
|
12936
|
+
parent.value = checkUnderArrayValue(parent.items, value) ? null : value;
|
|
12929
12937
|
}
|
|
12930
12938
|
};
|
|
12931
12939
|
|
|
@@ -12936,7 +12944,7 @@ const getCheckedItems = (list) => {
|
|
|
12936
12944
|
const getCheckedItemsFromArray = (list) => {
|
|
12937
12945
|
list.forEach((item) => {
|
|
12938
12946
|
if (item.type === 'array') {
|
|
12939
|
-
getCheckedItemsFromArray(item.
|
|
12947
|
+
getCheckedItemsFromArray(item.items || []);
|
|
12940
12948
|
}
|
|
12941
12949
|
else {
|
|
12942
12950
|
if (item.value) {
|
|
@@ -12949,6 +12957,52 @@ const getCheckedItems = (list) => {
|
|
|
12949
12957
|
return checkedItems;
|
|
12950
12958
|
};
|
|
12951
12959
|
|
|
12960
|
+
const getInnerList = (list, checkedList) => {
|
|
12961
|
+
const getItemValue = (item) => {
|
|
12962
|
+
if (item.items) {
|
|
12963
|
+
let value = false;
|
|
12964
|
+
let count = 0;
|
|
12965
|
+
item.items.forEach((i, idx, array) => {
|
|
12966
|
+
if (i.items) {
|
|
12967
|
+
if (value === false) {
|
|
12968
|
+
value = getItemValue(i);
|
|
12969
|
+
}
|
|
12970
|
+
}
|
|
12971
|
+
else {
|
|
12972
|
+
if (checkedList.find(c => c.id === i.id)) {
|
|
12973
|
+
count++;
|
|
12974
|
+
if (value === false) {
|
|
12975
|
+
value = null;
|
|
12976
|
+
}
|
|
12977
|
+
}
|
|
12978
|
+
}
|
|
12979
|
+
if (idx === array.length - 1) {
|
|
12980
|
+
if (count === array.length) {
|
|
12981
|
+
value = true;
|
|
12982
|
+
}
|
|
12983
|
+
}
|
|
12984
|
+
});
|
|
12985
|
+
return value;
|
|
12986
|
+
}
|
|
12987
|
+
else {
|
|
12988
|
+
return !!checkedList.find(c => c.id === item.id);
|
|
12989
|
+
}
|
|
12990
|
+
};
|
|
12991
|
+
const getModifiedList = (items, parentId = null) => {
|
|
12992
|
+
return items.map((item, idx, array) => {
|
|
12993
|
+
return {
|
|
12994
|
+
id: item.id,
|
|
12995
|
+
text: item.text,
|
|
12996
|
+
value: getItemValue(item),
|
|
12997
|
+
parentId: parentId,
|
|
12998
|
+
type: item.items ? 'array' : 'single',
|
|
12999
|
+
items: item.items ? getModifiedList(item.items, item.id) : []
|
|
13000
|
+
};
|
|
13001
|
+
});
|
|
13002
|
+
};
|
|
13003
|
+
return getModifiedList(list);
|
|
13004
|
+
};
|
|
13005
|
+
|
|
12952
13006
|
class CheckboxGroupHeaderComponent {
|
|
12953
13007
|
constructor() {
|
|
12954
13008
|
this.searchValue = '';
|
|
@@ -12970,10 +13024,10 @@ class CheckboxGroupHeaderComponent {
|
|
|
12970
13024
|
}
|
|
12971
13025
|
}
|
|
12972
13026
|
CheckboxGroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12973
|
-
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"] }] });
|
|
13027
|
+
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 });
|
|
12974
13028
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
12975
13029
|
type: Component,
|
|
12976
|
-
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"] }]
|
|
13030
|
+
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"] }]
|
|
12977
13031
|
}], ctorParameters: function () { return []; }, propDecorators: { searchable: [{
|
|
12978
13032
|
type: Input
|
|
12979
13033
|
}], searchPlaceholder: [{
|
|
@@ -12993,28 +13047,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
12993
13047
|
}] } });
|
|
12994
13048
|
|
|
12995
13049
|
class CheckboxGroupItemComponent {
|
|
12996
|
-
constructor(
|
|
12997
|
-
this.
|
|
13050
|
+
constructor(_detector) {
|
|
13051
|
+
this._detector = _detector;
|
|
12998
13052
|
this.animationState = 'close';
|
|
13053
|
+
this.isOpen = false;
|
|
12999
13054
|
this.displaced = false;
|
|
13000
13055
|
this.level = 0;
|
|
13001
13056
|
this.animationTrigger = null;
|
|
13002
13057
|
this.disabled = false;
|
|
13003
13058
|
this.readonly = false;
|
|
13059
|
+
this.invalid = false;
|
|
13004
13060
|
this.animationEnd = new EventEmitter();
|
|
13005
13061
|
this.checkboxChanged = new EventEmitter();
|
|
13006
13062
|
}
|
|
13063
|
+
set item(value) {
|
|
13064
|
+
this._item = value;
|
|
13065
|
+
}
|
|
13066
|
+
get item() {
|
|
13067
|
+
return this._item;
|
|
13068
|
+
}
|
|
13007
13069
|
get isIndeterminate() {
|
|
13008
13070
|
return this.item.value === null;
|
|
13009
13071
|
}
|
|
13010
13072
|
get translateChevron() {
|
|
13011
|
-
return this.
|
|
13012
|
-
}
|
|
13013
|
-
trackByFn(index, item) {
|
|
13014
|
-
return item.id;
|
|
13073
|
+
return this.isOpen ? 'rotate(0deg)' : 'rotate(-90deg)';
|
|
13015
13074
|
}
|
|
13016
13075
|
toggleList(item) {
|
|
13017
|
-
this.
|
|
13076
|
+
this.isOpen = !this.isOpen;
|
|
13018
13077
|
}
|
|
13019
13078
|
checkboxChangeModel(value, item) {
|
|
13020
13079
|
if (this.isIndeterminate) {
|
|
@@ -13023,64 +13082,54 @@ class CheckboxGroupItemComponent {
|
|
|
13023
13082
|
else {
|
|
13024
13083
|
this.checkboxChanged.emit({ value: value, item });
|
|
13025
13084
|
}
|
|
13026
|
-
this.
|
|
13085
|
+
this._detector.detectChanges();
|
|
13027
13086
|
}
|
|
13028
13087
|
ngOnChanges(changes) {
|
|
13029
13088
|
if (changes['item'] && (changes['item'].currentValue.value === null)) {
|
|
13030
|
-
this.
|
|
13089
|
+
this.isOpen = true;
|
|
13031
13090
|
}
|
|
13032
13091
|
else {
|
|
13033
|
-
|
|
13034
|
-
this.animationState = 'open';
|
|
13035
|
-
}
|
|
13036
|
-
else {
|
|
13037
|
-
this.animationState = 'close';
|
|
13038
|
-
}
|
|
13092
|
+
this.isOpen = !!this.animationTrigger;
|
|
13039
13093
|
}
|
|
13040
|
-
this.
|
|
13094
|
+
this._detector.detectChanges();
|
|
13041
13095
|
}
|
|
13042
13096
|
onAnimationEvent() {
|
|
13043
13097
|
this.animationEnd.emit();
|
|
13044
13098
|
}
|
|
13099
|
+
trackByFn(index, item) {
|
|
13100
|
+
return item.id;
|
|
13101
|
+
}
|
|
13045
13102
|
}
|
|
13046
13103
|
CheckboxGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13047
|
-
CheckboxGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: {
|
|
13104
|
+
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: [
|
|
13048
13105
|
trigger('openList', [
|
|
13106
|
+
state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13049
13107
|
state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
|
|
13050
13108
|
state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13051
|
-
transition('
|
|
13052
|
-
|
|
13053
|
-
|
|
13054
|
-
|
|
13055
|
-
|
|
13056
|
-
|
|
13057
|
-
animate('200ms ease-in-out', style({ visibility: 'visible' })),
|
|
13058
|
-
animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
|
|
13059
|
-
animate('200ms ease-in-out', style({ opacity: '1' }))
|
|
13060
|
-
])])
|
|
13109
|
+
transition('* => open', [
|
|
13110
|
+
animate(200)
|
|
13111
|
+
]),
|
|
13112
|
+
transition('* => close', [
|
|
13113
|
+
animate(200)
|
|
13114
|
+
]),
|
|
13061
13115
|
])
|
|
13062
13116
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13063
13117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, decorators: [{
|
|
13064
13118
|
type: Component,
|
|
13065
13119
|
args: [{ selector: 'mrx-checkbox-group-item', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
13066
13120
|
trigger('openList', [
|
|
13121
|
+
state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13067
13122
|
state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
|
|
13068
13123
|
state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
|
|
13069
|
-
transition('
|
|
13070
|
-
|
|
13071
|
-
|
|
13072
|
-
|
|
13073
|
-
|
|
13074
|
-
|
|
13075
|
-
animate('200ms ease-in-out', style({ visibility: 'visible' })),
|
|
13076
|
-
animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
|
|
13077
|
-
animate('200ms ease-in-out', style({ opacity: '1' }))
|
|
13078
|
-
])])
|
|
13124
|
+
transition('* => open', [
|
|
13125
|
+
animate(200)
|
|
13126
|
+
]),
|
|
13127
|
+
transition('* => close', [
|
|
13128
|
+
animate(200)
|
|
13129
|
+
]),
|
|
13079
13130
|
])
|
|
13080
|
-
], 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.
|
|
13081
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
13082
|
-
type: Input
|
|
13083
|
-
}], displaced: [{
|
|
13131
|
+
], 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"] }]
|
|
13132
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { displaced: [{
|
|
13084
13133
|
type: Input
|
|
13085
13134
|
}], level: [{
|
|
13086
13135
|
type: Input
|
|
@@ -13092,6 +13141,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13092
13141
|
type: Input
|
|
13093
13142
|
}], readonly: [{
|
|
13094
13143
|
type: Input
|
|
13144
|
+
}], invalid: [{
|
|
13145
|
+
type: Input
|
|
13146
|
+
}], item: [{
|
|
13147
|
+
type: Input
|
|
13095
13148
|
}], animationEnd: [{
|
|
13096
13149
|
type: Output
|
|
13097
13150
|
}], checkboxChanged: [{
|
|
@@ -13099,17 +13152,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13099
13152
|
}] } });
|
|
13100
13153
|
|
|
13101
13154
|
class CheckboxGroupComponent {
|
|
13102
|
-
constructor() {
|
|
13103
|
-
this.
|
|
13155
|
+
constructor(_detector) {
|
|
13156
|
+
this._detector = _detector;
|
|
13104
13157
|
this._groupItemsWrapperHeight = 0;
|
|
13105
13158
|
this._searchValue = '';
|
|
13106
13159
|
this.list = [];
|
|
13107
|
-
this.
|
|
13160
|
+
this.innerList = [];
|
|
13108
13161
|
this.checkedList = [];
|
|
13162
|
+
this.filteredList = [];
|
|
13109
13163
|
// SAVE STATE
|
|
13110
13164
|
this.uuid = v4();
|
|
13111
13165
|
this.fields = [];
|
|
13112
|
-
this.items = [];
|
|
13113
13166
|
this.scrollMaxHeight = 200;
|
|
13114
13167
|
this.searchable = false;
|
|
13115
13168
|
this.scrollable = false;
|
|
@@ -13124,19 +13177,35 @@ class CheckboxGroupComponent {
|
|
|
13124
13177
|
// LABEL
|
|
13125
13178
|
this.labelText = '';
|
|
13126
13179
|
this.linkText = '';
|
|
13180
|
+
// VALIDATE
|
|
13181
|
+
this.invalid = false;
|
|
13182
|
+
this.invalidMessage = '';
|
|
13127
13183
|
this.changed = new EventEmitter();
|
|
13128
13184
|
this.changeChecked = new EventEmitter();
|
|
13129
13185
|
this.modelChange = new EventEmitter();
|
|
13130
|
-
this.
|
|
13186
|
+
this.modelChangeInner = new EventEmitter();
|
|
13131
13187
|
this.modelItemChange = new EventEmitter();
|
|
13132
13188
|
this.onChange = (value) => { };
|
|
13133
13189
|
this.onTouched = () => { };
|
|
13134
13190
|
}
|
|
13191
|
+
set items(list) {
|
|
13192
|
+
this.list = list;
|
|
13193
|
+
this._updateModifiedList();
|
|
13194
|
+
}
|
|
13195
|
+
get items() {
|
|
13196
|
+
return this.filteredList;
|
|
13197
|
+
}
|
|
13135
13198
|
get isSearchValue() {
|
|
13136
13199
|
return this._searchValue;
|
|
13137
13200
|
}
|
|
13138
13201
|
get displaced() {
|
|
13139
|
-
return this.list.some((item) => item.
|
|
13202
|
+
return this.list.some((item) => item.items?.length);
|
|
13203
|
+
}
|
|
13204
|
+
get getInvalid() {
|
|
13205
|
+
return this.invalid;
|
|
13206
|
+
}
|
|
13207
|
+
get getInvalidMessage() {
|
|
13208
|
+
return this.invalidMessage;
|
|
13140
13209
|
}
|
|
13141
13210
|
get getClasses() {
|
|
13142
13211
|
return `${this.customClasses}`;
|
|
@@ -13147,38 +13216,26 @@ class CheckboxGroupComponent {
|
|
|
13147
13216
|
trackByFn(index, item) {
|
|
13148
13217
|
return item.id;
|
|
13149
13218
|
}
|
|
13150
|
-
writeValue(
|
|
13151
|
-
if (
|
|
13152
|
-
this.
|
|
13153
|
-
this.
|
|
13154
|
-
this.checkedList = getCheckedItems(list);
|
|
13155
|
-
this._isInit = true;
|
|
13219
|
+
writeValue(selectedValue) {
|
|
13220
|
+
if (selectedValue !== null) {
|
|
13221
|
+
this.checkedList = selectedValue;
|
|
13222
|
+
this._updateModifiedList();
|
|
13156
13223
|
}
|
|
13157
13224
|
}
|
|
13158
|
-
|
|
13159
|
-
this.
|
|
13160
|
-
|
|
13161
|
-
registerOnTouched(fn) {
|
|
13162
|
-
this.onTouched = fn;
|
|
13163
|
-
}
|
|
13164
|
-
updateValue(list, checkedList) {
|
|
13165
|
-
this.changed.emit(list);
|
|
13166
|
-
this.changeChecked.emit();
|
|
13167
|
-
this.modelChange.emit({ value: list, id: this.uuid });
|
|
13168
|
-
this.modelCheckedChange.emit({ value: checkedList, id: this.uuid });
|
|
13169
|
-
this.onChange(list);
|
|
13170
|
-
this.onTouched();
|
|
13225
|
+
_updateModifiedList() {
|
|
13226
|
+
this.innerList = getInnerList(this.list, this.checkedList);
|
|
13227
|
+
this.filteredList = getSortedList(this.innerList, this.sortable);
|
|
13171
13228
|
}
|
|
13172
13229
|
checkHeightGroupWrapper() {
|
|
13173
13230
|
this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;
|
|
13174
13231
|
}
|
|
13175
13232
|
updateCheckboxGroupSearchValue(searchValue) {
|
|
13176
13233
|
this._searchValue = searchValue;
|
|
13177
|
-
this.filteredList = filterSearchGroup$1(this.
|
|
13234
|
+
this.filteredList = filterSearchGroup$1(this.innerList, this._searchValue);
|
|
13178
13235
|
}
|
|
13179
13236
|
checkboxChanged({ value, item }) {
|
|
13180
13237
|
const cloneList = cloneDeep(this.filteredList);
|
|
13181
|
-
const findItem =
|
|
13238
|
+
const findItem = getItemInnerById(cloneList, item.id);
|
|
13182
13239
|
let changedItem = null;
|
|
13183
13240
|
if (findItem) {
|
|
13184
13241
|
changedItem = changeItemValue(findItem, value);
|
|
@@ -13191,6 +13248,7 @@ class CheckboxGroupComponent {
|
|
|
13191
13248
|
if (changedItem) {
|
|
13192
13249
|
this.modelItemChange.emit(changedItem);
|
|
13193
13250
|
}
|
|
13251
|
+
this._detector.detectChanges();
|
|
13194
13252
|
}
|
|
13195
13253
|
clearFilters() {
|
|
13196
13254
|
const cloneList = cloneDeep(this.filteredList);
|
|
@@ -13200,15 +13258,29 @@ class CheckboxGroupComponent {
|
|
|
13200
13258
|
this.checkedList = getCheckedItems(cloneList);
|
|
13201
13259
|
this.updateValue(this.filteredList, this.checkedList);
|
|
13202
13260
|
}
|
|
13261
|
+
registerOnChange(fn) {
|
|
13262
|
+
this.onChange = fn;
|
|
13263
|
+
}
|
|
13264
|
+
registerOnTouched(fn) {
|
|
13265
|
+
this.onTouched = fn;
|
|
13266
|
+
}
|
|
13267
|
+
updateValue(list, checkedList) {
|
|
13268
|
+
this.changed.emit(checkedList);
|
|
13269
|
+
this.changeChecked.emit();
|
|
13270
|
+
this.modelChange.emit({ value: checkedList, id: this.uuid });
|
|
13271
|
+
this.modelChangeInner.emit({ value: this.innerList, id: this.uuid });
|
|
13272
|
+
this.onChange(checkedList);
|
|
13273
|
+
this.onTouched();
|
|
13274
|
+
}
|
|
13203
13275
|
}
|
|
13204
|
-
CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13205
|
-
CheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields",
|
|
13276
|
+
CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13277
|
+
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: [
|
|
13206
13278
|
{
|
|
13207
13279
|
provide: NG_VALUE_ACCESSOR,
|
|
13208
13280
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
13209
13281
|
multi: true,
|
|
13210
13282
|
},
|
|
13211
|
-
], 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: ["
|
|
13283
|
+
], 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 });
|
|
13212
13284
|
CheckboxGroupComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
|
|
13213
13285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
13214
13286
|
type: Injectable,
|
|
@@ -13223,10 +13295,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13223
13295
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
13224
13296
|
multi: true,
|
|
13225
13297
|
},
|
|
13226
|
-
], 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"] }]
|
|
13227
|
-
}], ctorParameters: function () { return []; }, propDecorators: { fields: [{
|
|
13228
|
-
type: Input
|
|
13229
|
-
}], items: [{
|
|
13298
|
+
], 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"] }]
|
|
13299
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fields: [{
|
|
13230
13300
|
type: Input
|
|
13231
13301
|
}], scrollMaxHeight: [{
|
|
13232
13302
|
type: Input
|
|
@@ -13252,6 +13322,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13252
13322
|
type: Input
|
|
13253
13323
|
}], linkText: [{
|
|
13254
13324
|
type: Input
|
|
13325
|
+
}], invalid: [{
|
|
13326
|
+
type: Input
|
|
13327
|
+
}], invalidMessage: [{
|
|
13328
|
+
type: Input
|
|
13329
|
+
}], items: [{
|
|
13330
|
+
type: Input
|
|
13255
13331
|
}], groupItemsWrapper: [{
|
|
13256
13332
|
type: ViewChild,
|
|
13257
13333
|
args: ['groupItemsWrapper']
|
|
@@ -13261,7 +13337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13261
13337
|
type: Output
|
|
13262
13338
|
}], modelChange: [{
|
|
13263
13339
|
type: Output
|
|
13264
|
-
}],
|
|
13340
|
+
}], modelChangeInner: [{
|
|
13265
13341
|
type: Output
|
|
13266
13342
|
}], modelItemChange: [{
|
|
13267
13343
|
type: Output
|
|
@@ -13549,10 +13625,10 @@ class RadioGroupItemComponent {
|
|
|
13549
13625
|
}
|
|
13550
13626
|
}
|
|
13551
13627
|
RadioGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
13552
|
-
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
|
|
13628
|
+
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 });
|
|
13553
13629
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, decorators: [{
|
|
13554
13630
|
type: Component,
|
|
13555
|
-
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
|
|
13631
|
+
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"] }]
|
|
13556
13632
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { invalid: [{
|
|
13557
13633
|
type: Input
|
|
13558
13634
|
}], name: [{
|