@skyux/list-builder-view-checklist 5.0.1 → 5.5.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/README.md +6 -4
- package/bundles/skyux-list-builder-view-checklist.umd.js +20 -20
- package/documentation.json +9468 -372
- package/esm2015/index.js +15 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/{modules → lib/modules}/list-view-checklist/list-view-checklist-item.component.js +5 -4
- package/esm2015/lib/modules/list-view-checklist/list-view-checklist-item.component.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/list-view-checklist.component.js +294 -0
- package/esm2015/lib/modules/list-view-checklist/list-view-checklist.component.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/list-view-checklist.module.js +25 -0
- package/esm2015/lib/modules/list-view-checklist/list-view-checklist.module.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state-action.type.js +2 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state-action.type.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.model.js +7 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.model.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.rxstate.js +13 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.rxstate.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.state-node.js +20 -0
- package/esm2015/lib/modules/list-view-checklist/state/checklist-state.state-node.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/item.model.js +10 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/item.model.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/items.orchestrator.js +19 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/items.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/load.action.js +9 -0
- package/esm2015/lib/modules/list-view-checklist/state/items/load.action.js.map +1 -0
- package/esm2015/skyux-list-builder-view-checklist.js +2 -2
- package/esm2015/skyux-list-builder-view-checklist.js.map +1 -0
- package/esm2015/testing/list-view-checklist-fixture.js +1 -1
- package/esm2015/testing/list-view-checklist-fixture.js.map +1 -0
- package/esm2015/testing/list-view-checklist-item.js +1 -1
- package/esm2015/testing/list-view-checklist-item.js.map +1 -0
- package/esm2015/testing/public-api.js +1 -1
- package/esm2015/testing/public-api.js.map +1 -0
- package/esm2015/testing/skyux-list-builder-view-checklist-testing.js +1 -1
- package/esm2015/testing/skyux-list-builder-view-checklist-testing.js.map +1 -0
- package/fesm2015/skyux-list-builder-view-checklist-testing.js.map +1 -1
- package/fesm2015/skyux-list-builder-view-checklist.js +27 -27
- package/fesm2015/skyux-list-builder-view-checklist.js.map +1 -1
- package/index.d.ts +10 -0
- package/{modules → lib/modules}/list-view-checklist/list-view-checklist-item.component.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/list-view-checklist.component.d.ts +4 -4
- package/{modules → lib/modules}/list-view-checklist/list-view-checklist.module.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/checklist-state-action.type.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/checklist-state.model.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/checklist-state.rxstate.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/checklist-state.state-node.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/items/item.model.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/items/items.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list-view-checklist/state/items/load.action.d.ts +0 -0
- package/package.json +22 -8
- package/skyux-list-builder-view-checklist.d.ts +1 -1
- package/LICENSE +0 -21
- package/bundles/skyux-list-builder-view-checklist-testing.umd.js.map +0 -1
- package/bundles/skyux-list-builder-view-checklist.umd.js.map +0 -1
- package/esm2015/modules/list-view-checklist/list-view-checklist.component.js +0 -294
- package/esm2015/modules/list-view-checklist/list-view-checklist.module.js +0 -25
- package/esm2015/modules/list-view-checklist/state/checklist-state-action.type.js +0 -2
- package/esm2015/modules/list-view-checklist/state/checklist-state.model.js +0 -7
- package/esm2015/modules/list-view-checklist/state/checklist-state.rxstate.js +0 -13
- package/esm2015/modules/list-view-checklist/state/checklist-state.state-node.js +0 -18
- package/esm2015/modules/list-view-checklist/state/items/item.model.js +0 -10
- package/esm2015/modules/list-view-checklist/state/items/items.orchestrator.js +0 -19
- package/esm2015/modules/list-view-checklist/state/items/load.action.js +0 -9
- package/esm2015/public-api.js +0 -15
- package/public-api.d.ts +0 -10
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder-view-checklist.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/items/item.model.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/items/load.action.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/checklist-state.model.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/list-view-checklist-item.component.html","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/list-view-checklist.component.ts","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/list-view-checklist.component.html","../../../projects/list-builder-view-checklist/src/modules/list-view-checklist/list-view-checklist.module.ts","../../../projects/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n@Injectable()\nexport class ChecklistStateDispatcher extends StateDispatcher<ChecklistStateAction> {}\n\nexport class ChecklistStateOrchestrator<T> extends StateOrchestrator<\n T,\n ChecklistStateAction\n> {}\n","export 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\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 { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './item.model';\n\nimport { ListViewChecklistItemsLoadAction } from './load.action';\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 { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\n\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\n\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\n\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\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 { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\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 {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n Input,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n OnInit,\n} from '@angular/core';\n\nimport { SkyCheckboxChange } from '@skyux/forms';\n\nimport {\n ListState,\n ListStateDispatcher,\n ListSelectedModel,\n ListFilterModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\n\nimport {\n AsyncItem,\n AsyncList,\n getData,\n ListItemModel,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistState } from './state/checklist-state.state-node';\n\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\n\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\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: string = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default 'description'\n */\n @Input()\n public description: string = '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();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected: boolean = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher\n ) {\n super(state, 'Checklist View');\n\n let lastUpdate: any;\n this.state\n .pipe(\n observableMap((s) => s.items),\n distinctUntilChanged(),\n observableMap((items: AsyncList<ListItemModel>) => {\n let dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n let 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 let 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 let 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 let 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 let self = this;\n\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(self.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 { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\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 './public-api';\n"],"names":["StateDispatcher","Injectable","StateOrchestrator","AsyncList","StateNode","Component","ChangeDetectionStrategy","Input","Subject","observableMap","distinctUntilChanged","getData","takeUntil","take","ListSelectedSetItemsSelectedAction","ListToolbarSetTypeAction","ListSelectedSetItemSelectedAction","ListFilterModel","ListViewComponent","forwardRef","CommonModule","FormsModule","SkyCheckboxModule","NgModule"],"mappings":"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"}
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, Input, } from '@angular/core';
|
|
2
|
-
import { ListFilterModel, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListViewComponent, } from '@skyux/list-builder';
|
|
3
|
-
import { getData, } from '@skyux/list-builder-common';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
|
|
6
|
-
import { ChecklistState } from './state/checklist-state.state-node';
|
|
7
|
-
import { ChecklistStateDispatcher } from './state/checklist-state.rxstate';
|
|
8
|
-
import { ChecklistStateModel } from './state/checklist-state.model';
|
|
9
|
-
import { ListViewChecklistItemsLoadAction } from './state/items/load.action';
|
|
10
|
-
import { ListViewChecklistItemModel } from './state/items/item.model';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@skyux/list-builder";
|
|
13
|
-
import * as i2 from "./state/checklist-state.state-node";
|
|
14
|
-
import * as i3 from "./state/checklist-state.rxstate";
|
|
15
|
-
import * as i4 from "./list-view-checklist-item.component";
|
|
16
|
-
import * as i5 from "@skyux/forms";
|
|
17
|
-
import * as i6 from "@angular/common";
|
|
18
|
-
export class SkyListViewChecklistComponent extends ListViewComponent {
|
|
19
|
-
constructor(state, dispatcher, checklistState, checklistDispatcher) {
|
|
20
|
-
super(state, 'Checklist View');
|
|
21
|
-
this.dispatcher = dispatcher;
|
|
22
|
-
this.checklistState = checklistState;
|
|
23
|
-
this.checklistDispatcher = checklistDispatcher;
|
|
24
|
-
/**
|
|
25
|
-
* Specifies a search function to apply on the view data.
|
|
26
|
-
* The default function searches view data on label, description,
|
|
27
|
-
* and category if field selectors are defined for the given field.
|
|
28
|
-
* @default default search function
|
|
29
|
-
*/
|
|
30
|
-
this.search = this.searchFunction();
|
|
31
|
-
/**
|
|
32
|
-
* Specifies the name of the label field selector.
|
|
33
|
-
* @default 'label'
|
|
34
|
-
*/
|
|
35
|
-
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
36
|
-
this.labelFieldSelector = 'label';
|
|
37
|
-
/**
|
|
38
|
-
* Specifies the name of the description field selector.
|
|
39
|
-
* @default 'description'
|
|
40
|
-
*/
|
|
41
|
-
this.description = 'description';
|
|
42
|
-
this.ngUnsubscribe = new Subject();
|
|
43
|
-
this._selectMode = 'multiple';
|
|
44
|
-
this._selectedIdMap = new Map();
|
|
45
|
-
this._showOnlySelected = false;
|
|
46
|
-
let lastUpdate;
|
|
47
|
-
this.state
|
|
48
|
-
.pipe(observableMap((s) => s.items), distinctUntilChanged(), observableMap((items) => {
|
|
49
|
-
let dataChanged = lastUpdate === undefined || items.lastUpdate !== lastUpdate;
|
|
50
|
-
lastUpdate = items.lastUpdate;
|
|
51
|
-
let newItems = items.items.map((item) => {
|
|
52
|
-
return new ListViewChecklistItemModel(item.id, {
|
|
53
|
-
label: this.labelFieldSelector
|
|
54
|
-
? getData(item.data, this.labelFieldSelector)
|
|
55
|
-
: undefined,
|
|
56
|
-
description: this.description
|
|
57
|
-
? getData(item.data, this.description)
|
|
58
|
-
: undefined,
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
this.checklistDispatcher.next(new ListViewChecklistItemsLoadAction(newItems, true, dataChanged, items.count));
|
|
62
|
-
}))
|
|
63
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
64
|
-
.subscribe();
|
|
65
|
-
this.state
|
|
66
|
-
.pipe(observableMap((t) => t.selected), takeUntil(this.ngUnsubscribe))
|
|
67
|
-
.subscribe((selectedItems) => {
|
|
68
|
-
this._selectedIdMap = selectedItems.item.selectedIdMap;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Specifies the name of the view.
|
|
73
|
-
* @required
|
|
74
|
-
*/
|
|
75
|
-
set name(value) {
|
|
76
|
-
this.viewName = value;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Specifies how many items users can select.
|
|
80
|
-
* `single` allows users to select one item in the checklist, while `multiple`
|
|
81
|
-
* allows users to select multiple items in the checklist.
|
|
82
|
-
* @default 'multiple'
|
|
83
|
-
*/
|
|
84
|
-
set selectMode(value) {
|
|
85
|
-
this._selectMode = value;
|
|
86
|
-
if (this.selectMode === 'multiple') {
|
|
87
|
-
this.dispatcher.toolbarShowMultiselectToolbar(true);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.showOnlySelected = false;
|
|
91
|
-
this.dispatcher.toolbarShowMultiselectToolbar(false);
|
|
92
|
-
}
|
|
93
|
-
this.reapplyFilter(this.showOnlySelected);
|
|
94
|
-
}
|
|
95
|
-
get selectMode() {
|
|
96
|
-
return this._selectMode || 'multiple';
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Indicates whether to display selected items only.
|
|
100
|
-
* @default false
|
|
101
|
-
*/
|
|
102
|
-
set showOnlySelected(value) {
|
|
103
|
-
this._showOnlySelected = value;
|
|
104
|
-
}
|
|
105
|
-
get showOnlySelected() {
|
|
106
|
-
return this._showOnlySelected;
|
|
107
|
-
}
|
|
108
|
-
ngOnInit() {
|
|
109
|
-
if (this.selectMode === 'multiple') {
|
|
110
|
-
this.dispatcher.toolbarShowMultiselectToolbar(true);
|
|
111
|
-
}
|
|
112
|
-
// If 'show-selected' filter is changed from multiselect toolbar (list-builder)
|
|
113
|
-
// make sure the private variable _showOnlySelected stays in sync.
|
|
114
|
-
this.state
|
|
115
|
-
.pipe(observableMap((t) => t.filters), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
|
|
116
|
-
.subscribe((filters) => {
|
|
117
|
-
const showSelectedFilter = filters.find((filter) => filter.name === 'show-selected');
|
|
118
|
-
if (showSelectedFilter) {
|
|
119
|
-
this._showOnlySelected = showSelectedFilter.value === 'true';
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
ngOnChanges(changes) {
|
|
124
|
-
if (changes['showOnlySelected'] &&
|
|
125
|
-
changes['showOnlySelected'].currentValue !==
|
|
126
|
-
changes['showOnlySelected'].previousValue) {
|
|
127
|
-
this.reapplyFilter(changes['showOnlySelected'].currentValue);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* @deprecated since version 3.2.0
|
|
132
|
-
* Multiselect toolbar will automatically show if select mode is set to 'multiple'.
|
|
133
|
-
* These methods are no longer needed, as that functionality is part of list-builder.
|
|
134
|
-
*/
|
|
135
|
-
changeVisibleItems(change) {
|
|
136
|
-
this.showOnlySelected = change.checked;
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* @deprecated since version 3.2.0
|
|
140
|
-
* Multiselect toolbar will automatically show if select mode is set to 'multiple'.
|
|
141
|
-
* These methods are no longer needed, as that functionality is part of list-builder.
|
|
142
|
-
*/
|
|
143
|
-
clearSelections() {
|
|
144
|
-
this.state
|
|
145
|
-
.pipe(observableMap((state) => state.items.items), take(1))
|
|
146
|
-
.subscribe((items) => {
|
|
147
|
-
this.dispatcher.next(new ListSelectedSetItemsSelectedAction(items.map((item) => item.id), false, false));
|
|
148
|
-
/* istanbul ignore else */
|
|
149
|
-
if (this.showOnlySelected) {
|
|
150
|
-
this.reapplyFilter(this.showOnlySelected);
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* @deprecated since version 3.2.0
|
|
156
|
-
* Multiselect toolbar will automatically show if select mode is set to 'multiple'.
|
|
157
|
-
* These methods are no longer needed, as that functionality is part of list-builder.
|
|
158
|
-
*/
|
|
159
|
-
selectAll() {
|
|
160
|
-
this.state
|
|
161
|
-
.pipe(observableMap((state) => state.items.items), take(1))
|
|
162
|
-
.subscribe((items) => {
|
|
163
|
-
this.dispatcher.next(new ListSelectedSetItemsSelectedAction(items.map((item) => item.id), true, false));
|
|
164
|
-
/* istanbul ignore else */
|
|
165
|
-
if (this.showOnlySelected) {
|
|
166
|
-
this.reapplyFilter(this.showOnlySelected);
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
onViewActive() {
|
|
171
|
-
if (this.search !== undefined) {
|
|
172
|
-
this.dispatcher.searchSetFunctions([this.search]);
|
|
173
|
-
}
|
|
174
|
-
let fieldSelectors = [];
|
|
175
|
-
if (this.labelFieldSelector) {
|
|
176
|
-
fieldSelectors.push(this.labelFieldSelector);
|
|
177
|
-
}
|
|
178
|
-
if (this.description) {
|
|
179
|
-
fieldSelectors.push(this.description);
|
|
180
|
-
}
|
|
181
|
-
this.dispatcher.searchSetFieldSelectors(fieldSelectors);
|
|
182
|
-
this.dispatcher.next(new ListToolbarSetTypeAction('search'));
|
|
183
|
-
}
|
|
184
|
-
ngOnDestroy() {
|
|
185
|
-
this.ngUnsubscribe.next();
|
|
186
|
-
this.ngUnsubscribe.complete();
|
|
187
|
-
}
|
|
188
|
-
get items() {
|
|
189
|
-
return this.checklistState.pipe(observableMap((state) => state.items.items));
|
|
190
|
-
}
|
|
191
|
-
searchFunction() {
|
|
192
|
-
return (data, searchText) => {
|
|
193
|
-
if (this.labelFieldSelector !== undefined) {
|
|
194
|
-
let label = getData(data, this.labelFieldSelector);
|
|
195
|
-
if (label !== undefined &&
|
|
196
|
-
label !== null &&
|
|
197
|
-
label.toString().toLowerCase().indexOf(searchText) !== -1) {
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
if (this.description !== undefined) {
|
|
202
|
-
let description = getData(data, this.description);
|
|
203
|
-
if (description !== undefined &&
|
|
204
|
-
description !== null &&
|
|
205
|
-
description.toString().toLowerCase().indexOf(searchText) !== -1) {
|
|
206
|
-
return true;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return false;
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
itemSelected(id) {
|
|
213
|
-
return this.state.pipe(observableMap((state) => state.selected.item.selectedIdMap.get(id)));
|
|
214
|
-
}
|
|
215
|
-
setItemSelection(item, event) {
|
|
216
|
-
this.dispatcher.next(new ListSelectedSetItemSelectedAction(item.id, event.checked));
|
|
217
|
-
}
|
|
218
|
-
singleSelectRowClick(item) {
|
|
219
|
-
this.dispatcher.next(new ListSelectedSetItemsSelectedAction([item.id], true, true));
|
|
220
|
-
}
|
|
221
|
-
getShowSelectedFilter(isSelected) {
|
|
222
|
-
return new ListFilterModel({
|
|
223
|
-
name: 'show-selected',
|
|
224
|
-
value: isSelected.toString(),
|
|
225
|
-
filterFunction: (model, showOnlySelected) => {
|
|
226
|
-
/* istanbul ignore else */
|
|
227
|
-
if (showOnlySelected.toString() !== false.toString()) {
|
|
228
|
-
return this._selectedIdMap.get(model.id);
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
defaultValue: false.toString(),
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
reapplyFilter(isSelected) {
|
|
235
|
-
let self = this;
|
|
236
|
-
this.state
|
|
237
|
-
.pipe(observableMap((state) => state.filters), take(1))
|
|
238
|
-
.subscribe((filters) => {
|
|
239
|
-
filters = filters.filter((filter) => filter.name !== 'show-selected');
|
|
240
|
-
filters.push(self.getShowSelectedFilter(isSelected));
|
|
241
|
-
this.dispatcher.filtersUpdate(filters);
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
showSelectedValuesEqual(prev, next) {
|
|
245
|
-
const prevShowSelectedFilter = prev.find((filter) => filter.name === 'show-selected');
|
|
246
|
-
const nextShowSelectedFilter = next.find((filter) => filter.name === 'show-selected');
|
|
247
|
-
if (prevShowSelectedFilter && nextShowSelectedFilter) {
|
|
248
|
-
return prevShowSelectedFilter.value === nextShowSelectedFilter.value;
|
|
249
|
-
}
|
|
250
|
-
return true;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: i2.ChecklistState }, { token: i3.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
254
|
-
SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
255
|
-
{
|
|
256
|
-
provide: ListViewComponent,
|
|
257
|
-
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
258
|
-
},
|
|
259
|
-
ChecklistState,
|
|
260
|
-
ChecklistStateDispatcher,
|
|
261
|
-
ChecklistStateModel,
|
|
262
|
-
], 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"], components: [{ type: i4.SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ4, selector: "sky-checkbox-label" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
263
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
264
|
-
type: Component,
|
|
265
|
-
args: [{
|
|
266
|
-
selector: 'sky-list-view-checklist',
|
|
267
|
-
templateUrl: './list-view-checklist.component.html',
|
|
268
|
-
styleUrls: ['./list-view-checklist.component.scss'],
|
|
269
|
-
providers: [
|
|
270
|
-
{
|
|
271
|
-
provide: ListViewComponent,
|
|
272
|
-
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
273
|
-
},
|
|
274
|
-
ChecklistState,
|
|
275
|
-
ChecklistStateDispatcher,
|
|
276
|
-
ChecklistStateModel,
|
|
277
|
-
],
|
|
278
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
279
|
-
}]
|
|
280
|
-
}], ctorParameters: function () { return [{ type: i1.ListState }, { type: i1.ListStateDispatcher }, { type: i2.ChecklistState }, { type: i3.ChecklistStateDispatcher }]; }, propDecorators: { name: [{
|
|
281
|
-
type: Input
|
|
282
|
-
}], search: [{
|
|
283
|
-
type: Input
|
|
284
|
-
}], labelFieldSelector: [{
|
|
285
|
-
type: Input,
|
|
286
|
-
args: ['label']
|
|
287
|
-
}], description: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], selectMode: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], showOnlySelected: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}] } });
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBSUwsZUFBZSxFQUNmLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFHTCxPQUFPLEdBRVIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxJQUFJLGFBQWEsRUFDcEIsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFB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VSw2QkFBNkI7K0dBQTdCLDZCQUE2QiwrT0FYN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztTQUM3RDtRQUNELGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsbUJBQW1CO0tBQ3BCLHNFQzlESCxrM0RBd0RBOzRGRFNhLDZCQUE2QjtrQkFmekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsc0NBQXNDO29CQUNuRCxTQUFTLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDbkQsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDO3lCQUM3RDt3QkFDRCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7c01BVUssSUFBSTtzQkFEUCxLQUFLO2dCQVlDLE1BQU07c0JBRFosS0FBSztnQkFVQyxrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMsT0FBTztnQkFRUCxXQUFXO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBMaXN0U3RhdGUsXG4gIExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gIExpc3RTZWxlY3RlZE1vZGVsLFxuICBMaXN0RmlsdGVyTW9kZWwsXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbixcbiAgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbixcbiAgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uLFxuICBMaXN0Vmlld0NvbXBvbmVudCxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlcic7XG5cbmltcG9ydCB7XG4gIEFzeW5jSXRlbSxcbiAgQXN5bmNMaXN0LFxuICBnZXREYXRhLFxuICBMaXN0SXRlbU1vZGVsLFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCBhcyBvYnNlcnZhYmxlTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTGlzdFZpZXdDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCksXG4gICAgfSxcbiAgICBDaGVja2xpc3RTdGF0ZSxcbiAgICBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgQ2hlY2tsaXN0U3RhdGVNb2RlbCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgTGlzdFZpZXdDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIHZpZXcuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmlld05hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZWFyY2ggZnVuY3Rpb24gdG8gYXBwbHkgb24gdGhlIHZpZXcgZGF0YS5cbiAgICogVGhlIGRlZmF1bHQgZnVuY3Rpb24gc2VhcmNoZXMgdmlldyBkYXRhIG9uIGxhYmVsLCBkZXNjcmlwdGlvbixcbiAgICogYW5kIGNhdGVnb3J5IGlmIGZpZWxkIHNlbGVjdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhlIGdpdmVuIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0IHNlYXJjaCBmdW5jdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaDogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbGFiZWwgZmllbGQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0ICdsYWJlbCdcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnbGFiZWwnKVxuICBwdWJsaWMgbGFiZWxGaWVsZFNlbGVjdG9yOiBzdHJpbmcgPSAnbGFiZWwnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCAnZGVzY3JpcHRpb24nXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgbWFueSBpdGVtcyB1c2VycyBjYW4gc2VsZWN0LlxuICAgKiBgc2luZ2xlYCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBpdGVtIGluIHRoZSBjaGVja2xpc3QsIHdoaWxlIGBtdWx0aXBsZWBcbiAgICogYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtdWx0aXBsZSBpdGVtcyBpbiB0aGUgY2hlY2tsaXN0LlxuICAgKiBAZGVmYXVsdCAnbXVsdGlwbGUnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdE1vZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1vZGUgfHwgJ211bHRpcGxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHNlbGVjdGVkIGl0ZW1zIG9ubHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dPbmx5U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dPbmx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX3NlbGVjdE1vZGUgPSAnbXVsdGlwbGUnO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSWRNYXA6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ubHlTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0U3RhdGU6IENoZWNrbGlzdFN0YXRlLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0RGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKHN0YXRlLCAnQ2hlY2tsaXN0IFZpZXcnKTtcblxuICAgIGxldCBsYXN0VXBkYXRlOiBhbnk7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuaXRlbXMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChpdGVtczogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KSA9PiB7XG4gICAgICAgICAgbGV0IGRhdGFDaGFuZ2VkID1cbiAgICAgICAgICAgIGxhc3RVcGRhdGUgPT09IHVuZGVmaW5lZCB8fCBpdGVtcy5sYXN0VXBkYXRlICE9PSBsYXN0VXBkYXRlO1xuICAgICAgICAgIGxhc3RVcGRhdGUgPSBpdGVtcy5sYXN0VXBkYXRlO1xuICAgICAgICAgIGxldCBuZXdJdGVtcyA9IGl0ZW1zLml0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsRmllbGRTZWxlY3RvclxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMuZGVzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgICAgbmV3IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uKFxuICAgICAgICAgICAgICBuZXdJdGVtcyxcbiAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgZGF0YUNoYW5nZWQsXG4gICAgICAgICAgICAgIGl0ZW1zLmNvdW50XG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHQpID0+IHQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRJdGVtczogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZElkTWFwID0gc2VsZWN0ZWRJdGVtcy5pdGVtLnNlbGVjdGVkSWRNYXA7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gSWYgJ3Nob3ctc2VsZWN0ZWQnIGZpbHRlciBpcyBjaGFuZ2VkIGZyb20gbXVsdGlzZWxlY3QgdG9vbGJhciAobGlzdC1idWlsZGVyKVxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgcHJpdmF0ZSB2YXJpYWJsZSBfc2hvd09ubHlTZWxlY3RlZCBzdGF5cyBpbiBzeW5jLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LmZpbHRlcnMpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQodGhpcy5zaG93U2VsZWN0ZWRWYWx1ZXNFcXVhbClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNob3dTZWxlY3RlZEZpbHRlciA9IGZpbHRlcnMuZmluZChcbiAgICAgICAgICAoZmlsdGVyOiBMaXN0RmlsdGVyTW9kZWwpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNob3dTZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSBzaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXSAmJlxuICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLnByZXZpb3VzVmFsdWVcbiAgICApIHtcbiAgICAgIHRoaXMucmVhcHBseUZpbHRlcihjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlVmlzaWJsZUl0ZW1zKGNoYW5nZTogU2t5Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbnMoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFxuICAgICAgICAgICAgaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5zaG93T25seVNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5yZWFwcGx5RmlsdGVyKHRoaXMuc2hvd09ubHlTZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uVmlld0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5zZWFyY2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZ1bmN0aW9ucyhbdGhpcy5zZWFyY2hdKTtcbiAgICB9XG5cbiAgICBsZXQgZmllbGRTZWxlY3RvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICBmaWVsZFNlbGVjdG9ycy5wdXNoKHRoaXMuZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9ycyk7XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKCdzZWFyY2gnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBPYnNlcnZhYmxlPExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLml0ZW1zLml0ZW1zKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIChkYXRhOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IGxhYmVsID0gZ2V0RGF0YShkYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBsYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbGFiZWwgIT09IG51bGwgJiZcbiAgICAgICAgICBsYWJlbC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBnZXREYXRhKGRhdGEsIHRoaXMuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSBudWxsICYmXG4gICAgICAgICAgZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGlkKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW1TZWxlY3Rpb24oaXRlbTogTGlzdEl0ZW1Nb2RlbCwgZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbihpdGVtLmlkLCBldmVudC5jaGVja2VkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2luZ2xlU2VsZWN0Um93Q2xpY2soaXRlbTogTGlzdEl0ZW1Nb2RlbCkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oW2l0ZW0uaWRdLCB0cnVlLCB0cnVlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0RmlsdGVyTW9kZWwoe1xuICAgICAgbmFtZTogJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICAgdmFsdWU6IGlzU2VsZWN0ZWQudG9TdHJpbmcoKSxcbiAgICAgIGZpbHRlckZ1bmN0aW9uOiAobW9kZWw6IExpc3RJdGVtTW9kZWwsIHNob3dPbmx5U2VsZWN0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHNob3dPbmx5U2VsZWN0ZWQudG9TdHJpbmcoKSAhPT0gZmFsc2UudG9TdHJpbmcoKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZElkTWFwLmdldChtb2RlbC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYXBwbHlGaWx0ZXIoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIGxldCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuZmlsdGVycyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSAhPT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgZmlsdGVycy5wdXNoKHNlbGYuZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQpKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUoZmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwoXG4gICAgcHJldjogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgbmV4dDogTGlzdEZpbHRlck1vZGVsW11cbiAgKSB7XG4gICAgY29uc3QgcHJldlNob3dTZWxlY3RlZEZpbHRlciA9IHByZXYuZmluZChcbiAgICAgIChmaWx0ZXIpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCdcbiAgICApO1xuICAgIGNvbnN0IG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIgPSBuZXh0LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgKTtcblxuICAgIGlmIChwcmV2U2hvd1NlbGVjdGVkRmlsdGVyICYmIG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHJldHVybiBwcmV2U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3RcIiAqbmdJZj1cImFjdGl2ZSB8IGFzeW5jXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cInNlbGVjdE1vZGVcIj5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwic2luZ2xlXCI+XG4gICAgICA8ZGl2IHJvbGU9XCJyYWRpb2dyb3VwXCI+XG4gICAgICAgIDxza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKGl0ZW1TZWxlY3RlZChpdGVtLmlkKSB8IGFzeW5jKSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1yb3ctc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYylcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luY1wiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZXRJdGVtU2VsZWN0aW9uKGl0ZW0sICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgW2F0dHIudGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICA8L3NreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { SkyCheckboxModule } from '@skyux/forms';
|
|
5
|
-
import { SkyListViewChecklistComponent } from './list-view-checklist.component';
|
|
6
|
-
import { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class SkyListViewChecklistModule {
|
|
9
|
-
}
|
|
10
|
-
SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
12
|
-
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
|
|
13
|
-
SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, imports: [[CommonModule, FormsModule, SkyCheckboxModule]] });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
declarations: [
|
|
18
|
-
SkyListViewChecklistComponent,
|
|
19
|
-
SkyListViewChecklistItemComponent,
|
|
20
|
-
],
|
|
21
|
-
imports: [CommonModule, FormsModule, SkyCheckboxModule],
|
|
22
|
-
exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQVV6RixNQUFNLE9BQU8sMEJBQTBCOzt3SEFBMUIsMEJBQTBCO3lIQUExQiwwQkFBMEIsaUJBTm5DLDZCQUE2QjtRQUM3QixpQ0FBaUMsYUFFekIsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsYUFDNUMsNkJBQTZCLEVBQUUsaUNBQWlDO3lIQUUvRCwwQkFBMEIsWUFINUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDOzRGQUc1QywwQkFBMEI7a0JBUnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDO29CQUN2RCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxpQ0FBaUMsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCxcbiAgICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTa3lDaGVja2JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudCwgU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLWFjdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vaXRlbXMvbG9hZC5hY3Rpb24nO1xuXG5leHBvcnQgdHlwZSBDaGVja2xpc3RTdGF0ZUFjdGlvbiA9IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uO1xuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AsyncList } from '@skyux/list-builder-common';
|
|
2
|
-
export class ChecklistStateModel {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.items = new AsyncList();
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvY2hlY2tsaXN0LXN0YXRlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl2RCxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ1MsVUFBSyxHQUNWLElBQUksU0FBUyxFQUE4QixDQUFDO0lBQ2hELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTGlzdCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwgfSBmcm9tICcuL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVNb2RlbCB7XG4gIHB1YmxpYyBpdGVtczogQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPiA9XG4gICAgbmV3IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4oKTtcbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ChecklistStateDispatcher extends StateDispatcher {
|
|
5
|
-
}
|
|
6
|
-
ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
-
ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher });
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
9
|
-
type: Injectable
|
|
10
|
-
}] });
|
|
11
|
-
export class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQXFDOztzSEFBdEUsd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7QUFHWCxNQUFNLE9BQU8sMEJBQThCLFNBQVEsaUJBR2xEO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0YXRlRGlzcGF0Y2hlciwgU3RhdGVPcmNoZXN0cmF0b3IgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlQWN0aW9uIH0gZnJvbSAnLi9jaGVja2xpc3Qtc3RhdGUtYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIGV4dGVuZHMgU3RhdGVEaXNwYXRjaGVyPENoZWNrbGlzdFN0YXRlQWN0aW9uPiB7fVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGVPcmNoZXN0cmF0b3I8VD4gZXh0ZW5kcyBTdGF0ZU9yY2hlc3RyYXRvcjxcbiAgVCxcbiAgQ2hlY2tsaXN0U3RhdGVBY3Rpb25cbj4ge31cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { StateNode } from '@skyux/list-builder-common';
|
|
3
|
-
import { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./checklist-state.model";
|
|
6
|
-
import * as i2 from "./checklist-state.rxstate";
|
|
7
|
-
export class ChecklistState extends StateNode {
|
|
8
|
-
constructor(initialState, dispatcher) {
|
|
9
|
-
super(initialState, dispatcher);
|
|
10
|
-
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState, deps: [{ token: i1.ChecklistStateModel }, { token: i2.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ChecklistState, decorators: [{
|
|
16
|
-
type: Injectable
|
|
17
|
-
}], ctorParameters: function () { return [{ type: i1.ChecklistStateModel }, { type: i2.ChecklistStateDispatcher }]; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUuc3RhdGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU12RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUdoRixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQThCO0lBQ2hFLFlBQ0UsWUFBaUMsRUFDakMsVUFBb0M7UUFFcEMsS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JFLENBQUM7OzRHQVJVLGNBQWM7Z0hBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdGF0ZU5vZGUgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuXG5pbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8Q2hlY2tsaXN0U3RhdGVNb2RlbD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbml0aWFsU3RhdGU6IENoZWNrbGlzdFN0YXRlTW9kZWwsXG4gICAgZGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyXG4gICkge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSwgZGlzcGF0Y2hlcik7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKCdpdGVtcycsIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNPcmNoZXN0cmF0b3IpLmJlZ2luKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class ListViewChecklistItemModel {
|
|
2
|
-
constructor(id, data) {
|
|
3
|
-
this.id = id;
|
|
4
|
-
if (data) {
|
|
5
|
-
this.label = data.label;
|
|
6
|
-
this.description = data.description;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L3N0YXRlL2l0ZW1zL2l0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFZLEVBQVUsRUFBRSxJQUFVO1FBQ2hDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRWIsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCBkYXRhPzogYW55KSB7XG4gICAgdGhpcy5pZCA9IGlkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHRoaXMubGFiZWwgPSBkYXRhLmxhYmVsO1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG59XG4iXX0=
|