@skyux/list-builder-view-checklist 7.0.0-beta.8 → 7.0.0
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/documentation.json +1 -17
- package/esm2020/lib/modules/list-view-checklist/list-view-checklist-item.component.mjs +4 -5
- package/esm2020/lib/modules/list-view-checklist/list-view-checklist.component.mjs +5 -6
- package/esm2020/lib/modules/list-view-checklist/list-view-checklist.module.mjs +5 -5
- package/esm2020/lib/modules/list-view-checklist/state/checklist-state.rxstate.mjs +4 -4
- package/esm2020/lib/modules/list-view-checklist/state/checklist-state.state-node.mjs +4 -6
- package/fesm2015/skyux-list-builder-view-checklist.mjs +16 -16
- package/fesm2015/skyux-list-builder-view-checklist.mjs.map +1 -1
- package/fesm2020/skyux-list-builder-view-checklist.mjs +30 -30
- package/fesm2020/skyux-list-builder-view-checklist.mjs.map +1 -1
- package/package.json +10 -10
package/documentation.json
CHANGED
|
@@ -2828,21 +2828,5 @@
|
|
|
2828
2828
|
}
|
|
2829
2829
|
]
|
|
2830
2830
|
},
|
|
2831
|
-
"codeExamples": [
|
|
2832
|
-
{
|
|
2833
|
-
"fileName": "list-view-checklist-demo.component.html",
|
|
2834
|
-
"filePath": "/projects/list-builder-view-checklist/documentation/code-examples/list-view-checklist/basic/list-view-checklist-demo.component.html",
|
|
2835
|
-
"rawContents": "<div class=\"sky-form-group sky-margin-stacked-lg\">\n <h3>Selection mode</h3>\n <sky-radio\n name=\"selectMode\"\n value=\"multiple\"\n (change)=\"onModeChange('multiple')\"\n [(ngModel)]=\"selectMode\"\n >\n <sky-radio-label> Default select mode </sky-radio-label>\n </sky-radio>\n\n <sky-radio\n name=\"selectMode\"\n value=\"single\"\n (change)=\"onModeChange('single')\"\n [(ngModel)]=\"selectMode\"\n >\n <sky-radio-label> Single select mode </sky-radio-label>\n </sky-radio>\n</div>\n<div class=\"sky-margin-stacked-lg\">\n <sky-list\n [data]=\"items\"\n [selectedIds]=\"selectedItemsId\"\n (selectedIdsChange)=\"selectedItemsChange($event)\"\n >\n <sky-list-toolbar> </sky-list-toolbar>\n <sky-list-view-checklist\n description=\"column3\"\n label=\"column2\"\n [selectMode]=\"selectMode\"\n >\n </sky-list-view-checklist>\n </sky-list>\n</div>\n<label> Selected items: </label>\n<ul>\n <li *ngFor=\"let item of selectedItems\">\n {{ item.column2 }}\n </li>\n</ul>\n"
|
|
2836
|
-
},
|
|
2837
|
-
{
|
|
2838
|
-
"fileName": "list-view-checklist-demo.component.ts",
|
|
2839
|
-
"filePath": "/projects/list-builder-view-checklist/documentation/code-examples/list-view-checklist/basic/list-view-checklist-demo.component.ts",
|
|
2840
|
-
"rawContents": "import { Component } from '@angular/core';\n\nimport { of } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'app-list-view-checklist-demo',\n templateUrl: './list-view-checklist-demo.component.html',\n})\nexport class ListViewChecklistDemoComponent {\n public items = of([\n { id: '1', column1: 101, column2: 'Apple', column3: 'Anne eats apples' },\n { id: '2', column1: 202, column2: 'Banana', column3: 'Ben eats bananas' },\n { id: '3', column1: 303, column2: 'Pear', column3: 'Patty eats pears' },\n { id: '4', column1: 404, column2: 'Grape', column3: 'George eats grapes' },\n { id: '5', column1: 505, column2: 'Banana', column3: 'Becky eats bananas' },\n { id: '6', column1: 606, column2: 'Lemon', column3: 'Larry eats lemons' },\n {\n id: '7',\n column1: 707,\n column2: 'Strawberry',\n column3: 'Sally eats strawberries',\n },\n ]);\n\n public selectedItems: any[] = [];\n public selectedItemsId: string[] = [];\n\n public selectMode = 'multiple';\n\n public selectedItemsChange(selectedMap: Map<string, boolean>): void {\n this.items.pipe(take(1)).subscribe((items) => {\n this.selectedItems = items.filter((item) => selectedMap.get(item.id));\n this.selectedItemsId = Array.from(selectedMap.keys()).filter((key) =>\n selectedMap.get(key)\n );\n });\n }\n\n public onModeChange(newMode: string): void {\n if (newMode === 'single') {\n if (this.selectedItemsId.length > 0) {\n this.selectedItemsId = [this.selectedItemsId[0]];\n }\n }\n }\n}\n"
|
|
2841
|
-
},
|
|
2842
|
-
{
|
|
2843
|
-
"fileName": "list-view-checklist-demo.module.ts",
|
|
2844
|
-
"filePath": "/projects/list-builder-view-checklist/documentation/code-examples/list-view-checklist/basic/list-view-checklist-demo.module.ts",
|
|
2845
|
-
"rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyRadioModule } from '@skyux/forms';\nimport { SkyListModule, SkyListToolbarModule } from '@skyux/list-builder';\nimport { SkyListViewChecklistModule } from '@skyux/list-builder-view-checklist';\n\nimport { ListViewChecklistDemoComponent } from './list-view-checklist-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyListModule,\n SkyListToolbarModule,\n SkyListViewChecklistModule,\n SkyRadioModule,\n ],\n declarations: [ListViewChecklistDemoComponent],\n exports: [ListViewChecklistDemoComponent],\n})\nexport class ListViewChecklistDemoModule {}\n"
|
|
2846
|
-
}
|
|
2847
|
-
]
|
|
2831
|
+
"codeExamples": []
|
|
2848
2832
|
}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { ListViewChecklistItemModel } from './state/items/item.model';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
/**
|
|
5
4
|
* @deprecated
|
|
6
5
|
*/
|
|
7
6
|
export class SkyListViewChecklistItemComponent {
|
|
8
7
|
}
|
|
9
|
-
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
10
|
-
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
8
|
+
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
|
|
12
11
|
type: Component,
|
|
13
12
|
args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
|
|
14
13
|
}], propDecorators: { item: [{
|
|
15
14
|
type: Input
|
|
16
15
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3QvbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3QvbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkxRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxpQ0FBaUM7OytIQUFqQyxpQ0FBaUM7bUhBQWpDLGlDQUFpQyw4RkNiOUMscUZBR0E7NEZEVWEsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTs4QkFJeEMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwgfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbTogTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw7XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, forwardRef, } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { ListFilterModel, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListState, ListStateDispatcher, ListToolbarSetTypeAction, ListViewComponent, } from '@skyux/list-builder';
|
|
2
|
+
import { ListFilterModel, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListViewComponent, } from '@skyux/list-builder';
|
|
4
3
|
import { getData, } from '@skyux/list-builder-common';
|
|
5
4
|
import { Subject } from 'rxjs';
|
|
6
5
|
import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
|
|
@@ -259,8 +258,8 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
259
258
|
return true;
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
|
-
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
263
|
-
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
261
|
+
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: i2.ChecklistState }, { token: i3.ChecklistStateDispatcher }, { token: i4.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
262
|
+
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
264
263
|
{
|
|
265
264
|
provide: ListViewComponent,
|
|
266
265
|
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
@@ -269,7 +268,7 @@ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
269
268
|
ChecklistStateDispatcher,
|
|
270
269
|
ChecklistStateModel,
|
|
271
270
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i6.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i7.SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
273
272
|
type: Component,
|
|
274
273
|
args: [{ selector: 'sky-list-view-checklist', providers: [
|
|
275
274
|
{
|
|
@@ -294,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
294
293
|
}], showOnlySelected: [{
|
|
295
294
|
type: Input
|
|
296
295
|
}] } });
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbGliL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQ0wsZUFBZSxFQUVmLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsU0FBUyxFQUNULG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUlMLE9BQU8sR0FDUixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMs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c0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUN0QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxlQUFlLENBQzVDLENBQUM7UUFFRixJQUFJLHNCQUFzQixJQUFJLHNCQUFzQixFQUFFO1lBQ3BELE9BQU8sc0JBQXNCLENBQUMsS0FBSyxLQUFLLHNCQUFzQixDQUFDLEtBQUssQ0FBQztTQUN0RTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7MEhBcFdVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtPQVg3QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1NBQzdEO1FBQ0QsY0FBYztRQUNkLHdCQUF3QjtRQUN4QixtQkFBbUI7S0FDcEIsc0VDMURILGszREF3REE7MkZES2EsNkJBQTZCO2tCQWZ6QyxTQUFTOytCQUNFLHlCQUF5QixhQUd4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDN0Q7d0JBQ0QsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLG1CQUFtQjtxQkFDcEIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07a09BVzNDLElBQUk7c0JBRFAsS0FBSztnQkFZQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsa0JBQWtCO3NCQUR4QixLQUFLO3VCQUFDLE9BQU87Z0JBUVAsV0FBVztzQkFEakIsS0FBSztnQkFVSyxVQUFVO3NCQURwQixLQUFLO2dCQXVCSyxnQkFBZ0I7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHtcbiAgTGlzdEZpbHRlck1vZGVsLFxuICBMaXN0U2VsZWN0ZWRNb2RlbCxcbiAgTGlzdFNlbGVjdGVkU2V0SXRlbVNlbGVjdGVkQWN0aW9uLFxuICBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uLFxuICBMaXN0U3RhdGUsXG4gIExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gIExpc3RUb29sYmFyU2V0VHlwZUFjdGlvbixcbiAgTGlzdFZpZXdDb21wb25lbnQsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXInO1xuaW1wb3J0IHtcbiAgQXN5bmNJdGVtLFxuICBBc3luY0xpc3QsXG4gIExpc3RJdGVtTW9kZWwsXG4gIGdldERhdGEsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVNb2RlbCB9IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9pdGVtLm1vZGVsJztcbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTGlzdCBidWlsZGVyIHZpZXcgY2hlY2tsaXN0IGFuZCBpdHMgZmVhdHVyZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSByZXBlYXRlciBpbnN0ZWFkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9yZXBlYXRlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTGlzdFZpZXdDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCksXG4gICAgfSxcbiAgICBDaGVja2xpc3RTdGF0ZSxcbiAgICBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgQ2hlY2tsaXN0U3RhdGVNb2RlbCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGlzdFZpZXdDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIHZpZXcuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmlld05hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZWFyY2ggZnVuY3Rpb24gdG8gYXBwbHkgb24gdGhlIHZpZXcgZGF0YS5cbiAgICogVGhlIGRlZmF1bHQgZnVuY3Rpb24gc2VhcmNoZXMgdmlldyBkYXRhIG9uIGxhYmVsLCBkZXNjcmlwdGlvbixcbiAgICogYW5kIGNhdGVnb3J5IGlmIGZpZWxkIHNlbGVjdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhlIGdpdmVuIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0IHNlYXJjaCBmdW5jdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaDogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbGFiZWwgZmllbGQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0IFwibGFiZWxcIlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdsYWJlbCcpXG4gIHB1YmxpYyBsYWJlbEZpZWxkU2VsZWN0b3IgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCBcImRlc2NyaXB0aW9uXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9ICdkZXNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbWFueSBpdGVtcyB1c2VycyBjYW4gc2VsZWN0LlxuICAgKiBgXCJzaW5nbGVcImAgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgaXRlbSBpbiB0aGUgY2hlY2tsaXN0LCB3aGlsZSBgXCJtdWx0aXBsZVwiYFxuICAgKiBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIGl0ZW1zIGluIHRoZSBjaGVja2xpc3QuXG4gICAqIEBkZWZhdWx0IFwibXVsdGlwbGVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZWxlY3RNb2RlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyKGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0TW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RNb2RlIHx8ICdtdWx0aXBsZSc7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzcGxheSBzZWxlY3RlZCBpdGVtcyBvbmx5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzaG93T25seVNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd09ubHlTZWxlY3RlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG93T25seVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93T25seVNlbGVjdGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9zZWxlY3RNb2RlID0gJ211bHRpcGxlJztcblxuICBwcml2YXRlIF9zZWxlY3RlZElkTWFwOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIHByaXZhdGUgX3Nob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdGF0ZTogTGlzdFN0YXRlLFxuICAgIHByaXZhdGUgZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgICBwcml2YXRlIGNoZWNrbGlzdFN0YXRlOiBDaGVja2xpc3RTdGF0ZSxcbiAgICBwcml2YXRlIGNoZWNrbGlzdERpc3BhdGNoZXI6IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgICBsb2dnZXI6IFNreUxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoc3RhdGUsICdDaGVja2xpc3QgVmlldycpO1xuXG4gICAgbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50Jywge1xuICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDYsXG4gICAgICBtb3JlSW5mb1VybDogJ2h0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9yZXBlYXRlcicsXG4gICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOiAnVXNlIHJlcGVhdGVyIGluc3RlYWQuJyxcbiAgICB9KTtcblxuICAgIGxldCBsYXN0VXBkYXRlOiBhbnk7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuaXRlbXMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChpdGVtczogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YUNoYW5nZWQgPVxuICAgICAgICAgICAgbGFzdFVwZGF0ZSA9PT0gdW5kZWZpbmVkIHx8IGl0ZW1zLmxhc3RVcGRhdGUgIT09IGxhc3RVcGRhdGU7XG4gICAgICAgICAgbGFzdFVwZGF0ZSA9IGl0ZW1zLmxhc3RVcGRhdGU7XG4gICAgICAgICAgY29uc3QgbmV3SXRlbXMgPSBpdGVtcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwoaXRlbS5pZCwge1xuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5sYWJlbEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICAgICAgICA/IGdldERhdGEoaXRlbS5kYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3RvcilcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICA/IGdldERhdGEoaXRlbS5kYXRhLCB0aGlzLmRlc2NyaXB0aW9uKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmNoZWNrbGlzdERpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICAgIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbihcbiAgICAgICAgICAgICAgbmV3SXRlbXMsXG4gICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgIGRhdGFDaGFuZ2VkLFxuICAgICAgICAgICAgICBpdGVtcy5jb3VudFxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LnNlbGVjdGVkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkSXRlbXM6IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4pID0+IHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJZE1hcCA9IHNlbGVjdGVkSXRlbXMuaXRlbS5zZWxlY3RlZElkTWFwO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJykge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyKHRydWUpO1xuICAgIH1cblxuICAgIC8vIElmICdzaG93LXNlbGVjdGVkJyBmaWx0ZXIgaXMgY2hhbmdlZCBmcm9tIG11bHRpc2VsZWN0IHRvb2xiYXIgKGxpc3QtYnVpbGRlcilcbiAgICAvLyBtYWtlIHN1cmUgdGhlIHByaXZhdGUgdmFyaWFibGUgX3Nob3dPbmx5U2VsZWN0ZWQgc3RheXMgaW4gc3luYy5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgodCkgPT4gdC5maWx0ZXJzKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKHRoaXMuc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSkgPT4ge1xuICAgICAgICBjb25zdCBzaG93U2VsZWN0ZWRGaWx0ZXIgPSBmaWx0ZXJzLmZpbmQoXG4gICAgICAgICAgKGZpbHRlcjogTGlzdEZpbHRlck1vZGVsKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gc2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10gJiZcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5jdXJyZW50VmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIoY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMy4yLjBcbiAgICogTXVsdGlzZWxlY3QgdG9vbGJhciB3aWxsIGF1dG9tYXRpY2FsbHkgc2hvdyBpZiBzZWxlY3QgbW9kZSBpcyBzZXQgdG8gJ211bHRpcGxlJy5cbiAgICogVGhlc2UgbWV0aG9kcyBhcmUgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhhdCBmdW5jdGlvbmFsaXR5IGlzIHBhcnQgb2YgbGlzdC1idWlsZGVyLlxuICAgKi9cbiAgcHVibGljIGNoYW5nZVZpc2libGVJdGVtcyhjaGFuZ2U6IFNreUNoZWNrYm94Q2hhbmdlKSB7XG4gICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gY2hhbmdlLmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb25zKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuaXRlbXMuaXRlbXMpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihcbiAgICAgICAgICAgIGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCksXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLnNob3dPbmx5U2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuaXRlbXMuaXRlbXMpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihcbiAgICAgICAgICAgIGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCksXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblZpZXdBY3RpdmUoKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGdW5jdGlvbnMoW3RoaXMuc2VhcmNoXSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRTZWxlY3RvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICBmaWVsZFNlbGVjdG9ycy5wdXNoKHRoaXMuZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9ycyk7XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKCdzZWFyY2gnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBPYnNlcnZhYmxlPExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLml0ZW1zLml0ZW1zKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBnZXREYXRhKGRhdGEsIHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGxhYmVsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBsYWJlbCAhPT0gbnVsbCAmJlxuICAgICAgICAgIGxhYmVsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5kZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gZ2V0RGF0YShkYXRhLCB0aGlzLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBkZXNjcmlwdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmdldChpZCkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJdGVtU2VsZWN0aW9uKGl0ZW06IExpc3RJdGVtTW9kZWwsIGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24oaXRlbS5pZCwgZXZlbnQuY2hlY2tlZClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW06IExpc3RJdGVtTW9kZWwpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFtpdGVtLmlkXSwgdHJ1ZSwgdHJ1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaG93U2VsZWN0ZWRGaWx0ZXIoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHJldHVybiBuZXcgTGlzdEZpbHRlck1vZGVsKHtcbiAgICAgIG5hbWU6ICdzaG93LXNlbGVjdGVkJyxcbiAgICAgIHZhbHVlOiBpc1NlbGVjdGVkLnRvU3RyaW5nKCksXG4gICAgICBmaWx0ZXJGdW5jdGlvbjogKG1vZGVsOiBMaXN0SXRlbU1vZGVsLCBzaG93T25seVNlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChzaG93T25seVNlbGVjdGVkLnRvU3RyaW5nKCkgIT09IGZhbHNlLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJZE1hcC5nZXQobW9kZWwuaWQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZS50b1N0cmluZygpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFwcGx5RmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLmZpbHRlcnMpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSkgPT4ge1xuICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgIT09ICdzaG93LXNlbGVjdGVkJyk7XG4gICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLmdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkKSk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5maWx0ZXJzVXBkYXRlKGZpbHRlcnMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dTZWxlY3RlZFZhbHVlc0VxdWFsKFxuICAgIHByZXY6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgIG5leHQ6IExpc3RGaWx0ZXJNb2RlbFtdXG4gICkge1xuICAgIGNvbnN0IHByZXZTaG93U2VsZWN0ZWRGaWx0ZXIgPSBwcmV2LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgKTtcbiAgICBjb25zdCBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyID0gbmV4dC5maW5kKFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJ1xuICAgICk7XG5cbiAgICBpZiAocHJldlNob3dTZWxlY3RlZEZpbHRlciAmJiBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyKSB7XG4gICAgICByZXR1cm4gcHJldlNob3dTZWxlY3RlZEZpbHRlci52YWx1ZSA9PT0gbmV4dFNob3dTZWxlY3RlZEZpbHRlci52YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1saXN0LXZpZXctY2hlY2tsaXN0XCIgKm5nSWY9XCJhY3RpdmUgfCBhc3luY1wiPlxuICA8ZGl2IFtuZ1N3aXRjaF09XCJzZWxlY3RNb2RlXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cInNpbmdsZVwiPlxuICAgICAgPGRpdiByb2xlPVwicmFkaW9ncm91cFwiPlxuICAgICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgYXN5bmNcIlxuICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICByb2xlPVwicmFkaW9cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1saXN0LXZpZXctY2hlY2tsaXN0LXNpbmdsZS1idXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIihpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYykgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtcm93LXNlbGVjdGVkJzpcbiAgICAgICAgICAgICAgICAoaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmMpXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzaW5nbGVTZWxlY3RSb3dDbGljayhpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cInNreS1lbXBoYXNpemVkXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25cIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPHNreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW1cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgW2NoZWNrZWRdPVwiaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmNcIlxuICAgICAgICAgIChjaGFuZ2UpPVwic2V0SXRlbVNlbGVjdGlvbihpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiIFthdHRyLnRpdGxlXT1cIml0ZW0uZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbGliL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixpQ0FBaUMsRUFDakMsa0NBQWtDLEVBR2xDLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBSUwsT0FBTyxHQUNSLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENB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SUFBSSxLQUFLLGVBQWUsQ0FDNUMsQ0FBQztRQUVGLElBQUksc0JBQXNCLElBQUksc0JBQXNCLEVBQUU7WUFDcEQsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzsySEFwV1UsNkJBQTZCOytHQUE3Qiw2QkFBNkIsK09BWDdCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7U0FDN0Q7UUFDRCxjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLG1CQUFtQjtLQUNwQixzRUMxREgsazNEQXdEQTs0RkRLYSw2QkFBNkI7a0JBZnpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDO3lCQUM3RDt3QkFDRCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtrT0FXM0MsSUFBSTtzQkFEUCxLQUFLO2dCQVlDLE1BQU07c0JBRFosS0FBSztnQkFVQyxrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMsT0FBTztnQkFRUCxXQUFXO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQge1xuICBMaXN0RmlsdGVyTW9kZWwsXG4gIExpc3RTZWxlY3RlZE1vZGVsLFxuICBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RTdGF0ZSxcbiAgTGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uLFxuICBMaXN0Vmlld0NvbXBvbmVudCxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlcic7XG5pbXBvcnQge1xuICBBc3luY0l0ZW0sXG4gIEFzeW5jTGlzdCxcbiAgTGlzdEl0ZW1Nb2RlbCxcbiAgZ2V0RGF0YSxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwIGFzIG9ic2VydmFibGVNYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDaGVja2xpc3RTdGF0ZU1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUubW9kZWwnO1xuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5pbXBvcnQgeyBDaGVja2xpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwgfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgdmlldyBjaGVja2xpc3QgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIHJlcGVhdGVyIGluc3RlYWQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3JlcGVhdGVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBMaXN0Vmlld0NvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIENoZWNrbGlzdFN0YXRlLFxuICAgIENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgICBDaGVja2xpc3RTdGF0ZU1vZGVsLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnRcbiAgZXh0ZW5kcyBMaXN0Vmlld0NvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgdmlldy5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3TmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNlYXJjaCBmdW5jdGlvbiB0byBhcHBseSBvbiB0aGUgdmlldyBkYXRhLlxuICAgKiBUaGUgZGVmYXVsdCBmdW5jdGlvbiBzZWFyY2hlcyB2aWV3IGRhdGEgb24gbGFiZWwsIGRlc2NyaXB0aW9uLFxuICAgKiBhbmQgY2F0ZWdvcnkgaWYgZmllbGQgc2VsZWN0b3JzIGFyZSBkZWZpbmVkIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoOiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4gPVxuICAgIHRoaXMuc2VhcmNoRnVuY3Rpb24oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBsYWJlbCBmaWVsZCBzZWxlY3Rvci5cbiAgICogQGRlZmF1bHQgXCJsYWJlbFwiXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2xhYmVsJylcbiAgcHVibGljIGxhYmVsRmllbGRTZWxlY3RvciA9ICdsYWJlbCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZGVzY3JpcHRpb24gZmllbGQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0IFwiZGVzY3JpcHRpb25cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRlc2NyaXB0aW9uID0gJ2Rlc2NyaXB0aW9uJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHVzZXJzIGNhbiBzZWxlY3QuXG4gICAqIGBcInNpbmdsZVwiYCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBpdGVtIGluIHRoZSBjaGVja2xpc3QsIHdoaWxlIGBcIm11bHRpcGxlXCJgXG4gICAqIGFsbG93cyB1c2VycyB0byBzZWxlY3QgbXVsdGlwbGUgaXRlbXMgaW4gdGhlIGNoZWNrbGlzdC5cbiAgICogQGRlZmF1bHQgXCJtdWx0aXBsZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdE1vZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1vZGUgfHwgJ211bHRpcGxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHNlbGVjdGVkIGl0ZW1zIG9ubHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dPbmx5U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dPbmx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX3NlbGVjdE1vZGUgPSAnbXVsdGlwbGUnO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSWRNYXA6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0U3RhdGU6IENoZWNrbGlzdFN0YXRlLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0RGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZVxuICApIHtcbiAgICBzdXBlcihzdGF0ZSwgJ0NoZWNrbGlzdCBWaWV3Jyk7XG5cbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnQnLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNixcbiAgICAgIG1vcmVJbmZvVXJsOiAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3JlcGVhdGVyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgcmVwZWF0ZXIgaW5zdGVhZC4nLFxuICAgIH0pO1xuXG4gICAgbGV0IGxhc3RVcGRhdGU6IGFueTtcbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGl0ZW1zOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4pID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhQ2hhbmdlZCA9XG4gICAgICAgICAgICBsYXN0VXBkYXRlID09PSB1bmRlZmluZWQgfHwgaXRlbXMubGFzdFVwZGF0ZSAhPT0gbGFzdFVwZGF0ZTtcbiAgICAgICAgICBsYXN0VXBkYXRlID0gaXRlbXMubGFzdFVwZGF0ZTtcbiAgICAgICAgICBjb25zdCBuZXdJdGVtcyA9IGl0ZW1zLml0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsRmllbGRTZWxlY3RvclxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMuZGVzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgICAgbmV3IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uKFxuICAgICAgICAgICAgICBuZXdJdGVtcyxcbiAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgZGF0YUNoYW5nZWQsXG4gICAgICAgICAgICAgIGl0ZW1zLmNvdW50XG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHQpID0+IHQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRJdGVtczogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZElkTWFwID0gc2VsZWN0ZWRJdGVtcy5pdGVtLnNlbGVjdGVkSWRNYXA7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSWYgJ3Nob3ctc2VsZWN0ZWQnIGZpbHRlciBpcyBjaGFuZ2VkIGZyb20gbXVsdGlzZWxlY3QgdG9vbGJhciAobGlzdC1idWlsZGVyKVxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgcHJpdmF0ZSB2YXJpYWJsZSBfc2hvd09ubHlTZWxlY3RlZCBzdGF5cyBpbiBzeW5jLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LmZpbHRlcnMpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQodGhpcy5zaG93U2VsZWN0ZWRWYWx1ZXNFcXVhbClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNob3dTZWxlY3RlZEZpbHRlciA9IGZpbHRlcnMuZmluZChcbiAgICAgICAgICAoZmlsdGVyOiBMaXN0RmlsdGVyTW9kZWwpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNob3dTZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSBzaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXSAmJlxuICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLnByZXZpb3VzVmFsdWVcbiAgICApIHtcbiAgICAgIHRoaXMucmVhcHBseUZpbHRlcihjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlVmlzaWJsZUl0ZW1zKGNoYW5nZTogU2t5Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbnMoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5zaG93T25seVNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5yZWFwcGx5RmlsdGVyKHRoaXMuc2hvd09ubHlTZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uVmlld0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5zZWFyY2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZ1bmN0aW9ucyhbdGhpcy5zZWFyY2hdKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmICh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcikge1xuICAgICAgZmllbGRTZWxlY3RvcnMucHVzaCh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5kZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZpZWxkU2VsZWN0b3JzKGZpZWxkU2VsZWN0b3JzKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24oJ3NlYXJjaCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCk6IE9ic2VydmFibGU8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmNoZWNrbGlzdFN0YXRlLnBpcGUoXG4gICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuaXRlbXMuaXRlbXMpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBsYWJlbCA9IGdldERhdGEoZGF0YSwgdGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGxhYmVsICE9PSBudWxsICYmXG4gICAgICAgICAgbGFiZWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBnZXREYXRhKGRhdGEsIHRoaXMuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSBudWxsICYmXG4gICAgICAgICAgZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGlkKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW1TZWxlY3Rpb24oaXRlbTogTGlzdEl0ZW1Nb2RlbCwgZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbihpdGVtLmlkLCBldmVudC5jaGVja2VkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2luZ2xlU2VsZWN0Um93Q2xpY2soaXRlbTogTGlzdEl0ZW1Nb2RlbCkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oW2l0ZW0uaWRdLCB0cnVlLCB0cnVlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0RmlsdGVyTW9kZWwoe1xuICAgICAgbmFtZTogJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICAgdmFsdWU6IGlzU2VsZWN0ZWQudG9TdHJpbmcoKSxcbiAgICAgIGZpbHRlckZ1bmN0aW9uOiAobW9kZWw6IExpc3RJdGVtTW9kZWwsIHNob3dPbmx5U2VsZWN0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHNob3dPbmx5U2VsZWN0ZWQudG9TdHJpbmcoKSAhPT0gZmFsc2UudG9TdHJpbmcoKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZElkTWFwLmdldChtb2RlbC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYXBwbHlGaWx0ZXIoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuZmlsdGVycyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSAhPT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMuZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQpKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUoZmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwoXG4gICAgcHJldjogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgbmV4dDogTGlzdEZpbHRlck1vZGVsW11cbiAgKSB7XG4gICAgY29uc3QgcHJldlNob3dTZWxlY3RlZEZpbHRlciA9IHByZXYuZmluZChcbiAgICAgIChmaWx0ZXIpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICApO1xuICAgIGNvbnN0IG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIgPSBuZXh0LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgKTtcblxuICAgIGlmIChwcmV2U2hvd1NlbGVjdGVkRmlsdGVyICYmIG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHJldHVybiBwcmV2U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3RcIiAqbmdJZj1cImFjdGl2ZSB8IGFzeW5jXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cInNlbGVjdE1vZGVcIj5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwic2luZ2xlXCI+XG4gICAgICA8ZGl2IHJvbGU9XCJyYWRpb2dyb3VwXCI+XG4gICAgICAgIDxza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKGl0ZW1TZWxlY3RlZChpdGVtLmlkKSB8IGFzeW5jKSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1yb3ctc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYylcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luY1wiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZXRJdGVtU2VsZWN0aW9uKGl0ZW0sICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgW2F0dHIudGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICA8L3NreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -10,11 +10,11 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
*/
|
|
11
11
|
export class SkyListViewChecklistModule {
|
|
12
12
|
}
|
|
13
|
-
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
14
|
-
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
13
|
+
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
15
15
|
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
|
|
16
|
-
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
16
|
+
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, imports: [CommonModule, FormsModule, SkyCheckboxModule] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
18
18
|
type: NgModule,
|
|
19
19
|
args: [{
|
|
20
20
|
declarations: [
|
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
25
25
|
exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],
|
|
26
26
|
}]
|
|
27
27
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRWhGOztHQUVHO0FBU0gsTUFBTSxPQUFPLDBCQUEwQjs7d0hBQTFCLDBCQUEwQjt5SEFBMUIsMEJBQTBCLGlCQU5uQyw2QkFBNkI7UUFDN0IsaUNBQWlDLGFBRXpCLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLGFBQzVDLDZCQUE2QixFQUFFLGlDQUFpQzt5SEFFL0QsMEJBQTBCLFlBSDNCLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCOzRGQUczQywwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDO29CQUN2RCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxpQ0FBaUMsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgdmlldyBjaGVja2xpc3QgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIHJlcGVhdGVyIGluc3RlYWQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3JlcGVhdGVyLlxuICovXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCxcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTa3lDaGVja2JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCwgU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -6,11 +6,11 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
*/
|
|
7
7
|
export class ChecklistStateDispatcher extends StateDispatcher {
|
|
8
8
|
}
|
|
9
|
-
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
10
|
-
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
9
|
+
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
+
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
12
12
|
type: Injectable
|
|
13
13
|
}] });
|
|
14
14
|
export class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5yeHN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUloRjs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFxQzs7c0hBQXRFLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7O0FBR1gsTUFBTSxPQUFPLDBCQUE4QixTQUFRLGlCQUdsRDtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGVEaXNwYXRjaGVyLCBTdGF0ZU9yY2hlc3RyYXRvciB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVBY3Rpb24gfSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciBleHRlbmRzIFN0YXRlRGlzcGF0Y2hlcjxDaGVja2xpc3RTdGF0ZUFjdGlvbj4ge31cblxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdFN0YXRlT3JjaGVzdHJhdG9yPFQ+IGV4dGVuZHMgU3RhdGVPcmNoZXN0cmF0b3I8XG4gIFQsXG4gIENoZWNrbGlzdFN0YXRlQWN0aW9uXG4+IHt9XG4iXX0=
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { StateNode } from '@skyux/list-builder-common';
|
|
3
|
-
import { ChecklistStateModel } from './checklist-state.model';
|
|
4
|
-
import { ChecklistStateDispatcher } from './checklist-state.rxstate';
|
|
5
3
|
import { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
import * as i1 from "./checklist-state.model";
|
|
@@ -15,9 +13,9 @@ export class ChecklistState extends StateNode {
|
|
|
15
13
|
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
|
-
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
19
|
-
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
16
|
+
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, deps: [{ token: i1.ChecklistStateModel }, { token: i2.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, decorators: [{
|
|
21
19
|
type: Injectable
|
|
22
20
|
}], ctorParameters: function () { return [{ type: i1.ChecklistStateModel }, { type: i2.ChecklistStateDispatcher }]; } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRWhGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUE4QjtJQUNoRSxZQUNFLFlBQWlDLEVBQ2pDLFVBQW9DO1FBRXBDLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsa0NBQWtDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyRSxDQUFDOzs0R0FSVSxjQUFjO2dIQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlTm9kZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVNb2RlbCB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtc09yY2hlc3RyYXRvciB9IGZyb20gJy4vaXRlbXMvaXRlbXMub3JjaGVzdHJhdG9yJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8Q2hlY2tsaXN0U3RhdGVNb2RlbD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbml0aWFsU3RhdGU6IENoZWNrbGlzdFN0YXRlTW9kZWwsXG4gICAgZGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSwgZGlzcGF0Y2hlcik7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKCdpdGVtcycsIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNPcmNoZXN0cmF0b3IpLmJlZ2luKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,9 +17,9 @@ import * as i4 from '@skyux/core';
|
|
|
17
17
|
*/
|
|
18
18
|
class SkyListViewChecklistItemComponent {
|
|
19
19
|
}
|
|
20
|
-
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
21
|
-
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
20
|
+
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
|
|
25
25
|
}], propDecorators: { item: [{
|
|
@@ -40,9 +40,9 @@ class ChecklistStateModel {
|
|
|
40
40
|
*/
|
|
41
41
|
class ChecklistStateDispatcher extends StateDispatcher {
|
|
42
42
|
}
|
|
43
|
-
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
44
|
-
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
43
|
+
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
46
46
|
type: Injectable
|
|
47
47
|
}] });
|
|
48
48
|
class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
@@ -100,9 +100,9 @@ class ChecklistState extends StateNode {
|
|
|
100
100
|
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
104
|
-
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
103
|
+
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, deps: [{ token: ChecklistStateModel }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
+
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, decorators: [{
|
|
106
106
|
type: Injectable
|
|
107
107
|
}], ctorParameters: function () { return [{ type: ChecklistStateModel }, { type: ChecklistStateDispatcher }]; } });
|
|
108
108
|
|
|
@@ -348,8 +348,8 @@ class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
348
348
|
return true;
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
|
-
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
352
|
-
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
351
|
+
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: ChecklistState }, { token: ChecklistStateDispatcher }, { token: i4.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
352
|
+
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
353
353
|
{
|
|
354
354
|
provide: ListViewComponent,
|
|
355
355
|
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
@@ -358,7 +358,7 @@ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
358
358
|
ChecklistStateDispatcher,
|
|
359
359
|
ChecklistStateModel,
|
|
360
360
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i6.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
362
362
|
type: Component,
|
|
363
363
|
args: [{ selector: 'sky-list-view-checklist', providers: [
|
|
364
364
|
{
|
|
@@ -389,11 +389,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
389
389
|
*/
|
|
390
390
|
class SkyListViewChecklistModule {
|
|
391
391
|
}
|
|
392
|
-
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
393
|
-
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
392
|
+
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
393
|
+
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
394
394
|
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
|
|
395
|
-
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
395
|
+
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, imports: [CommonModule, FormsModule, SkyCheckboxModule] });
|
|
396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
397
397
|
type: NgModule,
|
|
398
398
|
args: [{
|
|
399
399
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder-view-checklist.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/item.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.module.ts","../../../../../libs/components/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'sky-list-view-checklist-item',\n templateUrl: './list-view-checklist-item.component.html',\n styleUrls: ['./list-view-checklist-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistItemComponent {\n @Input()\n public item: ListViewChecklistItemModel;\n}\n","<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\n/**\n * @deprecated\n */\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistStateDispatcher extends StateDispatcher<ChecklistStateAction> {}\n\nexport class ChecklistStateOrchestrator<T> extends StateOrchestrator<\n T,\n ChecklistStateAction\n> {}\n","/**\n * @deprecated\n */\nexport class ListViewChecklistItemModel {\n public id: string;\n public label: string;\n public description: string;\n\n constructor(id: string, data?: any) {\n this.id = id;\n\n if (data) {\n this.label = data.label;\n this.description = data.description;\n }\n }\n}\n","import { ListViewChecklistItemModel } from './item.model';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsLoadAction {\n constructor(\n public items: Array<ListViewChecklistItemModel> = [],\n public refresh: boolean = false,\n public dataChanged: boolean = true,\n public itemCount: number = items.length\n ) {}\n}\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { ListViewChecklistItemModel } from './item.model';\nimport { ListViewChecklistItemsLoadAction } from './load.action';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrator<\n AsyncList<ListViewChecklistItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n this.register(ListViewChecklistItemsLoadAction, this.load);\n }\n\n private load(\n state: AsyncList<ListViewChecklistItemModel>,\n action: ListViewChecklistItemsLoadAction\n ): AsyncList<ListViewChecklistItemModel> {\n const newListItems = action.items.map(\n (item) => new ListViewChecklistItemModel(item.id, item)\n );\n\n if (action.refresh) {\n return new AsyncList<ListViewChecklistItemModel>(\n [...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n state.count\n );\n }\n\n return new AsyncList<ListViewChecklistItemModel>(\n [...state.items, ...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n action.itemCount\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistState extends StateNode<ChecklistStateModel> {\n constructor(\n initialState: ChecklistStateModel,\n dispatcher: ChecklistStateDispatcher\n ) {\n super(initialState, dispatcher);\n\n this.register('items', ListViewChecklistItemsOrchestrator).begin();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n forwardRef,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport {\n ListFilterModel,\n ListSelectedModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListState,\n ListStateDispatcher,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\nimport {\n AsyncItem,\n AsyncList,\n ListItemModel,\n getData,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\nimport { ChecklistState } from './state/checklist-state.state-node';\nimport { ListViewChecklistItemModel } from './state/items/item.model';\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@Component({\n selector: 'sky-list-view-checklist',\n templateUrl: './list-view-checklist.component.html',\n styleUrls: ['./list-view-checklist.component.scss'],\n providers: [\n {\n provide: ListViewComponent,\n useExisting: forwardRef(() => SkyListViewChecklistComponent),\n },\n ChecklistState,\n ChecklistStateDispatcher,\n ChecklistStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistComponent\n extends ListViewComponent\n implements OnInit, OnDestroy, OnChanges\n{\n /**\n * Specifies the name of the view.\n * @required\n */\n @Input()\n set name(value: string) {\n this.viewName = value;\n }\n\n /**\n * Specifies a search function to apply on the view data.\n * The default function searches view data on label, description,\n * and category if field selectors are defined for the given field.\n * @default default search function\n */\n @Input()\n public search: (data: any, searchText: string) => boolean =\n this.searchFunction();\n\n /**\n * Specifies the name of the label field selector.\n * @default \"label\"\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label')\n public labelFieldSelector = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default \"description\"\n */\n @Input()\n public description = 'description';\n\n /**\n * Specifies how many items users can select.\n * `\"single\"` allows users to select one item in the checklist, while `\"multiple\"`\n * allows users to select multiple items in the checklist.\n * @default \"multiple\"\n */\n @Input()\n public set selectMode(value: string) {\n this._selectMode = value;\n\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n } else {\n this.showOnlySelected = false;\n this.dispatcher.toolbarShowMultiselectToolbar(false);\n }\n\n this.reapplyFilter(this.showOnlySelected);\n }\n\n public get selectMode(): string {\n return this._selectMode || 'multiple';\n }\n\n /**\n * Indicates whether to display selected items only.\n * @default false\n */\n @Input()\n public set showOnlySelected(value: boolean) {\n this._showOnlySelected = value;\n }\n\n public get showOnlySelected(): boolean {\n return this._showOnlySelected;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher,\n logger: SkyLogService\n ) {\n super(state, 'Checklist View');\n\n logger.deprecated('SkyListViewChecklistComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/repeater',\n replacementRecommendation: 'Use repeater instead.',\n });\n\n let lastUpdate: any;\n this.state\n .pipe(\n observableMap((s) => s.items),\n distinctUntilChanged(),\n observableMap((items: AsyncList<ListItemModel>) => {\n const dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n const newItems = items.items.map((item) => {\n return new ListViewChecklistItemModel(item.id, {\n label: this.labelFieldSelector\n ? getData(item.data, this.labelFieldSelector)\n : undefined,\n description: this.description\n ? getData(item.data, this.description)\n : undefined,\n });\n });\n\n this.checklistDispatcher.next(\n new ListViewChecklistItemsLoadAction(\n newItems,\n true,\n dataChanged,\n items.count\n )\n );\n })\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe();\n\n this.state\n .pipe(\n observableMap((t) => t.selected),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((selectedItems: AsyncItem<ListSelectedModel>) => {\n this._selectedIdMap = selectedItems.item.selectedIdMap;\n });\n }\n\n public ngOnInit() {\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n }\n\n // If 'show-selected' filter is changed from multiselect toolbar (list-builder)\n // make sure the private variable _showOnlySelected stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter: ListFilterModel) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this._showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (\n changes['showOnlySelected'] &&\n changes['showOnlySelected'].currentValue !==\n changes['showOnlySelected'].previousValue\n ) {\n this.reapplyFilter(changes['showOnlySelected'].currentValue);\n }\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public changeVisibleItems(change: SkyCheckboxChange) {\n this.showOnlySelected = change.checked;\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public clearSelections() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n false,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public selectAll() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n true,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public onViewActive() {\n if (this.search !== undefined) {\n this.dispatcher.searchSetFunctions([this.search]);\n }\n\n const fieldSelectors: Array<string> = [];\n if (this.labelFieldSelector) {\n fieldSelectors.push(this.labelFieldSelector);\n }\n\n if (this.description) {\n fieldSelectors.push(this.description);\n }\n\n this.dispatcher.searchSetFieldSelectors(fieldSelectors);\n\n this.dispatcher.next(new ListToolbarSetTypeAction('search'));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get items(): Observable<ListViewChecklistItemModel[]> {\n return this.checklistState.pipe(\n observableMap((state) => state.items.items)\n );\n }\n\n public searchFunction() {\n return (data: any, searchText: string) => {\n if (this.labelFieldSelector !== undefined) {\n const label = getData(data, this.labelFieldSelector);\n if (\n label !== undefined &&\n label !== null &&\n label.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n if (this.description !== undefined) {\n const description = getData(data, this.description);\n if (\n description !== undefined &&\n description !== null &&\n description.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n public itemSelected(id: string): Observable<boolean> {\n return this.state.pipe(\n observableMap((state) => state.selected.item.selectedIdMap.get(id))\n );\n }\n\n public setItemSelection(item: ListItemModel, event: any) {\n this.dispatcher.next(\n new ListSelectedSetItemSelectedAction(item.id, event.checked)\n );\n }\n\n public singleSelectRowClick(item: ListItemModel) {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction([item.id], true, true)\n );\n }\n\n private getShowSelectedFilter(isSelected: boolean) {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this._selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private reapplyFilter(isSelected: boolean) {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ) {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n if (prevShowSelectedFilter && nextShowSelectedFilter) {\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n return true;\n }\n}\n","<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@NgModule({\n declarations: [\n SkyListViewChecklistComponent,\n SkyListViewChecklistItemComponent,\n ],\n imports: [CommonModule, FormsModule, SkyCheckboxModule],\n exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],\n})\nexport class SkyListViewChecklistModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ChecklistStateModel","i2.ChecklistStateDispatcher","observableMap","i2.ChecklistState","i3.ChecklistStateDispatcher","i7.SkyListViewChecklistItemComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-list-builder-view-checklist.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/item.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.module.ts","../../../../../libs/components/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'sky-list-view-checklist-item',\n templateUrl: './list-view-checklist-item.component.html',\n styleUrls: ['./list-view-checklist-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistItemComponent {\n @Input()\n public item: ListViewChecklistItemModel;\n}\n","<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\n/**\n * @deprecated\n */\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistStateDispatcher extends StateDispatcher<ChecklistStateAction> {}\n\nexport class ChecklistStateOrchestrator<T> extends StateOrchestrator<\n T,\n ChecklistStateAction\n> {}\n","/**\n * @deprecated\n */\nexport class ListViewChecklistItemModel {\n public id: string;\n public label: string;\n public description: string;\n\n constructor(id: string, data?: any) {\n this.id = id;\n\n if (data) {\n this.label = data.label;\n this.description = data.description;\n }\n }\n}\n","import { ListViewChecklistItemModel } from './item.model';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsLoadAction {\n constructor(\n public items: Array<ListViewChecklistItemModel> = [],\n public refresh: boolean = false,\n public dataChanged: boolean = true,\n public itemCount: number = items.length\n ) {}\n}\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { ListViewChecklistItemModel } from './item.model';\nimport { ListViewChecklistItemsLoadAction } from './load.action';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrator<\n AsyncList<ListViewChecklistItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n this.register(ListViewChecklistItemsLoadAction, this.load);\n }\n\n private load(\n state: AsyncList<ListViewChecklistItemModel>,\n action: ListViewChecklistItemsLoadAction\n ): AsyncList<ListViewChecklistItemModel> {\n const newListItems = action.items.map(\n (item) => new ListViewChecklistItemModel(item.id, item)\n );\n\n if (action.refresh) {\n return new AsyncList<ListViewChecklistItemModel>(\n [...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n state.count\n );\n }\n\n return new AsyncList<ListViewChecklistItemModel>(\n [...state.items, ...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n action.itemCount\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistState extends StateNode<ChecklistStateModel> {\n constructor(\n initialState: ChecklistStateModel,\n dispatcher: ChecklistStateDispatcher\n ) {\n super(initialState, dispatcher);\n\n this.register('items', ListViewChecklistItemsOrchestrator).begin();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n forwardRef,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport {\n ListFilterModel,\n ListSelectedModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListState,\n ListStateDispatcher,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\nimport {\n AsyncItem,\n AsyncList,\n ListItemModel,\n getData,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\nimport { ChecklistState } from './state/checklist-state.state-node';\nimport { ListViewChecklistItemModel } from './state/items/item.model';\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@Component({\n selector: 'sky-list-view-checklist',\n templateUrl: './list-view-checklist.component.html',\n styleUrls: ['./list-view-checklist.component.scss'],\n providers: [\n {\n provide: ListViewComponent,\n useExisting: forwardRef(() => SkyListViewChecklistComponent),\n },\n ChecklistState,\n ChecklistStateDispatcher,\n ChecklistStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistComponent\n extends ListViewComponent\n implements OnInit, OnDestroy, OnChanges\n{\n /**\n * Specifies the name of the view.\n * @required\n */\n @Input()\n set name(value: string) {\n this.viewName = value;\n }\n\n /**\n * Specifies a search function to apply on the view data.\n * The default function searches view data on label, description,\n * and category if field selectors are defined for the given field.\n * @default default search function\n */\n @Input()\n public search: (data: any, searchText: string) => boolean =\n this.searchFunction();\n\n /**\n * Specifies the name of the label field selector.\n * @default \"label\"\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label')\n public labelFieldSelector = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default \"description\"\n */\n @Input()\n public description = 'description';\n\n /**\n * Specifies how many items users can select.\n * `\"single\"` allows users to select one item in the checklist, while `\"multiple\"`\n * allows users to select multiple items in the checklist.\n * @default \"multiple\"\n */\n @Input()\n public set selectMode(value: string) {\n this._selectMode = value;\n\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n } else {\n this.showOnlySelected = false;\n this.dispatcher.toolbarShowMultiselectToolbar(false);\n }\n\n this.reapplyFilter(this.showOnlySelected);\n }\n\n public get selectMode(): string {\n return this._selectMode || 'multiple';\n }\n\n /**\n * Indicates whether to display selected items only.\n * @default false\n */\n @Input()\n public set showOnlySelected(value: boolean) {\n this._showOnlySelected = value;\n }\n\n public get showOnlySelected(): boolean {\n return this._showOnlySelected;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher,\n logger: SkyLogService\n ) {\n super(state, 'Checklist View');\n\n logger.deprecated('SkyListViewChecklistComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/repeater',\n replacementRecommendation: 'Use repeater instead.',\n });\n\n let lastUpdate: any;\n this.state\n .pipe(\n observableMap((s) => s.items),\n distinctUntilChanged(),\n observableMap((items: AsyncList<ListItemModel>) => {\n const dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n const newItems = items.items.map((item) => {\n return new ListViewChecklistItemModel(item.id, {\n label: this.labelFieldSelector\n ? getData(item.data, this.labelFieldSelector)\n : undefined,\n description: this.description\n ? getData(item.data, this.description)\n : undefined,\n });\n });\n\n this.checklistDispatcher.next(\n new ListViewChecklistItemsLoadAction(\n newItems,\n true,\n dataChanged,\n items.count\n )\n );\n })\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe();\n\n this.state\n .pipe(\n observableMap((t) => t.selected),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((selectedItems: AsyncItem<ListSelectedModel>) => {\n this._selectedIdMap = selectedItems.item.selectedIdMap;\n });\n }\n\n public ngOnInit() {\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n }\n\n // If 'show-selected' filter is changed from multiselect toolbar (list-builder)\n // make sure the private variable _showOnlySelected stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter: ListFilterModel) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this._showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (\n changes['showOnlySelected'] &&\n changes['showOnlySelected'].currentValue !==\n changes['showOnlySelected'].previousValue\n ) {\n this.reapplyFilter(changes['showOnlySelected'].currentValue);\n }\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public changeVisibleItems(change: SkyCheckboxChange) {\n this.showOnlySelected = change.checked;\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public clearSelections() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n false,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public selectAll() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n true,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public onViewActive() {\n if (this.search !== undefined) {\n this.dispatcher.searchSetFunctions([this.search]);\n }\n\n const fieldSelectors: Array<string> = [];\n if (this.labelFieldSelector) {\n fieldSelectors.push(this.labelFieldSelector);\n }\n\n if (this.description) {\n fieldSelectors.push(this.description);\n }\n\n this.dispatcher.searchSetFieldSelectors(fieldSelectors);\n\n this.dispatcher.next(new ListToolbarSetTypeAction('search'));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get items(): Observable<ListViewChecklistItemModel[]> {\n return this.checklistState.pipe(\n observableMap((state) => state.items.items)\n );\n }\n\n public searchFunction() {\n return (data: any, searchText: string) => {\n if (this.labelFieldSelector !== undefined) {\n const label = getData(data, this.labelFieldSelector);\n if (\n label !== undefined &&\n label !== null &&\n label.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n if (this.description !== undefined) {\n const description = getData(data, this.description);\n if (\n description !== undefined &&\n description !== null &&\n description.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n public itemSelected(id: string): Observable<boolean> {\n return this.state.pipe(\n observableMap((state) => state.selected.item.selectedIdMap.get(id))\n );\n }\n\n public setItemSelection(item: ListItemModel, event: any) {\n this.dispatcher.next(\n new ListSelectedSetItemSelectedAction(item.id, event.checked)\n );\n }\n\n public singleSelectRowClick(item: ListItemModel) {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction([item.id], true, true)\n );\n }\n\n private getShowSelectedFilter(isSelected: boolean) {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this._selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private reapplyFilter(isSelected: boolean) {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ) {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n if (prevShowSelectedFilter && nextShowSelectedFilter) {\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n return true;\n }\n}\n","<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@NgModule({\n declarations: [\n SkyListViewChecklistComponent,\n SkyListViewChecklistItemComponent,\n ],\n imports: [CommonModule, FormsModule, SkyCheckboxModule],\n exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],\n})\nexport class SkyListViewChecklistModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ChecklistStateModel","i2.ChecklistStateDispatcher","observableMap","i2.ChecklistState","i3.ChecklistStateDispatcher","i7.SkyListViewChecklistItemComponent"],"mappings":"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"}
|
|
@@ -5,34 +5,21 @@ import { Component, ChangeDetectionStrategy, Input, Injectable, forwardRef, NgMo
|
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
6
6
|
import * as i6 from '@skyux/forms';
|
|
7
7
|
import { SkyCheckboxModule } from '@skyux/forms';
|
|
8
|
-
import * as i4 from '@skyux/core';
|
|
9
8
|
import * as i1 from '@skyux/list-builder';
|
|
10
9
|
import { ListViewComponent, ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListSelectedSetItemSelectedAction, ListFilterModel } from '@skyux/list-builder';
|
|
11
10
|
import { AsyncList, StateDispatcher, StateOrchestrator, StateNode, getData } from '@skyux/list-builder-common';
|
|
12
11
|
import { Subject } from 'rxjs';
|
|
13
12
|
import { map, distinctUntilChanged, takeUntil, take } from 'rxjs/operators';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated
|
|
17
|
-
*/
|
|
18
|
-
class ListViewChecklistItemModel {
|
|
19
|
-
constructor(id, data) {
|
|
20
|
-
this.id = id;
|
|
21
|
-
if (data) {
|
|
22
|
-
this.label = data.label;
|
|
23
|
-
this.description = data.description;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
13
|
+
import * as i4 from '@skyux/core';
|
|
27
14
|
|
|
28
15
|
/**
|
|
29
16
|
* @deprecated
|
|
30
17
|
*/
|
|
31
18
|
class SkyListViewChecklistItemComponent {
|
|
32
19
|
}
|
|
33
|
-
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
34
|
-
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
20
|
+
SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
|
|
36
23
|
type: Component,
|
|
37
24
|
args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
|
|
38
25
|
}], propDecorators: { item: [{
|
|
@@ -53,14 +40,27 @@ class ChecklistStateModel {
|
|
|
53
40
|
*/
|
|
54
41
|
class ChecklistStateDispatcher extends StateDispatcher {
|
|
55
42
|
}
|
|
56
|
-
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
57
|
-
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
43
|
+
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
44
|
+
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
59
46
|
type: Injectable
|
|
60
47
|
}] });
|
|
61
48
|
class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
62
49
|
}
|
|
63
50
|
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated
|
|
53
|
+
*/
|
|
54
|
+
class ListViewChecklistItemModel {
|
|
55
|
+
constructor(id, data) {
|
|
56
|
+
this.id = id;
|
|
57
|
+
if (data) {
|
|
58
|
+
this.label = data.label;
|
|
59
|
+
this.description = data.description;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
64
|
/**
|
|
65
65
|
* @deprecated
|
|
66
66
|
*/
|
|
@@ -100,9 +100,9 @@ class ChecklistState extends StateNode {
|
|
|
100
100
|
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
104
|
-
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
103
|
+
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, deps: [{ token: ChecklistStateModel }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
104
|
+
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState });
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ChecklistState, decorators: [{
|
|
106
106
|
type: Injectable
|
|
107
107
|
}], ctorParameters: function () { return [{ type: ChecklistStateModel }, { type: ChecklistStateDispatcher }]; } });
|
|
108
108
|
|
|
@@ -348,8 +348,8 @@ class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
348
348
|
return true;
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
|
-
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
352
|
-
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
351
|
+
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: ChecklistState }, { token: ChecklistStateDispatcher }, { token: i4.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
352
|
+
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
353
353
|
{
|
|
354
354
|
provide: ListViewComponent,
|
|
355
355
|
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
@@ -358,7 +358,7 @@ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
358
358
|
ChecklistStateDispatcher,
|
|
359
359
|
ChecklistStateModel,
|
|
360
360
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i6.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
362
362
|
type: Component,
|
|
363
363
|
args: [{ selector: 'sky-list-view-checklist', providers: [
|
|
364
364
|
{
|
|
@@ -389,11 +389,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
389
389
|
*/
|
|
390
390
|
class SkyListViewChecklistModule {
|
|
391
391
|
}
|
|
392
|
-
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
393
|
-
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
392
|
+
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
393
|
+
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
394
394
|
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
|
|
395
|
-
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
395
|
+
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, imports: [CommonModule, FormsModule, SkyCheckboxModule] });
|
|
396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
397
397
|
type: NgModule,
|
|
398
398
|
args: [{
|
|
399
399
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder-view-checklist.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/item.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.module.ts","../../../../../libs/components/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["/**\n * @deprecated\n */\nexport class ListViewChecklistItemModel {\n public id: string;\n public label: string;\n public description: string;\n\n constructor(id: string, data?: any) {\n this.id = id;\n\n if (data) {\n this.label = data.label;\n this.description = data.description;\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'sky-list-view-checklist-item',\n templateUrl: './list-view-checklist-item.component.html',\n styleUrls: ['./list-view-checklist-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistItemComponent {\n @Input()\n public item: ListViewChecklistItemModel;\n}\n","<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\n/**\n * @deprecated\n */\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistStateDispatcher extends StateDispatcher<ChecklistStateAction> {}\n\nexport class ChecklistStateOrchestrator<T> extends StateOrchestrator<\n T,\n ChecklistStateAction\n> {}\n","import { ListViewChecklistItemModel } from './item.model';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsLoadAction {\n constructor(\n public items: Array<ListViewChecklistItemModel> = [],\n public refresh: boolean = false,\n public dataChanged: boolean = true,\n public itemCount: number = items.length\n ) {}\n}\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { ListViewChecklistItemModel } from './item.model';\nimport { ListViewChecklistItemsLoadAction } from './load.action';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrator<\n AsyncList<ListViewChecklistItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n this.register(ListViewChecklistItemsLoadAction, this.load);\n }\n\n private load(\n state: AsyncList<ListViewChecklistItemModel>,\n action: ListViewChecklistItemsLoadAction\n ): AsyncList<ListViewChecklistItemModel> {\n const newListItems = action.items.map(\n (item) => new ListViewChecklistItemModel(item.id, item)\n );\n\n if (action.refresh) {\n return new AsyncList<ListViewChecklistItemModel>(\n [...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n state.count\n );\n }\n\n return new AsyncList<ListViewChecklistItemModel>(\n [...state.items, ...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n action.itemCount\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistState extends StateNode<ChecklistStateModel> {\n constructor(\n initialState: ChecklistStateModel,\n dispatcher: ChecklistStateDispatcher\n ) {\n super(initialState, dispatcher);\n\n this.register('items', ListViewChecklistItemsOrchestrator).begin();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n forwardRef,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport {\n ListFilterModel,\n ListSelectedModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListState,\n ListStateDispatcher,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\nimport {\n AsyncItem,\n AsyncList,\n ListItemModel,\n getData,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\nimport { ChecklistState } from './state/checklist-state.state-node';\nimport { ListViewChecklistItemModel } from './state/items/item.model';\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@Component({\n selector: 'sky-list-view-checklist',\n templateUrl: './list-view-checklist.component.html',\n styleUrls: ['./list-view-checklist.component.scss'],\n providers: [\n {\n provide: ListViewComponent,\n useExisting: forwardRef(() => SkyListViewChecklistComponent),\n },\n ChecklistState,\n ChecklistStateDispatcher,\n ChecklistStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistComponent\n extends ListViewComponent\n implements OnInit, OnDestroy, OnChanges\n{\n /**\n * Specifies the name of the view.\n * @required\n */\n @Input()\n set name(value: string) {\n this.viewName = value;\n }\n\n /**\n * Specifies a search function to apply on the view data.\n * The default function searches view data on label, description,\n * and category if field selectors are defined for the given field.\n * @default default search function\n */\n @Input()\n public search: (data: any, searchText: string) => boolean =\n this.searchFunction();\n\n /**\n * Specifies the name of the label field selector.\n * @default \"label\"\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label')\n public labelFieldSelector = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default \"description\"\n */\n @Input()\n public description = 'description';\n\n /**\n * Specifies how many items users can select.\n * `\"single\"` allows users to select one item in the checklist, while `\"multiple\"`\n * allows users to select multiple items in the checklist.\n * @default \"multiple\"\n */\n @Input()\n public set selectMode(value: string) {\n this._selectMode = value;\n\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n } else {\n this.showOnlySelected = false;\n this.dispatcher.toolbarShowMultiselectToolbar(false);\n }\n\n this.reapplyFilter(this.showOnlySelected);\n }\n\n public get selectMode(): string {\n return this._selectMode || 'multiple';\n }\n\n /**\n * Indicates whether to display selected items only.\n * @default false\n */\n @Input()\n public set showOnlySelected(value: boolean) {\n this._showOnlySelected = value;\n }\n\n public get showOnlySelected(): boolean {\n return this._showOnlySelected;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher,\n logger: SkyLogService\n ) {\n super(state, 'Checklist View');\n\n logger.deprecated('SkyListViewChecklistComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/repeater',\n replacementRecommendation: 'Use repeater instead.',\n });\n\n let lastUpdate: any;\n this.state\n .pipe(\n observableMap((s) => s.items),\n distinctUntilChanged(),\n observableMap((items: AsyncList<ListItemModel>) => {\n const dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n const newItems = items.items.map((item) => {\n return new ListViewChecklistItemModel(item.id, {\n label: this.labelFieldSelector\n ? getData(item.data, this.labelFieldSelector)\n : undefined,\n description: this.description\n ? getData(item.data, this.description)\n : undefined,\n });\n });\n\n this.checklistDispatcher.next(\n new ListViewChecklistItemsLoadAction(\n newItems,\n true,\n dataChanged,\n items.count\n )\n );\n })\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe();\n\n this.state\n .pipe(\n observableMap((t) => t.selected),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((selectedItems: AsyncItem<ListSelectedModel>) => {\n this._selectedIdMap = selectedItems.item.selectedIdMap;\n });\n }\n\n public ngOnInit() {\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n }\n\n // If 'show-selected' filter is changed from multiselect toolbar (list-builder)\n // make sure the private variable _showOnlySelected stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter: ListFilterModel) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this._showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (\n changes['showOnlySelected'] &&\n changes['showOnlySelected'].currentValue !==\n changes['showOnlySelected'].previousValue\n ) {\n this.reapplyFilter(changes['showOnlySelected'].currentValue);\n }\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public changeVisibleItems(change: SkyCheckboxChange) {\n this.showOnlySelected = change.checked;\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public clearSelections() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n false,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public selectAll() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n true,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public onViewActive() {\n if (this.search !== undefined) {\n this.dispatcher.searchSetFunctions([this.search]);\n }\n\n const fieldSelectors: Array<string> = [];\n if (this.labelFieldSelector) {\n fieldSelectors.push(this.labelFieldSelector);\n }\n\n if (this.description) {\n fieldSelectors.push(this.description);\n }\n\n this.dispatcher.searchSetFieldSelectors(fieldSelectors);\n\n this.dispatcher.next(new ListToolbarSetTypeAction('search'));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get items(): Observable<ListViewChecklistItemModel[]> {\n return this.checklistState.pipe(\n observableMap((state) => state.items.items)\n );\n }\n\n public searchFunction() {\n return (data: any, searchText: string) => {\n if (this.labelFieldSelector !== undefined) {\n const label = getData(data, this.labelFieldSelector);\n if (\n label !== undefined &&\n label !== null &&\n label.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n if (this.description !== undefined) {\n const description = getData(data, this.description);\n if (\n description !== undefined &&\n description !== null &&\n description.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n public itemSelected(id: string): Observable<boolean> {\n return this.state.pipe(\n observableMap((state) => state.selected.item.selectedIdMap.get(id))\n );\n }\n\n public setItemSelection(item: ListItemModel, event: any) {\n this.dispatcher.next(\n new ListSelectedSetItemSelectedAction(item.id, event.checked)\n );\n }\n\n public singleSelectRowClick(item: ListItemModel) {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction([item.id], true, true)\n );\n }\n\n private getShowSelectedFilter(isSelected: boolean) {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this._selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private reapplyFilter(isSelected: boolean) {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ) {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n if (prevShowSelectedFilter && nextShowSelectedFilter) {\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n return true;\n }\n}\n","<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@NgModule({\n declarations: [\n SkyListViewChecklistComponent,\n SkyListViewChecklistItemComponent,\n ],\n imports: [CommonModule, FormsModule, SkyCheckboxModule],\n exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],\n})\nexport class SkyListViewChecklistModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ChecklistStateModel","i2.ChecklistStateDispatcher","observableMap","i2.ChecklistState","i3.ChecklistStateDispatcher","i7.SkyListViewChecklistItemComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-list-builder-view-checklist.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/item.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.module.ts","../../../../../libs/components/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'sky-list-view-checklist-item',\n templateUrl: './list-view-checklist-item.component.html',\n styleUrls: ['./list-view-checklist-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistItemComponent {\n @Input()\n public item: ListViewChecklistItemModel;\n}\n","<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\n/**\n * @deprecated\n */\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistStateDispatcher extends StateDispatcher<ChecklistStateAction> {}\n\nexport class ChecklistStateOrchestrator<T> extends StateOrchestrator<\n T,\n ChecklistStateAction\n> {}\n","/**\n * @deprecated\n */\nexport class ListViewChecklistItemModel {\n public id: string;\n public label: string;\n public description: string;\n\n constructor(id: string, data?: any) {\n this.id = id;\n\n if (data) {\n this.label = data.label;\n this.description = data.description;\n }\n }\n}\n","import { ListViewChecklistItemModel } from './item.model';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsLoadAction {\n constructor(\n public items: Array<ListViewChecklistItemModel> = [],\n public refresh: boolean = false,\n public dataChanged: boolean = true,\n public itemCount: number = items.length\n ) {}\n}\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { ListViewChecklistItemModel } from './item.model';\nimport { ListViewChecklistItemsLoadAction } from './load.action';\n\n/**\n * @deprecated\n */\nexport class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrator<\n AsyncList<ListViewChecklistItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n this.register(ListViewChecklistItemsLoadAction, this.load);\n }\n\n private load(\n state: AsyncList<ListViewChecklistItemModel>,\n action: ListViewChecklistItemsLoadAction\n ): AsyncList<ListViewChecklistItemModel> {\n const newListItems = action.items.map(\n (item) => new ListViewChecklistItemModel(item.id, item)\n );\n\n if (action.refresh) {\n return new AsyncList<ListViewChecklistItemModel>(\n [...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n state.count\n );\n }\n\n return new AsyncList<ListViewChecklistItemModel>(\n [...state.items, ...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n action.itemCount\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\n\n/**\n * @deprecated\n */\n@Injectable()\nexport class ChecklistState extends StateNode<ChecklistStateModel> {\n constructor(\n initialState: ChecklistStateModel,\n dispatcher: ChecklistStateDispatcher\n ) {\n super(initialState, dispatcher);\n\n this.register('items', ListViewChecklistItemsOrchestrator).begin();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n forwardRef,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport {\n ListFilterModel,\n ListSelectedModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListState,\n ListStateDispatcher,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\nimport {\n AsyncItem,\n AsyncList,\n ListItemModel,\n getData,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\nimport { ChecklistState } from './state/checklist-state.state-node';\nimport { ListViewChecklistItemModel } from './state/items/item.model';\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@Component({\n selector: 'sky-list-view-checklist',\n templateUrl: './list-view-checklist.component.html',\n styleUrls: ['./list-view-checklist.component.scss'],\n providers: [\n {\n provide: ListViewComponent,\n useExisting: forwardRef(() => SkyListViewChecklistComponent),\n },\n ChecklistState,\n ChecklistStateDispatcher,\n ChecklistStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistComponent\n extends ListViewComponent\n implements OnInit, OnDestroy, OnChanges\n{\n /**\n * Specifies the name of the view.\n * @required\n */\n @Input()\n set name(value: string) {\n this.viewName = value;\n }\n\n /**\n * Specifies a search function to apply on the view data.\n * The default function searches view data on label, description,\n * and category if field selectors are defined for the given field.\n * @default default search function\n */\n @Input()\n public search: (data: any, searchText: string) => boolean =\n this.searchFunction();\n\n /**\n * Specifies the name of the label field selector.\n * @default \"label\"\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label')\n public labelFieldSelector = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default \"description\"\n */\n @Input()\n public description = 'description';\n\n /**\n * Specifies how many items users can select.\n * `\"single\"` allows users to select one item in the checklist, while `\"multiple\"`\n * allows users to select multiple items in the checklist.\n * @default \"multiple\"\n */\n @Input()\n public set selectMode(value: string) {\n this._selectMode = value;\n\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n } else {\n this.showOnlySelected = false;\n this.dispatcher.toolbarShowMultiselectToolbar(false);\n }\n\n this.reapplyFilter(this.showOnlySelected);\n }\n\n public get selectMode(): string {\n return this._selectMode || 'multiple';\n }\n\n /**\n * Indicates whether to display selected items only.\n * @default false\n */\n @Input()\n public set showOnlySelected(value: boolean) {\n this._showOnlySelected = value;\n }\n\n public get showOnlySelected(): boolean {\n return this._showOnlySelected;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher,\n logger: SkyLogService\n ) {\n super(state, 'Checklist View');\n\n logger.deprecated('SkyListViewChecklistComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/repeater',\n replacementRecommendation: 'Use repeater instead.',\n });\n\n let lastUpdate: any;\n this.state\n .pipe(\n observableMap((s) => s.items),\n distinctUntilChanged(),\n observableMap((items: AsyncList<ListItemModel>) => {\n const dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n const newItems = items.items.map((item) => {\n return new ListViewChecklistItemModel(item.id, {\n label: this.labelFieldSelector\n ? getData(item.data, this.labelFieldSelector)\n : undefined,\n description: this.description\n ? getData(item.data, this.description)\n : undefined,\n });\n });\n\n this.checklistDispatcher.next(\n new ListViewChecklistItemsLoadAction(\n newItems,\n true,\n dataChanged,\n items.count\n )\n );\n })\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe();\n\n this.state\n .pipe(\n observableMap((t) => t.selected),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((selectedItems: AsyncItem<ListSelectedModel>) => {\n this._selectedIdMap = selectedItems.item.selectedIdMap;\n });\n }\n\n public ngOnInit() {\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n }\n\n // If 'show-selected' filter is changed from multiselect toolbar (list-builder)\n // make sure the private variable _showOnlySelected stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter: ListFilterModel) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this._showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (\n changes['showOnlySelected'] &&\n changes['showOnlySelected'].currentValue !==\n changes['showOnlySelected'].previousValue\n ) {\n this.reapplyFilter(changes['showOnlySelected'].currentValue);\n }\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public changeVisibleItems(change: SkyCheckboxChange) {\n this.showOnlySelected = change.checked;\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public clearSelections() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n false,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public selectAll() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n true,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public onViewActive() {\n if (this.search !== undefined) {\n this.dispatcher.searchSetFunctions([this.search]);\n }\n\n const fieldSelectors: Array<string> = [];\n if (this.labelFieldSelector) {\n fieldSelectors.push(this.labelFieldSelector);\n }\n\n if (this.description) {\n fieldSelectors.push(this.description);\n }\n\n this.dispatcher.searchSetFieldSelectors(fieldSelectors);\n\n this.dispatcher.next(new ListToolbarSetTypeAction('search'));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get items(): Observable<ListViewChecklistItemModel[]> {\n return this.checklistState.pipe(\n observableMap((state) => state.items.items)\n );\n }\n\n public searchFunction() {\n return (data: any, searchText: string) => {\n if (this.labelFieldSelector !== undefined) {\n const label = getData(data, this.labelFieldSelector);\n if (\n label !== undefined &&\n label !== null &&\n label.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n if (this.description !== undefined) {\n const description = getData(data, this.description);\n if (\n description !== undefined &&\n description !== null &&\n description.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n public itemSelected(id: string): Observable<boolean> {\n return this.state.pipe(\n observableMap((state) => state.selected.item.selectedIdMap.get(id))\n );\n }\n\n public setItemSelection(item: ListItemModel, event: any) {\n this.dispatcher.next(\n new ListSelectedSetItemSelectedAction(item.id, event.checked)\n );\n }\n\n public singleSelectRowClick(item: ListItemModel) {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction([item.id], true, true)\n );\n }\n\n private getShowSelectedFilter(isSelected: boolean) {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this._selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private reapplyFilter(isSelected: boolean) {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ) {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n if (prevShowSelectedFilter && nextShowSelectedFilter) {\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n return true;\n }\n}\n","<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\n/**\n * @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.\n */\n@NgModule({\n declarations: [\n SkyListViewChecklistComponent,\n SkyListViewChecklistItemComponent,\n ],\n imports: [CommonModule, FormsModule, SkyCheckboxModule],\n exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],\n})\nexport class SkyListViewChecklistModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ChecklistStateModel","i2.ChecklistStateDispatcher","observableMap","i2.ChecklistState","i3.ChecklistStateDispatcher","i7.SkyListViewChecklistItemComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/list-builder-view-checklist",
|
|
3
|
-
"version": "7.0.0
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@angular/common": "^14.2.
|
|
44
|
-
"@angular/core": "^14.2.
|
|
45
|
-
"@angular/forms": "^14.2.
|
|
46
|
-
"@angular/platform-browser": "^14.2.
|
|
47
|
-
"@skyux-sdk/testing": "7.0.0
|
|
48
|
-
"@skyux/core": "7.0.0
|
|
49
|
-
"@skyux/forms": "7.0.0
|
|
50
|
-
"@skyux/list-builder": "7.0.0
|
|
51
|
-
"@skyux/list-builder-common": "7.0.0
|
|
43
|
+
"@angular/common": "^14.2.11",
|
|
44
|
+
"@angular/core": "^14.2.11",
|
|
45
|
+
"@angular/forms": "^14.2.11",
|
|
46
|
+
"@angular/platform-browser": "^14.2.11",
|
|
47
|
+
"@skyux-sdk/testing": "7.0.0",
|
|
48
|
+
"@skyux/core": "7.0.0",
|
|
49
|
+
"@skyux/forms": "7.0.0",
|
|
50
|
+
"@skyux/list-builder": "7.0.0",
|
|
51
|
+
"@skyux/list-builder-common": "7.0.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"tslib": "^2.3.1"
|