@skyux/list-builder-view-checklist 4.0.1 → 5.0.1

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.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/bundles/skyux-list-builder-view-checklist-testing.umd.js +8 -4
  3. package/bundles/skyux-list-builder-view-checklist-testing.umd.js.map +1 -1
  4. package/bundles/skyux-list-builder-view-checklist.umd.js +491 -335
  5. package/bundles/skyux-list-builder-view-checklist.umd.js.map +1 -1
  6. package/documentation.json +2124 -0
  7. package/esm2015/modules/list-view-checklist/list-view-checklist-item.component.js +17 -16
  8. package/esm2015/modules/list-view-checklist/list-view-checklist.component.js +111 -79
  9. package/esm2015/modules/list-view-checklist/list-view-checklist.module.js +19 -22
  10. package/esm2015/modules/list-view-checklist/state/checklist-state-action.type.js +2 -1
  11. package/esm2015/modules/list-view-checklist/state/checklist-state.model.js +1 -1
  12. package/esm2015/modules/list-view-checklist/state/checklist-state.rxstate.js +9 -8
  13. package/esm2015/modules/list-view-checklist/state/checklist-state.state-node.js +12 -16
  14. package/esm2015/modules/list-view-checklist/state/items/item.model.js +1 -1
  15. package/esm2015/modules/list-view-checklist/state/items/items.orchestrator.js +2 -2
  16. package/esm2015/modules/list-view-checklist/state/items/load.action.js +1 -1
  17. package/esm2015/public-api.js +15 -0
  18. package/esm2015/skyux-list-builder-view-checklist.js +2 -3
  19. package/esm2015/testing/list-view-checklist-fixture.js +2 -2
  20. package/esm2015/testing/list-view-checklist-item.js +2 -1
  21. package/esm2015/testing/public-api.js +3 -0
  22. package/esm2015/testing/skyux-list-builder-view-checklist-testing.js +2 -2
  23. package/fesm2015/skyux-list-builder-view-checklist-testing.js +1 -1
  24. package/fesm2015/skyux-list-builder-view-checklist-testing.js.map +1 -1
  25. package/fesm2015/skyux-list-builder-view-checklist.js +161 -132
  26. package/fesm2015/skyux-list-builder-view-checklist.js.map +1 -1
  27. package/modules/list-view-checklist/list-view-checklist-item.component.d.ts +3 -0
  28. package/modules/list-view-checklist/list-view-checklist.component.d.ts +31 -0
  29. package/modules/list-view-checklist/list-view-checklist.module.d.ts +9 -0
  30. package/modules/list-view-checklist/state/checklist-state.rxstate.d.ts +3 -0
  31. package/modules/list-view-checklist/state/checklist-state.state-node.d.ts +3 -0
  32. package/package.json +11 -26
  33. package/{public_api.d.ts → public-api.d.ts} +1 -0
  34. package/skyux-list-builder-view-checklist.d.ts +2 -2
  35. package/testing/package.json +2 -5
  36. package/testing/{public_api.d.ts → public-api.d.ts} +0 -0
  37. package/testing/skyux-list-builder-view-checklist-testing.d.ts +2 -1
  38. package/CHANGELOG.md +0 -97
  39. package/bundles/skyux-list-builder-view-checklist-testing.umd.min.js +0 -2
  40. package/bundles/skyux-list-builder-view-checklist-testing.umd.min.js.map +0 -1
  41. package/bundles/skyux-list-builder-view-checklist.umd.min.js +0 -16
  42. package/bundles/skyux-list-builder-view-checklist.umd.min.js.map +0 -1
  43. package/esm2015/public_api.js +0 -11
  44. package/esm2015/testing/public_api.js +0 -2
  45. package/esm5/modules/list-view-checklist/list-view-checklist-item.component.js +0 -20
  46. package/esm5/modules/list-view-checklist/list-view-checklist.component.js +0 -288
  47. package/esm5/modules/list-view-checklist/list-view-checklist.module.js +0 -31
  48. package/esm5/modules/list-view-checklist/state/checklist-state-action.type.js +0 -1
  49. package/esm5/modules/list-view-checklist/state/checklist-state.model.js +0 -9
  50. package/esm5/modules/list-view-checklist/state/checklist-state.rxstate.js +0 -23
  51. package/esm5/modules/list-view-checklist/state/checklist-state.state-node.js +0 -25
  52. package/esm5/modules/list-view-checklist/state/items/item.model.js +0 -12
  53. package/esm5/modules/list-view-checklist/state/items/items.orchestrator.js +0 -24
  54. package/esm5/modules/list-view-checklist/state/items/load.action.js +0 -15
  55. package/esm5/public_api.js +0 -11
  56. package/esm5/skyux-list-builder-view-checklist.js +0 -6
  57. package/esm5/testing/list-view-checklist-fixture.js +0 -85
  58. package/esm5/testing/list-view-checklist-item.js +0 -1
  59. package/esm5/testing/public_api.js +0 -2
  60. package/esm5/testing/skyux-list-builder-view-checklist-testing.js +0 -5
  61. package/fesm5/skyux-list-builder-view-checklist-testing.js +0 -91
  62. package/fesm5/skyux-list-builder-view-checklist-testing.js.map +0 -1
  63. package/fesm5/skyux-list-builder-view-checklist.js +0 -418
  64. package/fesm5/skyux-list-builder-view-checklist.js.map +0 -1
  65. package/skyux-list-builder-view-checklist.metadata.json +0 -1
  66. package/src/assets/locales/resources_en_US.json +0 -1
  67. package/testing/skyux-list-builder-view-checklist-testing.metadata.json +0 -1
