myrta-ui 17.1.43 → 17.1.44
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/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +20 -8
- package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +25 -6
- package/fesm2022/myrta-ui.mjs +34 -5
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +4 -1
- package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +6 -1
- package/package.json +1 -1
|
@@ -11,10 +11,11 @@ import { v4 as uuid } from 'uuid';
|
|
|
11
11
|
import { getInnerList } from './helpers/get-inner-list.helper';
|
|
12
12
|
import { innerListToList } from './helpers/inner-list-to-list.helper';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "
|
|
15
|
-
import * as i2 from "../../
|
|
16
|
-
import * as i3 from "
|
|
17
|
-
import * as i4 from "./components/checkbox-group-
|
|
14
|
+
import * as i1 from "@angular/common";
|
|
15
|
+
import * as i2 from "../../save-state/save-state.component";
|
|
16
|
+
import * as i3 from "../../error-message/error-message.component";
|
|
17
|
+
import * as i4 from "./components/checkbox-group-item/checkbox-group-item.component";
|
|
18
|
+
import * as i5 from "./components/checkbox-group-header/checkbox-group-header.component";
|
|
18
19
|
export class CheckboxGroupComponent {
|
|
19
20
|
_detector;
|
|
20
21
|
_groupItemsWrapperHeight = 0;
|
|
@@ -35,6 +36,8 @@ export class CheckboxGroupComponent {
|
|
|
35
36
|
enableMessage = 'Ничего не найдено';
|
|
36
37
|
searchPlaceholder = '';
|
|
37
38
|
customClasses = '';
|
|
39
|
+
expandable = false;
|
|
40
|
+
isExpanded = false;
|
|
38
41
|
// TOOLTIP
|
|
39
42
|
tooltip = '';
|
|
40
43
|
// LABEL
|
|
@@ -143,14 +146,19 @@ export class CheckboxGroupComponent {
|
|
|
143
146
|
this.onChange(checkedList);
|
|
144
147
|
this.onTouched();
|
|
145
148
|
}
|
|
149
|
+
toggleContent() {
|
|
150
|
+
if (this.expandable) {
|
|
151
|
+
this.isExpanded = !this.isExpanded;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
146
154
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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", modelChange: "modelChange", changedInner: "changedInner", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
155
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", invalid: "invalid", invalidMessage: "invalidMessage", items: "items" }, outputs: { changed: "changed", modelChange: "modelChange", changedInner: "changedInner", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
148
156
|
{
|
|
149
157
|
provide: NG_VALUE_ACCESSOR,
|
|
150
158
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
151
159
|
multi: true,
|
|
152
160
|
},
|
|
153
|
-
], 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 @if (filteredList && filteredList.length) {\r\n
|
|
161
|
+
], 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 [expandable]=\"expandable\"\r\n [isExpanded]=\"isExpanded\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n (toggle)=\"toggleContent()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\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 @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-checkbox-group-item\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 }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (getInvalid && getInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"getInvalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n </ng-container>\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"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i4.CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }, { kind: "component", type: i5.CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "expandable", "isExpanded", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters", "toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
154
162
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
|
|
155
163
|
}
|
|
156
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
@@ -166,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
166
174
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
167
175
|
multi: true,
|
|
168
176
|
},
|
|
169
|
-
], 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 @if (filteredList && filteredList.length) {\r\n
|
|
177
|
+
], 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 [expandable]=\"expandable\"\r\n [isExpanded]=\"isExpanded\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n (toggle)=\"toggleContent()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\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 @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-checkbox-group-item\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 }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (getInvalid && getInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"getInvalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n </ng-container>\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"] }]
|
|
170
178
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
|
|
171
179
|
type: Input
|
|
172
180
|
}], scrollMaxHeight: [{
|
|
@@ -187,6 +195,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
187
195
|
type: Input
|
|
188
196
|
}], customClasses: [{
|
|
189
197
|
type: Input
|
|
198
|
+
}], expandable: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], isExpanded: [{
|
|
201
|
+
type: Input
|
|
190
202
|
}], tooltip: [{
|
|
191
203
|
type: Input
|
|
192
204
|
}], labelText: [{
|
|
@@ -213,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
213
225
|
}], modelItemChange: [{
|
|
214
226
|
type: Output
|
|
215
227
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxF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QUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBY2UsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUVPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBUzBCLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBRWIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUVVLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsZ0JBQWdCO3NCQUFoQyxNQUFNO2dCQUVVLGVBQWU7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDaGVja2JveEdyb3VwSW5uZXJJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBJdGVtLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkLFxyXG4gIENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZFxyXG59IGZyb20gJy4vbW9kZWxzL2NoZWNrYm94LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgZ2V0U29ydGVkTGlzdCB9IGZyb20gJy4vaGVscGVycy9nZXQtc29ydGVkLWxpc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUlubmVyQnlJZCB9IGZyb20gJy4vaGVscGVycy9nZXQtaXRlbS1ieS1pZCc7XHJcbmltcG9ydCB7IGNoYW5nZUl0ZW1WYWx1ZSwgY2hhbmdlTGlzdFZhbHVlIH0gZnJvbSAnLi9oZWxwZXJzL2NoYW5nZS1pdGVtLXZhbHVlJztcclxuaW1wb3J0IHsgY2hhbmdlR3JvdXBWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtZ3JvdXAtdmFsdWUnO1xyXG5pbXBvcnQgeyBnZXRDaGVja2VkSXRlbXMgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNoZWNrZWQtaXRlbXMnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2F2ZS1zdG9yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRJbm5lckxpc3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWlubmVyLWxpc3QuaGVscGVyJztcclxuaW1wb3J0IHsgaW5uZXJMaXN0VG9MaXN0IH0gZnJvbSAnLi9oZWxwZXJzL2lubmVyLWxpc3QtdG8tbGlzdC5oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IENoZWNrYm94R3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtY2hlY2tib3gtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94R3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPSAwO1xyXG4gIHByaXZhdGUgX3NlYXJjaFZhbHVlID0gJyc7XHJcblxyXG4gIHB1YmxpYyBsaXN0OiBDaGVja2JveEdyb3VwSXRlbVtdID0gW107XHJcbiAgcHVibGljIGlubmVyTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcblxyXG4gIHB1YmxpYyBjaGVja2VkTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcbiAgcHVibGljIGZpbHRlcmVkTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gW107XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHNjcm9sbE1heEhlaWdodCA9IDIwMDtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZU1lc3NhZ2UgPSAn0J3QuNGH0LXQs9C+INC90LUg0L3QsNC50LTQtdC90L4nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlciA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcblxyXG4gIC8vIFRPT0xUSVBcclxuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgbGlua1RleHQgPSAnJztcclxuXHJcbiAgLy8gVkFMSURBVEVcclxuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkTWVzc2FnZTogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuXHJcbiAgQElucHV0KCkgc2V0IGl0ZW1zKGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdCA9IGxpc3Q7XHJcbiAgICB0aGlzLl91cGRhdGVNb2RpZmllZExpc3QoKTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRMaXN0O1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnZ3JvdXBJdGVtc1dyYXBwZXInKSBncm91cEl0ZW1zV3JhcHBlciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZElubmVyOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbVtdPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2VJbm5lcjogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZUlubmVyV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlSW5uZXJXaXRoSWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJbm5lckl0ZW0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1NlYXJjaFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3BsYWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3Quc29tZSgoaXRlbTogQ2hlY2tib3hHcm91cEl0ZW0pID0+IGl0ZW0uaXRlbXM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJbnZhbGlkTWVzc2FnZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkTWVzc2FnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTaG93U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID4gdGhpcy5zY3JvbGxNYXhIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZTogQ2hlY2tib3hHcm91cEl0ZW1bXSk6IHZvaWQge1xyXG4gICAgaWYgKHNlbGVjdGVkVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5jaGVja2VkTGlzdCA9IGdldElubmVyTGlzdChzZWxlY3RlZFZhbHVlLCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuICAgICAgdGhpcy5fdXBkYXRlTW9kaWZpZWRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNb2RpZmllZExpc3QoKSB7XHJcbiAgICB0aGlzLmlubmVyTGlzdCA9IGdldElubmVyTGlzdCh0aGlzLmxpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBnZXRTb3J0ZWRMaXN0KHRoaXMuaW5uZXJMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gdGhpcy5ncm91cEl0ZW1zV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZmlsdGVyU2VhcmNoR3JvdXAodGhpcy5pbm5lckxpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja2JveENoYW5nZWQoe3ZhbHVlLCBpdGVtfTogeyB2YWx1ZTogYm9vbGVhbiB8IG51bGw7IGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfSkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5pbm5lckxpc3QpO1xyXG4gICAgY29uc3QgZmluZEl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0gfCBudWxsID0gZ2V0SXRlbUlubmVyQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG5cclxuICAgIGxldCBjaGFuZ2VkSXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGlmIChmaW5kSXRlbSkge1xyXG4gICAgICBjaGFuZ2VkSXRlbSA9IGNoYW5nZUl0ZW1WYWx1ZShmaW5kSXRlbSwgdmFsdWUpO1xyXG4gICAgICBjaGFuZ2VHcm91cFZhbHVlKGNsb25lTGlzdCwgaXRlbS5wYXJlbnRJZCwgdmFsdWUpO1xyXG4gICAgICBnZXRTb3J0ZWRMaXN0KGNsb25lTGlzdCwgdGhpcy5zb3J0YWJsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbm5lckxpc3QgPSBjbG9uZUxpc3Q7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMuaW5uZXJMaXN0LCB0aGlzLl9zZWFyY2hWYWx1ZSk7XHJcbiAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGNsb25lTGlzdCk7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKFtdLCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuXHJcbiAgICBpZiAoY2hhbmdlZEl0ZW0pIHtcclxuICAgICAgdGhpcy5tb2RlbEl0ZW1DaGFuZ2UuZW1pdChjaGFuZ2VkSXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyRmlsdGVycygpIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogQ2hlY2tib3hHcm91cElubmVySXRlbVtdID0gY2xvbmVEZWVwKHRoaXMuZmlsdGVyZWRMaXN0KTtcclxuXHJcbiAgICBjaGFuZ2VMaXN0VmFsdWUoY2xvbmVMaXN0LCBmYWxzZSk7XHJcbiAgICBnZXRTb3J0ZWRMaXN0KGNsb25lTGlzdCwgdGhpcy5zb3J0YWJsZSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBjbG9uZUxpc3Q7XHJcbiAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0Q2hlY2tlZEl0ZW1zKGNsb25lTGlzdCk7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZmlsdGVyZWRMaXN0LCB0aGlzLmNoZWNrZWRMaXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGxpc3Q6IENoZWNrYm94R3JvdXBJdGVtW10sIGNoZWNrZWRMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsZWFyZWRMaXN0ID0gaW5uZXJMaXN0VG9MaXN0KGNoZWNrZWRMaXN0KVxyXG4gICAgY29uc3QgY2xlYXJlZElubmVyTGlzdCA9IGlubmVyTGlzdFRvTGlzdCh0aGlzLmlubmVyTGlzdClcclxuXHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChjbGVhcmVkTGlzdCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBjbGVhcmVkTGlzdCwgZnVsbDogY2xlYXJlZElubmVyTGlzdCwgaWQ6IHRoaXMudXVpZH0pO1xyXG5cclxuICAgIHRoaXMuY2hhbmdlZElubmVyLmVtaXQoY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZUlubmVyLmVtaXQoe3ZhbHVlOiBjaGVja2VkTGlzdCwgZnVsbDogdGhpcy5pbm5lckxpc3QsIGlkOiB0aGlzLnV1aWR9KTtcclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlKGNoZWNrZWRMaXN0KTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cImNoZWNrYm94R3JvdXBcIj48L21yeC1zYXZlLXN0YXRlPlxyXG5cclxuICA8bXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlclxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXHJcbiAgICBbbGlua1RleHRdPVwibGlua1RleHRcIlxyXG4gICAgW2NoZWNrZWRJdGVtc0NvdW50XT1cImNoZWNrZWRMaXN0Lmxlbmd0aFwiXHJcbiAgICAodXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICAgIChjbGVhckZpbHRlcnMpPVwiY2xlYXJGaWx0ZXJzKClcIlxyXG4gID48L21yeC1jaGVja2JveC1ncm91cC1oZWFkZXI+XHJcblxyXG4gIEBpZiAoZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGgpIHtcclxuICAgIDxkaXZcclxuICAgICAgI2dyb3VwSXRlbXNXcmFwcGVyXHJcbiAgICAgIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwLXdyYXBwZXJcIlxyXG4gICAgICBbY2xhc3MubXJ4LWNoZWNrYm94LWdyb3VwLXdyYXBwZXItLXNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZVwiXHJcbiAgICAgIFtjbGFzcy4tLWFjdGl2ZV09XCJnZXRTaG93U2Nyb2xsXCJcclxuICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwic2Nyb2xsYWJsZSA/IHNjcm9sbE1heEhlaWdodCArICdweCcgOiAnYXV0bydcIlxyXG4gICAgPlxyXG4gICAgICBAZm9yIChpdGVtIG9mIGZpbHRlcmVkTGlzdDsgdHJhY2sgaXRlbS5pZDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgICAgIDxtcngtY2hlY2tib3gtZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgW2Rpc3BsYWNlZF09XCJkaXNwbGFjZWQgfHwgZmFsc2VcIlxyXG4gICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgICAgICBbaXNMYXN0XT1cImxhc3RcIlxyXG4gICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiISFpc1NlYXJjaFZhbHVlXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAoYW5pbWF0aW9uRW5kKT1cImNoZWNrSGVpZ2h0R3JvdXBXcmFwcGVyKClcIlxyXG4gICAgICAgICAgKGNoZWNrYm94Q2hhbmdlZCk9XCJjaGVja2JveENoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW0+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPHAgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2VtcHR5LW1lc3NhZ2VcIj57eyBlbmFibGVNZXNzYWdlIH19PC9wPlxyXG4gIH1cclxuXHJcbiAgQGlmIChnZXRJbnZhbGlkICYmIGdldEludmFsaWRNZXNzYWdlKSB7XHJcbiAgICA8bXJ4LWVycm9yLW1lc3NhZ2UgW2ludmFsaWRNZXNzYWdlXT1cImdldEludmFsaWRNZXNzYWdlXCIgW2N1c3RvbUNsYXNzZXNdPVwiJ210LTInXCI+PC9tcngtZXJyb3ItbWVzc2FnZT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxF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LHNCQUFzQixjQWZyQixzQkFBc0I7OzRGQWV2QixzQkFBc0I7a0JBaEJsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsd0JBQXdCO2lCQUNuQzs7a0JBQ0EsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBY2UsTUFBTTtzQkFBckIsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFFTyxLQUFLO3NCQUFqQixLQUFLO2dCQVMwQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUViLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFFVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFVSxlQUFlO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgQ2hlY2tib3hHcm91cElubmVySXRlbSxcclxuICBDaGVja2JveEdyb3VwSXRlbSxcclxuICBDaGVja2JveEdyb3VwVmFsdWVJbm5lcldpdGhJZCxcclxuICBDaGVja2JveEdyb3VwVmFsdWVXaXRoSWRcclxufSBmcm9tICcuL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IGdldFNvcnRlZExpc3QgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LXNvcnRlZC1saXN0JztcclxuaW1wb3J0IHsgZmlsdGVyU2VhcmNoR3JvdXAgfSBmcm9tICcuL2hlbHBlcnMvZmlsdGVyLXNlYXJjaC1ncm91cCc7XHJcbmltcG9ydCB7IGdldEl0ZW1Jbm5lckJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyBjaGFuZ2VJdGVtVmFsdWUsIGNoYW5nZUxpc3RWYWx1ZSB9IGZyb20gJy4vaGVscGVycy9jaGFuZ2UtaXRlbS12YWx1ZSc7XHJcbmltcG9ydCB7IGNoYW5nZUdyb3VwVmFsdWUgfSBmcm9tICcuL2hlbHBlcnMvY2hhbmdlLWdyb3VwLXZhbHVlJztcclxuaW1wb3J0IHsgZ2V0Q2hlY2tlZEl0ZW1zIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1jaGVja2VkLWl0ZW1zJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0SW5uZXJMaXN0IH0gZnJvbSAnLi9oZWxwZXJzL2dldC1pbm5lci1saXN0LmhlbHBlcic7XHJcbmltcG9ydCB7IGlubmVyTGlzdFRvTGlzdCB9IGZyb20gJy4vaGVscGVycy9pbm5lci1saXN0LXRvLWxpc3QuaGVscGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBDaGVja2JveEdyb3VwQ29tcG9uZW50XHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWNoZWNrYm94LWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveEdyb3VwQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaXZhdGUgX2dyb3VwSXRlbXNXcmFwcGVySGVpZ2h0ID0gMDtcclxuICBwcml2YXRlIF9zZWFyY2hWYWx1ZSA9ICcnO1xyXG5cclxuICBwdWJsaWMgbGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBpbm5lckxpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgY2hlY2tlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWQoKTtcclxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzY3JvbGxNYXhIZWlnaHQgPSAyMDA7XHJcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVNZXNzYWdlID0gJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBleHBhbmRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gVE9PTFRJUFxyXG4gIEBJbnB1dCgpIHRvb2x0aXAgPSAnJztcclxuXHJcbiAgLy8gTEFCRUxcclxuICBASW5wdXQoKSBsYWJlbFRleHQgPSAnJztcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnO1xyXG5cclxuICAvLyBWQUxJREFURVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXMobGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSkge1xyXG4gICAgdGhpcy5saXN0ID0gbGlzdDtcclxuICAgIHRoaXMuX3VwZGF0ZU1vZGlmaWVkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1zKCk6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpc3Q7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdncm91cEl0ZW1zV3JhcHBlcicpIGdyb3VwSXRlbXNXcmFwcGVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cEl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBJdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94R3JvdXBWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkSW5uZXI6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZUlubmVyOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cFZhbHVlSW5uZXJXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwVmFsdWVJbm5lcldpdGhJZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbEl0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveEdyb3VwSW5uZXJJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hHcm91cElubmVySXRlbT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzU2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzcGxhY2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdC5zb21lKChpdGVtOiBDaGVja2JveEdyb3VwSXRlbSkgPT4gaXRlbS5pdGVtcz8ubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldEludmFsaWRNZXNzYWdlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmludmFsaWRNZXNzYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFNob3dTY3JvbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBDaGVja2JveEdyb3VwSXRlbVtdKSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBDaGVja2JveEdyb3VwSXRlbVtdKTogdm9pZCB7XHJcbiAgICBpZiAoc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmNoZWNrZWRMaXN0ID0gZ2V0SW5uZXJMaXN0KHNlbGVjdGVkVmFsdWUsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gICAgICB0aGlzLl91cGRhdGVNb2RpZmllZExpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU1vZGlmaWVkTGlzdCgpIHtcclxuICAgIHRoaXMuaW5uZXJMaXN0ID0gZ2V0SW5uZXJMaXN0KHRoaXMubGlzdCwgdGhpcy5jaGVja2VkTGlzdCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGdldFNvcnRlZExpc3QodGhpcy5pbm5lckxpc3QsIHRoaXMuc29ydGFibGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrSGVpZ2h0R3JvdXBXcmFwcGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZ3JvdXBJdGVtc1dyYXBwZXJIZWlnaHQgPSB0aGlzLmdyb3VwSXRlbXNXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBmaWx0ZXJTZWFyY2hHcm91cCh0aGlzLmlubmVyTGlzdCwgdGhpcy5fc2VhcmNoVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrYm94Q2hhbmdlZCh7dmFsdWUsIGl0ZW19OiB7IHZhbHVlOiBib29sZWFuIHwgbnVsbDsgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB9KSB7XHJcbiAgICBjb25zdCBjbG9uZUxpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmlubmVyTGlzdCk7XHJcbiAgICBjb25zdCBmaW5kSXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB8IG51bGwgPSBnZXRJdGVtSW5uZXJCeUlkKGNsb25lTGlzdCwgaXRlbS5pZCk7XHJcblxyXG4gICAgbGV0IGNoYW5nZWRJdGVtOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgaWYgKGZpbmRJdGVtKSB7XHJcbiAgICAgIGNoYW5nZWRJdGVtID0gY2hhbmdlSXRlbVZhbHVlKGZpbmRJdGVtLCB2YWx1ZSk7XHJcbiAgICAgIGNoYW5nZUdyb3VwVmFsdWUoY2xvbmVMaXN0LCBpdGVtLnBhcmVudElkLCB2YWx1ZSk7XHJcbiAgICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlubmVyTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gZmlsdGVyU2VhcmNoR3JvdXAodGhpcy5pbm5lckxpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUoW10sIHRoaXMuY2hlY2tlZExpc3QpO1xyXG5cclxuICAgIGlmIChjaGFuZ2VkSXRlbSkge1xyXG4gICAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KGNoYW5nZWRJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJGaWx0ZXJzKCkge1xyXG4gICAgY29uc3QgY2xvbmVMaXN0OiBDaGVja2JveEdyb3VwSW5uZXJJdGVtW10gPSBjbG9uZURlZXAodGhpcy5maWx0ZXJlZExpc3QpO1xyXG5cclxuICAgIGNoYW5nZUxpc3RWYWx1ZShjbG9uZUxpc3QsIGZhbHNlKTtcclxuICAgIGdldFNvcnRlZExpc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGNsb25lTGlzdDtcclxuICAgIHRoaXMuY2hlY2tlZExpc3QgPSBnZXRDaGVja2VkSXRlbXMoY2xvbmVMaXN0KTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuY2hlY2tlZExpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUobGlzdDogQ2hlY2tib3hHcm91cEl0ZW1bXSwgY2hlY2tlZExpc3Q6IENoZWNrYm94R3JvdXBJbm5lckl0ZW1bXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2xlYXJlZExpc3QgPSBpbm5lckxpc3RUb0xpc3QoY2hlY2tlZExpc3QpXHJcbiAgICBjb25zdCBjbGVhcmVkSW5uZXJMaXN0ID0gaW5uZXJMaXN0VG9MaXN0KHRoaXMuaW5uZXJMaXN0KVxyXG5cclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGNsZWFyZWRMaXN0KTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGNsZWFyZWRMaXN0LCBmdWxsOiBjbGVhcmVkSW5uZXJMaXN0LCBpZDogdGhpcy51dWlkfSk7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkSW5uZXIuZW1pdChjaGVja2VkTGlzdCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlSW5uZXIuZW1pdCh7dmFsdWU6IGNoZWNrZWRMaXN0LCBmdWxsOiB0aGlzLmlubmVyTGlzdCwgaWQ6IHRoaXMudXVpZH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UoY2hlY2tlZExpc3QpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVDb250ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiIHR5cGU9XCJjaGVja2JveEdyb3VwXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuXHJcbiAgPG1yeC1jaGVja2JveC1ncm91cC1oZWFkZXJcclxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxyXG4gICAgW2xpbmtUZXh0XT1cImxpbmtUZXh0XCJcclxuICAgIFtjaGVja2VkSXRlbXNDb3VudF09XCJjaGVja2VkTGlzdC5sZW5ndGhcIlxyXG4gICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXHJcbiAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcclxuICAgICh1cGRhdGVDaGVja2JveEdyb3VwU2VhcmNoVmFsdWUpPVwidXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKCRldmVudClcIlxyXG4gICAgKGNsZWFyRmlsdGVycyk9XCJjbGVhckZpbHRlcnMoKVwiXHJcbiAgICAodG9nZ2xlKT1cInRvZ2dsZUNvbnRlbnQoKVwiXHJcbiAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWhlYWRlcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRhYmxlIHx8IGlzRXhwYW5kZWRcIj5cclxuICAgIEBpZiAoZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGgpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgICNncm91cEl0ZW1zV3JhcHBlclxyXG4gICAgICAgIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwLXdyYXBwZXJcIlxyXG4gICAgICAgIFtjbGFzcy5tcngtY2hlY2tib3gtZ3JvdXAtd3JhcHBlci0tc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcclxuICAgICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwic2Nyb2xsYWJsZSA/IHNjcm9sbE1heEhlaWdodCArICdweCcgOiAnYXV0bydcIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrIGl0ZW0uaWQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICAgIDxtcngtY2hlY2tib3gtZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgICBbZGlzcGxhY2VkXT1cImRpc3BsYWNlZCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbaXNMYXN0XT1cImxhc3RcIlxyXG4gICAgICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICAgICAgICAgICAgKGFuaW1hdGlvbkVuZCk9XCJjaGVja0hlaWdodEdyb3VwV3JhcHBlcigpXCJcclxuICAgICAgICAgICAgKGNoZWNrYm94Q2hhbmdlZCk9XCJjaGVja2JveENoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtY2hlY2tib3gtZ3JvdXAtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxwIGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19lbXB0eS1tZXNzYWdlXCI+e3sgZW5hYmxlTWVzc2FnZSB9fTwvcD5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKGdldEludmFsaWQgJiYgZ2V0SW52YWxpZE1lc3NhZ2UpIHtcclxuICAgICAgPG1yeC1lcnJvci1tZXNzYWdlIFtpbnZhbGlkTWVzc2FnZV09XCJnZXRJbnZhbGlkTWVzc2FnZVwiIFtjdXN0b21DbGFzc2VzXT1cIidtdC0yJ1wiPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcbiAgICB9XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
import * as i3 from "../../../input-search/input-search.component";
|
|
6
|
+
import * as i4 from "../../../../label/label.component";
|
|
6
7
|
export class CheckboxGroupHeaderComponent {
|
|
7
8
|
searchValue = '';
|
|
8
9
|
searchable = false;
|
|
9
10
|
searchPlaceholder = '';
|
|
11
|
+
expandable = false;
|
|
12
|
+
isExpanded = false;
|
|
10
13
|
// LABEL
|
|
11
14
|
tooltip = '';
|
|
12
15
|
labelText = '';
|
|
@@ -14,23 +17,37 @@ export class CheckboxGroupHeaderComponent {
|
|
|
14
17
|
checkedItemsCount = 0;
|
|
15
18
|
updateCheckboxGroupSearchValue = new EventEmitter();
|
|
16
19
|
clearFilters = new EventEmitter();
|
|
20
|
+
toggle = new EventEmitter();
|
|
17
21
|
constructor() { }
|
|
22
|
+
get translateChevron() {
|
|
23
|
+
return this.isExpanded ? 'rotate(0deg)' : 'rotate(-180deg)';
|
|
24
|
+
}
|
|
18
25
|
changeSearchValue(searchValue) {
|
|
26
|
+
this.searchValue = searchValue;
|
|
19
27
|
this.updateCheckboxGroupSearchValue.emit(searchValue);
|
|
20
28
|
}
|
|
21
29
|
onClearFilters() {
|
|
22
30
|
this.clearFilters.emit();
|
|
23
31
|
}
|
|
32
|
+
onToggle(event) {
|
|
33
|
+
if (!(event.target instanceof HTMLElement) || !event.target.classList.contains('icon-help')) {
|
|
34
|
+
this.toggle.emit();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
24
37
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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: "@if (labelText) {\r\n <mrx-label\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n >\r\n {{ labelText }}\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters", toggle: "toggle" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n }\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\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 </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i4.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
39
|
}
|
|
27
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
28
41
|
type: Component,
|
|
29
|
-
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n >\r\n {{ labelText }}\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n
|
|
42
|
+
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n }\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\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 </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
30
43
|
}], ctorParameters: () => [], propDecorators: { searchable: [{
|
|
31
44
|
type: Input
|
|
32
45
|
}], searchPlaceholder: [{
|
|
33
46
|
type: Input
|
|
47
|
+
}], expandable: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], isExpanded: [{
|
|
50
|
+
type: Input
|
|
34
51
|
}], tooltip: [{
|
|
35
52
|
type: Input
|
|
36
53
|
}], labelText: [{
|
|
@@ -43,5 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
43
60
|
type: Output
|
|
44
61
|
}], clearFilters: [{
|
|
45
62
|
type: Output
|
|
63
|
+
}], toggle: [{
|
|
64
|
+
type: Output
|
|
46
65
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NoZWNrYm94LWdyb3VwL2NvbXBvbmVudHMvY2hlY2tib3gtZ3JvdXAtaGVhZGVyL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWhlYWRlci9jaGVja2JveC1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2hHLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVkLFVBQVUsR0FBRyxLQUFLLENBQUE7SUFDbEIsaUJBQWlCLEdBQUcsRUFBRSxDQUFBO0lBQ3RCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1QixRQUFRO0lBQ0MsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNaLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDZCxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ2IsaUJBQWlCLEdBQUcsQ0FBQyxDQUFBO0lBRWIsOEJBQThCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbEYsWUFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzVELE1BQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV2RSxnQkFBZ0IsQ0FBQztJQUVqQixJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDOUQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFdBQXFDO1FBQzVELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWlCO1FBQy9CLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLFlBQVksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM1RixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO3dHQXJDVSw0QkFBNEI7NEZBQTVCLDRCQUE0Qiw0YUNUekMsbzhCQWlDQTs7NEZEeEJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU07d0RBS3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFVyw4QkFBOEI7c0JBQTlDLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveC1ncm91cC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWdyb3VwLWhlYWRlci5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cEhlYWRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHNlYXJjaFZhbHVlID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJ1xyXG4gIEBJbnB1dCgpIGV4cGFuZGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0V4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gIC8vIExBQkVMXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnXHJcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJydcclxuICBASW5wdXQoKSBsaW5rVGV4dCA9ICcnXHJcbiAgQElucHV0KCkgY2hlY2tlZEl0ZW1zQ291bnQgPSAwXHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBkYXRlQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJGaWx0ZXJzOiBFdmVudEVtaXR0ZXI8bnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyB0b2dnbGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIGdldCB0cmFuc2xhdGVDaGV2cm9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0V4cGFuZGVkID8gJ3JvdGF0ZSgwZGVnKScgOiAncm90YXRlKC0xODBkZWcpJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogQ2hlY2tib3hHcm91cFNlYXJjaFZhbHVlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94R3JvdXBTZWFyY2hWYWx1ZS5lbWl0KHNlYXJjaFZhbHVlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhckZpbHRlcnMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVG9nZ2xlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgfHwgIWV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ2ljb24taGVscCcpKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGlmIChsYWJlbFRleHQpIHtcclxuICA8bXJ4LWxhYmVsXHJcbiAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiZXhwYW5kYWJsZVwiXHJcbiAgICBbY291bnRlcl09XCJjaGVja2VkSXRlbXNDb3VudFwiXHJcbiAgICBbbGlua1RleHRdPVwibGlua1RleHRcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICAoY2xpY2tlZExpbmspPVwib25DbGVhckZpbHRlcnMoKVwiXHJcbiAgICAoY2xpY2spPVwiZXhwYW5kYWJsZSAmJiBvblRvZ2dsZSgkZXZlbnQpXCJcclxuICA+XHJcbiAgICB7eyBsYWJlbFRleHQgfX1cclxuXHJcbiAgICBAaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1kb3duIGljb24tZm9udC0xNlwiXHJcbiAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2xhdGVDaGV2cm9uXCJcclxuICAgICAgPjwvc3Bhbj5cclxuICAgIH1cclxuICA8L21yeC1sYWJlbD5cclxufVxyXG5cclxuQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRhYmxlIHx8IGlzRXhwYW5kZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXAtaGVhZC0tc2VhcmNoXCI+XHJcbiAgICAgIDxtcngtaW5wdXQtc2VhcmNoXHJcbiAgICAgICAgKm5nSWY9XCIhZXhwYW5kYWJsZSB8fCBpc0V4cGFuZGVkXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hWYWx1ZVwiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgID48L21yeC1pbnB1dC1zZWFyY2g+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
package/fesm2022/myrta-ui.mjs
CHANGED
|
@@ -13986,6 +13986,8 @@ class CheckboxGroupHeaderComponent {
|
|
|
13986
13986
|
searchValue = '';
|
|
13987
13987
|
searchable = false;
|
|
13988
13988
|
searchPlaceholder = '';
|
|
13989
|
+
expandable = false;
|
|
13990
|
+
isExpanded = false;
|
|
13989
13991
|
// LABEL
|
|
13990
13992
|
tooltip = '';
|
|
13991
13993
|
labelText = '';
|
|
@@ -13993,23 +13995,37 @@ class CheckboxGroupHeaderComponent {
|
|
|
13993
13995
|
checkedItemsCount = 0;
|
|
13994
13996
|
updateCheckboxGroupSearchValue = new EventEmitter();
|
|
13995
13997
|
clearFilters = new EventEmitter();
|
|
13998
|
+
toggle = new EventEmitter();
|
|
13996
13999
|
constructor() { }
|
|
14000
|
+
get translateChevron() {
|
|
14001
|
+
return this.isExpanded ? 'rotate(0deg)' : 'rotate(-180deg)';
|
|
14002
|
+
}
|
|
13997
14003
|
changeSearchValue(searchValue) {
|
|
14004
|
+
this.searchValue = searchValue;
|
|
13998
14005
|
this.updateCheckboxGroupSearchValue.emit(searchValue);
|
|
13999
14006
|
}
|
|
14000
14007
|
onClearFilters() {
|
|
14001
14008
|
this.clearFilters.emit();
|
|
14002
14009
|
}
|
|
14010
|
+
onToggle(event) {
|
|
14011
|
+
if (!(event.target instanceof HTMLElement) || !event.target.classList.contains('icon-help')) {
|
|
14012
|
+
this.toggle.emit();
|
|
14013
|
+
}
|
|
14014
|
+
}
|
|
14003
14015
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14004
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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: "@if (labelText) {\r\n <mrx-label\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n >\r\n {{ labelText }}\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n
|
|
14016
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters", toggle: "toggle" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n }\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\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 </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14005
14017
|
}
|
|
14006
14018
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
|
|
14007
14019
|
type: Component,
|
|
14008
|
-
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n >\r\n {{ labelText }}\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n
|
|
14020
|
+
args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\r\n <mrx-label\r\n [class.cursor-pointer]=\"expandable\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n (click)=\"expandable && onToggle($event)\"\r\n >\r\n {{ labelText }}\r\n\r\n @if (expandable) {\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n }\r\n </mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n <div class=\"mrx-checkbox-group-head--search\">\r\n <mrx-input-search\r\n *ngIf=\"!expandable || isExpanded\"\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 </ng-container>\r\n}\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
|
|
14009
14021
|
}], ctorParameters: () => [], propDecorators: { searchable: [{
|
|
14010
14022
|
type: Input
|
|
14011
14023
|
}], searchPlaceholder: [{
|
|
14012
14024
|
type: Input
|
|
14025
|
+
}], expandable: [{
|
|
14026
|
+
type: Input
|
|
14027
|
+
}], isExpanded: [{
|
|
14028
|
+
type: Input
|
|
14013
14029
|
}], tooltip: [{
|
|
14014
14030
|
type: Input
|
|
14015
14031
|
}], labelText: [{
|
|
@@ -14022,6 +14038,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
14022
14038
|
type: Output
|
|
14023
14039
|
}], clearFilters: [{
|
|
14024
14040
|
type: Output
|
|
14041
|
+
}], toggle: [{
|
|
14042
|
+
type: Output
|
|
14025
14043
|
}] } });
|
|
14026
14044
|
|
|
14027
14045
|
class CheckboxGroupComponent {
|
|
@@ -14044,6 +14062,8 @@ class CheckboxGroupComponent {
|
|
|
14044
14062
|
enableMessage = 'Ничего не найдено';
|
|
14045
14063
|
searchPlaceholder = '';
|
|
14046
14064
|
customClasses = '';
|
|
14065
|
+
expandable = false;
|
|
14066
|
+
isExpanded = false;
|
|
14047
14067
|
// TOOLTIP
|
|
14048
14068
|
tooltip = '';
|
|
14049
14069
|
// LABEL
|
|
@@ -14152,14 +14172,19 @@ class CheckboxGroupComponent {
|
|
|
14152
14172
|
this.onChange(checkedList);
|
|
14153
14173
|
this.onTouched();
|
|
14154
14174
|
}
|
|
14175
|
+
toggleContent() {
|
|
14176
|
+
if (this.expandable) {
|
|
14177
|
+
this.isExpanded = !this.isExpanded;
|
|
14178
|
+
}
|
|
14179
|
+
}
|
|
14155
14180
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14156
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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", modelChange: "modelChange", changedInner: "changedInner", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
14181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", 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", expandable: "expandable", isExpanded: "isExpanded", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", invalid: "invalid", invalidMessage: "invalidMessage", items: "items" }, outputs: { changed: "changed", modelChange: "modelChange", changedInner: "changedInner", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
|
|
14157
14182
|
{
|
|
14158
14183
|
provide: NG_VALUE_ACCESSOR,
|
|
14159
14184
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
14160
14185
|
multi: true,
|
|
14161
14186
|
},
|
|
14162
|
-
], 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 @if (filteredList && filteredList.length) {\r\n
|
|
14187
|
+
], 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 [expandable]=\"expandable\"\r\n [isExpanded]=\"isExpanded\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n (toggle)=\"toggleContent()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\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 @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-checkbox-group-item\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 }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (getInvalid && getInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"getInvalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n </ng-container>\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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }, { kind: "component", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "expandable", "isExpanded", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters", "toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14163
14188
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
|
|
14164
14189
|
}
|
|
14165
14190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
@@ -14175,7 +14200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
14175
14200
|
useExisting: forwardRef(() => CheckboxGroupComponent),
|
|
14176
14201
|
multi: true,
|
|
14177
14202
|
},
|
|
14178
|
-
], 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 @if (filteredList && filteredList.length) {\r\n
|
|
14203
|
+
], 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 [expandable]=\"expandable\"\r\n [isExpanded]=\"isExpanded\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n (toggle)=\"toggleContent()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <ng-container *ngIf=\"!expandable || isExpanded\">\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\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 @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-checkbox-group-item\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 }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (getInvalid && getInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"getInvalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n </ng-container>\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"] }]
|
|
14179
14204
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
|
|
14180
14205
|
type: Input
|
|
14181
14206
|
}], scrollMaxHeight: [{
|
|
@@ -14196,6 +14221,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
14196
14221
|
type: Input
|
|
14197
14222
|
}], customClasses: [{
|
|
14198
14223
|
type: Input
|
|
14224
|
+
}], expandable: [{
|
|
14225
|
+
type: Input
|
|
14226
|
+
}], isExpanded: [{
|
|
14227
|
+
type: Input
|
|
14199
14228
|
}], tooltip: [{
|
|
14200
14229
|
type: Input
|
|
14201
14230
|
}], labelText: [{
|