@@ -1,85 +0,0 @@
1
- import { By } from '@angular/platform-browser';
2
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
- var MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');
4
- var SINGLE_SELECT_EL_SELECTOR = By.css('.sky-list-view-checklist-single-button');
5
- /**
6
- * Allows interaction with a SKY UX list view checklist component.
7
- */
8
- var SkyListViewChecklistFixture = /** @class */ (function () {
9
- function SkyListViewChecklistFixture(fixture, skyTestId) {
10
- this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-list-view-checklist');
11
- }
12
- /**
13
- * Gets an item at the specified index.
14
- * @param index The item's index.
15
- */
16
- SkyListViewChecklistFixture.prototype.getItem = function (index) {
17
- var selectWrapperEl = this.getSelectWrapperEl(index);
18
- var selectEl = this.getSelectEl(index);
19
- return {
20
- label: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div.sky-emphasized'))),
21
- description: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))),
22
- selected: this.isChecked(selectEl)
23
- };
24
- };
25
- /**
26
- * Selects the item at the specified index.
27
- * @param index The item's index.
28
- */
29
- SkyListViewChecklistFixture.prototype.selectItem = function (index) {
30
- var selectEl = this.getSelectEl(index);
31
- if (!this.isChecked(selectEl)) {
32
- selectEl.nativeElement.click();
33
- }
34
- };
35
- /**
36
- * Deselects the item at the specified index.
37
- * @param index The item's index.
38
- */
39
- SkyListViewChecklistFixture.prototype.deselectItem = function (index) {
40
- var selectEl = this.getSelectEl(index);
41
- if (selectEl.nativeElement.tagName === 'BUTTON') {
42
- throw new Error("Items cannot be deselected in single select mode.");
43
- }
44
- if (this.isChecked(selectEl)) {
45
- selectEl.nativeElement.click();
46
- }
47
- };
48
- SkyListViewChecklistFixture.prototype.getItemEl = function (index) {
49
- var itemEls = this.debugEl.queryAll(By.css('sky-list-view-checklist-item'));
50
- var itemEl = itemEls[index];
51
- if (!itemEl) {
52
- throw new Error("No item exists at index " + index + ".");
53
- }
54
- return itemEl;
55
- };
56
- SkyListViewChecklistFixture.prototype.getSelectEl = function (index) {
57
- var itemEl = this.getItemEl(index);
58
- var checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);
59
- if (checkboxEl) {
60
- return checkboxEl;
61
- }
62
- // Assume the list is in single-select mode.
63
- return itemEl.query(SINGLE_SELECT_EL_SELECTOR);
64
- };
65
- SkyListViewChecklistFixture.prototype.getSelectWrapperEl = function (index) {
66
- var itemEl = this.getItemEl(index);
67
- var itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));
68
- if (itemWrapperEl) {
69
- return itemWrapperEl;
70
- }
71
- // Assume the list is in single-select mode.
72
- return itemEl.query(SINGLE_SELECT_EL_SELECTOR);
73
- };
74
- SkyListViewChecklistFixture.prototype.isChecked = function (selectEl) {
75
- var el = selectEl.nativeElement;
76
- if (el.tagName === 'INPUT') {
77
- return el.checked;
78
- }
79
- // Assume the list is in single-select mode.
80
- return el.getAttribute('aria-checked') === 'true';
81
- };
82
- return SkyListViewChecklistFixture;
83
- }());
84
- export { SkyListViewChecklistFixture };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC90ZXN0aW5nLyIsInNvdXJjZXMiOlsibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCxFQUFFLEVBQ0gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFNNUIsSUFBTSx3QkFBd0IsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDekUsSUFBTSx5QkFBeUIsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7QUFFbkY7O0dBRUc7QUFDSDtJQUlFLHFDQUNFLE9BQThCLEVBQzlCLFNBQWlCO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3RELE9BQU8sRUFDUCxTQUFTLEVBQ1QseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksNkNBQU8sR0FBZCxVQUFlLEtBQWE7UUFDMUIsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsT0FBTztZQUNMLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQ3BEO1lBQ0QsV0FBVyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FDcEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FDMUQ7WUFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnREFBVSxHQUFqQixVQUFrQixLQUFhO1FBQzdCLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxrREFBWSxHQUFuQixVQUFvQixLQUFhO1FBQy9CLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8sK0NBQVMsR0FBakIsVUFBa0IsS0FBYTtRQUM3QixJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztRQUU5RSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTJCLEtBQUssTUFBRyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saURBQVcsR0FBbkIsVUFBb0IsS0FBYTtRQUMvQixJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUxRCxJQUFJLFVBQVUsRUFBRTtZQUNkLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyx3REFBa0IsR0FBMUIsVUFBMkIsS0FBYTtRQUN0QyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLElBQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLCtDQUFTLEdBQWpCLFVBQWtCLFFBQXNCO1FBQ3RDLElBQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFFbEMsSUFBSSxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUMxQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDbkI7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztJQUNwRCxDQUFDO0lBRUgsa0NBQUM7QUFBRCxDQUFDLEFBL0dELElBK0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50Rml4dHVyZVxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBEZWJ1Z0VsZW1lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEJ5XG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1xuICBTa3lBcHBUZXN0VXRpbGl0eVxufSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQge1xuICBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW1cbn0gZnJvbSAnLi9saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0nO1xuXG5jb25zdCBNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IgPSBCeS5jc3MoJy5za3ktY2hlY2tib3gtd3JhcHBlciA+IGlucHV0Jyk7XG5jb25zdCBTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SID0gQnkuY3NzKCcuc2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvbicpO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGxpc3QgdmlldyBjaGVja2xpc3QgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RGaXh0dXJlIHtcblxuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sXG4gICAgc2t5VGVzdElkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0J1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oaW5kZXg6IG51bWJlcik6IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG4gICAgY29uc3Qgc2VsZWN0V3JhcHBlckVsID0gdGhpcy5nZXRTZWxlY3RXcmFwcGVyRWwoaW5kZXgpO1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICAgIHNlbGVjdFdyYXBwZXJFbC5xdWVyeShCeS5jc3MoJ2Rpdi5za3ktZW1waGFzaXplZCcpKVxuICAgICAgKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgICBzZWxlY3RXcmFwcGVyRWwucXVlcnkoQnkuY3NzKCdkaXY6bm90KC5za3ktZW1waGFzaXplZCknKSlcbiAgICAgICksXG4gICAgICBzZWxlY3RlZDogdGhpcy5pc0NoZWNrZWQoc2VsZWN0RWwpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuaXNDaGVja2VkKHNlbGVjdEVsKSkge1xuICAgICAgc2VsZWN0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpdGVtJ3MgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RFbCA9IHRoaXMuZ2V0U2VsZWN0RWwoaW5kZXgpO1xuXG4gICAgaWYgKHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSXRlbXMgY2Fubm90IGJlIGRlc2VsZWN0ZWQgaW4gc2luZ2xlIHNlbGVjdCBtb2RlLmApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCkpIHtcbiAgICAgIHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1FbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5kZWJ1Z0VsLnF1ZXJ5QWxsKEJ5LmNzcygnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbScpKTtcblxuICAgIGNvbnN0IGl0ZW1FbCA9IGl0ZW1FbHNbaW5kZXhdO1xuXG4gICAgaWYgKCFpdGVtRWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaXRlbSBleGlzdHMgYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1FbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0RWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVsID0gdGhpcy5nZXRJdGVtRWwoaW5kZXgpO1xuXG4gICAgY29uc3QgY2hlY2tib3hFbCA9IGl0ZW1FbC5xdWVyeShNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuXG4gICAgaWYgKGNoZWNrYm94RWwpIHtcbiAgICAgIHJldHVybiBjaGVja2JveEVsO1xuICAgIH1cblxuICAgIC8vIEFzc3VtZSB0aGUgbGlzdCBpcyBpbiBzaW5nbGUtc2VsZWN0IG1vZGUuXG4gICAgcmV0dXJuIGl0ZW1FbC5xdWVyeShTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0V3JhcHBlckVsKGluZGV4OiBudW1iZXIpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIGNvbnN0IGl0ZW1FbCA9IHRoaXMuZ2V0SXRlbUVsKGluZGV4KTtcblxuICAgIGNvbnN0IGl0ZW1XcmFwcGVyRWwgPSBpdGVtRWwucXVlcnkoQnkuY3NzKCdza3ktY2hlY2tib3gtbGFiZWwnKSk7XG5cbiAgICBpZiAoaXRlbVdyYXBwZXJFbCkge1xuICAgICAgcmV0dXJuIGl0ZW1XcmFwcGVyRWw7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIHRoZSBsaXN0IGlzIGluIHNpbmdsZS1zZWxlY3QgbW9kZS5cbiAgICByZXR1cm4gaXRlbUVsLnF1ZXJ5KFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NoZWNrZWQoc2VsZWN0RWw6IERlYnVnRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gc2VsZWN0RWwubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChlbC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICByZXR1cm4gZWwuY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvLyBBc3N1bWUgdGhlIGxpc3QgaXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlLlxuICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpID09PSAndHJ1ZSc7XG4gIH1cblxufVxuIl19
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNreXV4L2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC90ZXN0aW5nLyIsInNvdXJjZXMiOlsibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BlcnRpZXMgb2YgYSBsaXN0IHZpZXcgY2hlY2tsaXN0IGl0ZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5TGlzdFZpZXdDaGVja2xpc3RJdGVtIHtcblxuICAvKipcbiAgICogVGhlIGl0ZW0ncyBsYWJlbC5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgZGVzY3JpcHRpb24uXG4gICAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './list-view-checklist-fixture';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bza3l1eC9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3QvdGVzdGluZy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0LXRlc3RpbmcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2t5dXgvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3RpbmcvIiwic291cmNlcyI6WyJza3l1eC1saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3QtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,91 +0,0 @@
1
- import { By } from '@angular/platform-browser';
2
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
-
4
- var MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');
5
- var SINGLE_SELECT_EL_SELECTOR = By.css('.sky-list-view-checklist-single-button');
6
- /**
7
- * Allows interaction with a SKY UX list view checklist component.
8
- */
9
- var SkyListViewChecklistFixture = /** @class */ (function () {
10
- function SkyListViewChecklistFixture(fixture, skyTestId) {
11
- this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-list-view-checklist');
12
- }
13
- /**
14
- * Gets an item at the specified index.
15
- * @param index The item's index.
16
- */
17
- SkyListViewChecklistFixture.prototype.getItem = function (index) {
18
- var selectWrapperEl = this.getSelectWrapperEl(index);
19
- var selectEl = this.getSelectEl(index);
20
- return {
21
- label: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div.sky-emphasized'))),
22
- description: SkyAppTestUtility.getText(selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))),
23
- selected: this.isChecked(selectEl)
24
- };
25
- };
26
- /**
27
- * Selects the item at the specified index.
28
- * @param index The item's index.
29
- */
30
- SkyListViewChecklistFixture.prototype.selectItem = function (index) {
31
- var selectEl = this.getSelectEl(index);
32
- if (!this.isChecked(selectEl)) {
33
- selectEl.nativeElement.click();
34
- }
35
- };
36
- /**
37
- * Deselects the item at the specified index.
38
- * @param index The item's index.
39
- */
40
- SkyListViewChecklistFixture.prototype.deselectItem = function (index) {
41
- var selectEl = this.getSelectEl(index);
42
- if (selectEl.nativeElement.tagName === 'BUTTON') {
43
- throw new Error("Items cannot be deselected in single select mode.");
44
- }
45
- if (this.isChecked(selectEl)) {
46
- selectEl.nativeElement.click();
47
- }
48
- };
49
- SkyListViewChecklistFixture.prototype.getItemEl = function (index) {
50
- var itemEls = this.debugEl.queryAll(By.css('sky-list-view-checklist-item'));
51
- var itemEl = itemEls[index];
52
- if (!itemEl) {
53
- throw new Error("No item exists at index " + index + ".");
54
- }
55
- return itemEl;
56
- };
57
- SkyListViewChecklistFixture.prototype.getSelectEl = function (index) {
58
- var itemEl = this.getItemEl(index);
59
- var checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);
60
- if (checkboxEl) {
61
- return checkboxEl;
62
- }
63
- // Assume the list is in single-select mode.
64
- return itemEl.query(SINGLE_SELECT_EL_SELECTOR);
65
- };
66
- SkyListViewChecklistFixture.prototype.getSelectWrapperEl = function (index) {
67
- var itemEl = this.getItemEl(index);
68
- var itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));
69
- if (itemWrapperEl) {
70
- return itemWrapperEl;
71
- }
72
- // Assume the list is in single-select mode.
73
- return itemEl.query(SINGLE_SELECT_EL_SELECTOR);
74
- };
75
- SkyListViewChecklistFixture.prototype.isChecked = function (selectEl) {
76
- var el = selectEl.nativeElement;
77
- if (el.tagName === 'INPUT') {
78
- return el.checked;
79
- }
80
- // Assume the list is in single-select mode.
81
- return el.getAttribute('aria-checked') === 'true';
82
- };
83
- return SkyListViewChecklistFixture;
84
- }());
85
-
86
- /**
87
- * Generated bundle index. Do not edit.
88
- */
89
-
90
- export { SkyListViewChecklistFixture };
91
- //# sourceMappingURL=skyux-list-builder-view-checklist-testing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skyux-list-builder-view-checklist-testing.js","sources":["ng://@skyux/list-builder-view-checklist/testing/list-view-checklist-fixture.ts","ng://@skyux/list-builder-view-checklist/testing/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import {\n ComponentFixture\n} from '@angular/core/testing';\n\nimport {\n DebugElement\n} from '@angular/core';\n\nimport {\n By\n} from '@angular/platform-browser';\n\nimport {\n SkyAppTestUtility\n} from '@skyux-sdk/testing';\n\nimport {\n SkyListViewChecklistItem\n} from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css('.sky-list-view-checklist-single-button');\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n */\nexport class SkyListViewChecklistFixture {\n\n private debugEl: DebugElement;\n\n constructor(\n fixture: ComponentFixture<any>,\n skyTestId: string\n ) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-list-view-checklist'\n );\n }\n\n /**\n * Gets an item at the specified index.\n * @param index The item's index.\n */\n public getItem(index: number): SkyListViewChecklistItem {\n const selectWrapperEl = this.getSelectWrapperEl(index);\n const selectEl = this.getSelectEl(index);\n\n return {\n label: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div.sky-emphasized'))\n ),\n description: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div:not(.sky-emphasized)'))\n ),\n selected: this.isChecked(selectEl)\n };\n }\n\n /**\n * Selects the item at the specified index.\n * @param index The item's index.\n */\n public selectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (!this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n /**\n * Deselects the item at the specified index.\n * @param index The item's index.\n */\n public deselectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (selectEl.nativeElement.tagName === 'BUTTON') {\n throw new Error(`Items cannot be deselected in single select mode.`);\n }\n\n if (this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n private getItemEl(index: number): DebugElement {\n const itemEls = this.debugEl.queryAll(By.css('sky-list-view-checklist-item'));\n\n const itemEl = itemEls[index];\n\n if (!itemEl) {\n throw new Error(`No item exists at index ${index}.`);\n }\n\n return itemEl;\n }\n\n private getSelectEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);\n\n if (checkboxEl) {\n return checkboxEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private getSelectWrapperEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));\n\n if (itemWrapperEl) {\n return itemWrapperEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private isChecked(selectEl: DebugElement): boolean {\n const el = selectEl.nativeElement;\n\n if (el.tagName === 'INPUT') {\n return el.checked;\n }\n\n // Assume the list is in single-select mode.\n return el.getAttribute('aria-checked') === 'true';\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAoBA,IAAM,wBAAwB,GAAG,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AACzE,IAAM,yBAAyB,GAAG,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAEnF;;;;IAOE,qCACE,OAA8B,EAC9B,SAAiB;QAEjB,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,yBAAyB,CAC1B,CAAC;KACH;;;;;IAMM,6CAAO,GAAd,UAAe,KAAa;QAC1B,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACvD,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAC9B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACpD;YACD,WAAW,EAAE,iBAAiB,CAAC,OAAO,CACpC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAC1D;YACD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC;KACH;;;;;IAMM,gDAAU,GAAjB,UAAkB,KAAa;QAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC7B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAChC;KACF;;;;;IAMM,kDAAY,GAAnB,UAAoB,KAAa;QAC/B,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAChC;KACF;IAEO,+CAAS,GAAjB,UAAkB,KAAa;QAC7B,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAE9E,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,6BAA2B,KAAK,MAAG,CAAC,CAAC;SACtD;QAED,OAAO,MAAM,CAAC;KACf;IAEO,iDAAW,GAAnB,UAAoB,KAAa;QAC/B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErC,IAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE1D,IAAI,UAAU,EAAE;YACd,OAAO,UAAU,CAAC;SACnB;;QAGD,OAAO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAChD;IAEO,wDAAkB,GAA1B,UAA2B,KAAa;QACtC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErC,IAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEjE,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAC;SACtB;;QAGD,OAAO,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAChD;IAEO,+CAAS,GAAjB,UAAkB,QAAsB;QACtC,IAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;QAElC,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,OAAO,CAAC;SACnB;;QAGD,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;KACnD;IAEH,kCAAC;AAAD,CAAC;;ACzID;;;;;;"}
@@ -1,418 +0,0 @@
1
- import { __extends, __decorate, __spread } from 'tslib';
2
- import { Injectable, Input, Component, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { FormsModule } from '@angular/forms';
5
- import { SkyCheckboxModule } from '@skyux/forms';
6
- import { ListSelectedSetItemsSelectedAction, ListToolbarSetTypeAction, ListSelectedSetItemSelectedAction, ListFilterModel, ListState, ListStateDispatcher, ListViewComponent } from '@skyux/list-builder';
7
- import { AsyncList, StateDispatcher, StateOrchestrator, StateNode, getData } from '@skyux/list-builder-common';
8
- import { Subject } from 'rxjs';
9
- import { map, distinctUntilChanged, takeUntil, take } from 'rxjs/operators';
10
-
11
- var ChecklistStateModel = /** @class */ (function () {
12
- function ChecklistStateModel() {
13
- this.items = new AsyncList();
14
- }
15
- return ChecklistStateModel;
16
- }());
17
-
18
- var ChecklistStateDispatcher = /** @class */ (function (_super) {
19
- __extends(ChecklistStateDispatcher, _super);
20
- function ChecklistStateDispatcher() {
21
- return _super !== null && _super.apply(this, arguments) || this;
22
- }
23
- ChecklistStateDispatcher = __decorate([
24
- Injectable()
25
- ], ChecklistStateDispatcher);
26
- return ChecklistStateDispatcher;
27
- }(StateDispatcher));
28
- var ChecklistStateOrchestrator = /** @class */ (function (_super) {
29
- __extends(ChecklistStateOrchestrator, _super);
30
- function ChecklistStateOrchestrator() {
31
- return _super !== null && _super.apply(this, arguments) || this;
32
- }
33
- return ChecklistStateOrchestrator;
34
- }(StateOrchestrator));
35
-
36
- var ListViewChecklistItemModel = /** @class */ (function () {
37
- function ListViewChecklistItemModel(id, data) {
38
- this.id = id;
39
- if (data) {
40
- this.label = data.label;
41
- this.description = data.description;
42
- }
43
- }
44
- return ListViewChecklistItemModel;
45
- }());
46
-
47
- var ListViewChecklistItemsLoadAction = /** @class */ (function () {
48
- function ListViewChecklistItemsLoadAction(items, refresh, dataChanged, itemCount) {
49
- if (items === void 0) { items = []; }
50
- if (refresh === void 0) { refresh = false; }
51
- if (dataChanged === void 0) { dataChanged = true; }
52
- if (itemCount === void 0) { itemCount = items.length; }
53
- this.items = items;
54
- this.refresh = refresh;
55
- this.dataChanged = dataChanged;
56
- this.itemCount = itemCount;
57
- }
58
- return ListViewChecklistItemsLoadAction;
59
- }());
60
-
61
- var ListViewChecklistItemsOrchestrator = /** @class */ (function (_super) {
62
- __extends(ListViewChecklistItemsOrchestrator, _super);
63
- /* istanbul ignore next */
64
- function ListViewChecklistItemsOrchestrator() {
65
- var _this = _super.call(this) || this;
66
- _this.register(ListViewChecklistItemsLoadAction, _this.load);
67
- return _this;
68
- }
69
- ListViewChecklistItemsOrchestrator.prototype.load = function (state, action) {
70
- var newListItems = action.items.map(function (item) { return new ListViewChecklistItemModel(item.id, item); });
71
- if (action.refresh) {
72
- return new AsyncList(__spread(newListItems), action.dataChanged ? Date.now() : state.lastUpdate, false, state.count);
73
- }
74
- return new AsyncList(__spread(state.items, newListItems), action.dataChanged ? Date.now() : state.lastUpdate, false, action.itemCount);
75
- };
76
- return ListViewChecklistItemsOrchestrator;
77
- }(ChecklistStateOrchestrator));
78
-
79
- var ChecklistState = /** @class */ (function (_super) {
80
- __extends(ChecklistState, _super);
81
- function ChecklistState(initialState, dispatcher) {
82
- var _this = _super.call(this, initialState, dispatcher) || this;
83
- _this.register('items', ListViewChecklistItemsOrchestrator)
84
- .begin();
85
- return _this;
86
- }
87
- ChecklistState.ctorParameters = function () { return [
88
- { type: ChecklistStateModel },
89
- { type: ChecklistStateDispatcher }
90
- ]; };
91
- ChecklistState = __decorate([
92
- Injectable()
93
- ], ChecklistState);
94
- return ChecklistState;
95
- }(StateNode));
96
-
97
- var SkyListViewChecklistComponent = /** @class */ (function (_super) {
98
- __extends(SkyListViewChecklistComponent, _super);
99
- function SkyListViewChecklistComponent(state, dispatcher, checklistState, checklistDispatcher) {
100
- var _this = _super.call(this, state, 'Checklist View') || this;
101
- _this.dispatcher = dispatcher;
102
- _this.checklistState = checklistState;
103
- _this.checklistDispatcher = checklistDispatcher;
104
- _this.search = _this.searchFunction();
105
- /* tslint:disable */
106
- _this.labelFieldSelector = 'label';
107
- /* tslint:enable */
108
- _this.description = 'description';
109
- _this.ngUnsubscribe = new Subject();
110
- _this._selectMode = 'multiple';
111
- _this._selectedIdMap = new Map();
112
- _this._showOnlySelected = false;
113
- var lastUpdate;
114
- _this.state
115
- .pipe(map(function (s) { return s.items; }), distinctUntilChanged(), map(function (items) {
116
- var dataChanged = lastUpdate === undefined || items.lastUpdate !== lastUpdate;
117
- lastUpdate = items.lastUpdate;
118
- var newItems = items.items.map(function (item) {
119
- return new ListViewChecklistItemModel(item.id, {
120
- label: _this.labelFieldSelector ? getData(item.data, _this.labelFieldSelector) : undefined,
121
- description: _this.description ? getData(item.data, _this.description) : undefined
122
- });
123
- });
124
- _this.checklistDispatcher.next(new ListViewChecklistItemsLoadAction(newItems, true, dataChanged, items.count));
125
- }))
126
- .pipe(takeUntil(_this.ngUnsubscribe))
127
- .subscribe();
128
- _this.state
129
- .pipe(map(function (t) { return t.selected; }), takeUntil(_this.ngUnsubscribe))
130
- .subscribe(function (selectedItems) {
131
- _this._selectedIdMap = selectedItems.item.selectedIdMap;
132
- });
133
- return _this;
134
- }
135
- SkyListViewChecklistComponent_1 = SkyListViewChecklistComponent;
136
- Object.defineProperty(SkyListViewChecklistComponent.prototype, "name", {
137
- set: function (value) {
138
- this.viewName = value;
139
- },
140
- enumerable: true,
141
- configurable: true
142
- });
143
- Object.defineProperty(SkyListViewChecklistComponent.prototype, "selectMode", {
144
- get: function () {
145
- return this._selectMode || 'multiple';
146
- },
147
- set: function (value) {
148
- this._selectMode = value;
149
- if (this.selectMode === 'multiple') {
150
- this.dispatcher.toolbarShowMultiselectToolbar(true);
151
- }
152
- else {
153
- this.showOnlySelected = false;
154
- this.dispatcher.toolbarShowMultiselectToolbar(false);
155
- }
156
- this.reapplyFilter(this.showOnlySelected);
157
- },
158
- enumerable: true,
159
- configurable: true
160
- });
161
- Object.defineProperty(SkyListViewChecklistComponent.prototype, "showOnlySelected", {
162
- get: function () {
163
- return this._showOnlySelected;
164
- },
165
- set: function (value) {
166
- this._showOnlySelected = value;
167
- },
168
- enumerable: true,
169
- configurable: true
170
- });
171
- SkyListViewChecklistComponent.prototype.ngOnInit = function () {
172
- var _this = this;
173
- if (this.selectMode === 'multiple') {
174
- this.dispatcher.toolbarShowMultiselectToolbar(true);
175
- }
176
- // If 'show-selected' filter is changed from multiselect toolbar (list-builder)
177
- // make sure the private variable _showOnlySelected stays in sync.
178
- this.state
179
- .pipe(map(function (t) { return t.filters; }), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
180
- .subscribe(function (filters) {
181
- var showSelectedFilter = filters.find(function (filter) { return filter.name === 'show-selected'; });
182
- if (showSelectedFilter) {
183
- _this._showOnlySelected = (showSelectedFilter.value === 'true');
184
- }
185
- });
186
- };
187
- SkyListViewChecklistComponent.prototype.ngOnChanges = function (changes) {
188
- if (changes['showOnlySelected'] &&
189
- changes['showOnlySelected'].currentValue !== changes['showOnlySelected'].previousValue) {
190
- this.reapplyFilter(changes['showOnlySelected'].currentValue);
191
- }
192
- };
193
- /**
194
- * @deprecated since version 3.2.0
195
- * Multiselect toolbar will automatically show if select mode is set to 'multiple'.
196
- * These methods are no longer needed, as that functionality is part of list-builder.
197
- */
198
- SkyListViewChecklistComponent.prototype.changeVisibleItems = function (change) {
199
- this.showOnlySelected = change.checked;
200
- };
201
- /**
202
- * @deprecated since version 3.2.0
203
- * Multiselect toolbar will automatically show if select mode is set to 'multiple'.
204
- * These methods are no longer needed, as that functionality is part of list-builder.
205
- */
206
- SkyListViewChecklistComponent.prototype.clearSelections = function () {
207
- var _this = this;
208
- this.state
209
- .pipe(map(function (state) { return state.items.items; }), take(1))
210
- .subscribe(function (items) {
211
- _this.dispatcher
212
- .next(new ListSelectedSetItemsSelectedAction(items.map(function (item) { return item.id; }), false, false));
213
- /* istanbul ignore else */
214
- if (_this.showOnlySelected) {
215
- _this.reapplyFilter(_this.showOnlySelected);
216
- }
217
- });
218
- };
219
- /**
220
- * @deprecated since version 3.2.0
221
- * Multiselect toolbar will automatically show if select mode is set to 'multiple'.
222
- * These methods are no longer needed, as that functionality is part of list-builder.
223
- */
224
- SkyListViewChecklistComponent.prototype.selectAll = function () {
225
- var _this = this;
226
- this.state
227
- .pipe(map(function (state) { return state.items.items; }), take(1))
228
- .subscribe(function (items) {
229
- _this.dispatcher
230
- .next(new ListSelectedSetItemsSelectedAction(items.map(function (item) { return item.id; }), true, false));
231
- /* istanbul ignore else */
232
- if (_this.showOnlySelected) {
233
- _this.reapplyFilter(_this.showOnlySelected);
234
- }
235
- });
236
- };
237
- SkyListViewChecklistComponent.prototype.onViewActive = function () {
238
- if (this.search !== undefined) {
239
- this.dispatcher.searchSetFunctions([this.search]);
240
- }
241
- var fieldSelectors = [];
242
- if (this.labelFieldSelector) {
243
- fieldSelectors.push(this.labelFieldSelector);
244
- }
245
- if (this.description) {
246
- fieldSelectors.push(this.description);
247
- }
248
- this.dispatcher.searchSetFieldSelectors(fieldSelectors);
249
- this.dispatcher.next(new ListToolbarSetTypeAction('search'));
250
- };
251
- SkyListViewChecklistComponent.prototype.ngOnDestroy = function () {
252
- this.ngUnsubscribe.next();
253
- this.ngUnsubscribe.complete();
254
- };
255
- Object.defineProperty(SkyListViewChecklistComponent.prototype, "items", {
256
- get: function () {
257
- return this.checklistState.pipe(map(function (state) { return state.items.items; }));
258
- },
259
- enumerable: true,
260
- configurable: true
261
- });
262
- SkyListViewChecklistComponent.prototype.searchFunction = function () {
263
- var _this = this;
264
- return function (data, searchText) {
265
- if (_this.labelFieldSelector !== undefined) {
266
- var label = getData(data, _this.labelFieldSelector);
267
- /* tslint:disable:no-null-keyword */
268
- if (label !== undefined &&
269
- label !== null &&
270
- label.toString().toLowerCase().indexOf(searchText) !== -1) {
271
- return true;
272
- }
273
- /* tslint:enable:no-null-keyword */
274
- }
275
- if (_this.description !== undefined) {
276
- var description = getData(data, _this.description);
277
- /* tslint:disable:no-null-keyword */
278
- if (description !== undefined &&
279
- description !== null &&
280
- description.toString().toLowerCase().indexOf(searchText) !== -1) {
281
- return true;
282
- }
283
- /* tslint:enable:no-null-keyword */
284
- }
285
- return false;
286
- };
287
- };
288
- SkyListViewChecklistComponent.prototype.itemSelected = function (id) {
289
- return this.state.pipe(map(function (state) { return state.selected.item.selectedIdMap.get(id); }));
290
- };
291
- SkyListViewChecklistComponent.prototype.setItemSelection = function (item, event) {
292
- this.dispatcher.next(new ListSelectedSetItemSelectedAction(item.id, event.checked));
293
- };
294
- SkyListViewChecklistComponent.prototype.singleSelectRowClick = function (item) {
295
- this.dispatcher.next(new ListSelectedSetItemsSelectedAction([item.id], true, true));
296
- };
297
- SkyListViewChecklistComponent.prototype.getShowSelectedFilter = function (isSelected) {
298
- var _this = this;
299
- return new ListFilterModel({
300
- name: 'show-selected',
301
- value: isSelected.toString(),
302
- filterFunction: function (model, showOnlySelected) {
303
- if (showOnlySelected.toString() !== false.toString()) {
304
- return _this._selectedIdMap.get(model.id);
305
- }
306
- },
307
- defaultValue: false.toString()
308
- });
309
- };
310
- SkyListViewChecklistComponent.prototype.reapplyFilter = function (isSelected) {
311
- var _this = this;
312
- var self = this;
313
- this.state
314
- .pipe(map(function (state) { return state.filters; }), take(1))
315
- .subscribe(function (filters) {
316
- filters = filters.filter(function (filter) { return filter.name !== 'show-selected'; });
317
- filters.push(self.getShowSelectedFilter(isSelected));
318
- _this.dispatcher.filtersUpdate(filters);
319
- });
320
- };
321
- SkyListViewChecklistComponent.prototype.showSelectedValuesEqual = function (prev, next) {
322
- var prevShowSelectedFilter = prev.find(function (filter) { return filter.name === 'show-selected'; });
323
- var nextShowSelectedFilter = next.find(function (filter) { return filter.name === 'show-selected'; });
324
- if (prevShowSelectedFilter && nextShowSelectedFilter) {
325
- return prevShowSelectedFilter.value === nextShowSelectedFilter.value;
326
- }
327
- return true;
328
- };
329
- var SkyListViewChecklistComponent_1;
330
- SkyListViewChecklistComponent.ctorParameters = function () { return [
331
- { type: ListState },
332
- { type: ListStateDispatcher },
333
- { type: ChecklistState },
334
- { type: ChecklistStateDispatcher }
335
- ]; };
336
- __decorate([
337
- Input()
338
- ], SkyListViewChecklistComponent.prototype, "name", null);
339
- __decorate([
340
- Input()
341
- ], SkyListViewChecklistComponent.prototype, "search", void 0);
342
- __decorate([
343
- Input('label')
344
- ], SkyListViewChecklistComponent.prototype, "labelFieldSelector", void 0);
345
- __decorate([
346
- Input()
347
- ], SkyListViewChecklistComponent.prototype, "description", void 0);
348
- __decorate([
349
- Input()
350
- ], SkyListViewChecklistComponent.prototype, "selectMode", null);
351
- __decorate([
352
- Input()
353
- ], SkyListViewChecklistComponent.prototype, "showOnlySelected", null);
354
- SkyListViewChecklistComponent = SkyListViewChecklistComponent_1 = __decorate([
355
- Component({
356
- selector: 'sky-list-view-checklist',
357
- 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 *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]=\"{ 'sky-list-view-checklist-row-selected' : (itemSelected(item.id) | async) }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n >\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 *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\">\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\">\n <sky-checkbox-label>\n <div *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{item.label}}\n </div>\n <div *ngIf=\"item.description\"\n [attr.title]=\"item.description\"\n >\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",
358
- providers: [
359
- /* tslint:disable */
360
- { provide: ListViewComponent, useExisting: forwardRef(function () { return SkyListViewChecklistComponent_1; }) },
361
- /* tslint:enable */
362
- ChecklistState,
363
- ChecklistStateDispatcher,
364
- ChecklistStateModel
365
- ],
366
- changeDetection: ChangeDetectionStrategy.OnPush,
367
- 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}"]
368
- })
369
- ], SkyListViewChecklistComponent);
370
- return SkyListViewChecklistComponent;
371
- }(ListViewComponent));
372
-
373
- var SkyListViewChecklistItemComponent = /** @class */ (function () {
374
- function SkyListViewChecklistItemComponent() {
375
- }
376
- __decorate([
377
- Input()
378
- ], SkyListViewChecklistItemComponent.prototype, "item", void 0);
379
- SkyListViewChecklistItemComponent = __decorate([
380
- Component({
381
- selector: 'sky-list-view-checklist-item',
382
- template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n",
383
- changeDetection: ChangeDetectionStrategy.OnPush,
384
- 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}"]
385
- })
386
- ], SkyListViewChecklistItemComponent);
387
- return SkyListViewChecklistItemComponent;
388
- }());
389
-
390
- var SkyListViewChecklistModule = /** @class */ (function () {
391
- function SkyListViewChecklistModule() {
392
- }
393
- SkyListViewChecklistModule = __decorate([
394
- NgModule({
395
- declarations: [
396
- SkyListViewChecklistComponent,
397
- SkyListViewChecklistItemComponent
398
- ],
399
- imports: [
400
- CommonModule,
401
- FormsModule,
402
- SkyCheckboxModule
403
- ],
404
- exports: [
405
- SkyListViewChecklistComponent,
406
- SkyListViewChecklistItemComponent
407
- ]
408
- })
409
- ], SkyListViewChecklistModule);
410
- return SkyListViewChecklistModule;
411
- }());
412
-
413
- /**
414
- * Generated bundle index. Do not edit.
415
- */
416
-
417
- export { ChecklistState, ChecklistStateDispatcher, ChecklistStateModel, ChecklistStateOrchestrator, ListViewChecklistItemModel, ListViewChecklistItemsLoadAction, ListViewChecklistItemsOrchestrator, SkyListViewChecklistComponent, SkyListViewChecklistModule, SkyListViewChecklistItemComponent as ɵa };
418
- //# sourceMappingURL=skyux-list-builder-view-checklist.js.map