@skyux/list-builder-view-checklist 5.7.2 → 6.0.0-beta.2

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 (61) hide show
  1. package/esm2020/index.mjs +15 -0
  2. package/esm2020/lib/modules/list-view-checklist/list-view-checklist-item.component.mjs +14 -0
  3. package/esm2020/lib/modules/list-view-checklist/list-view-checklist.component.mjs +287 -0
  4. package/esm2020/lib/modules/list-view-checklist/list-view-checklist.module.mjs +25 -0
  5. package/esm2020/lib/modules/list-view-checklist/state/checklist-state-action.type.mjs +2 -0
  6. package/esm2020/lib/modules/list-view-checklist/state/checklist-state.model.mjs +7 -0
  7. package/esm2020/lib/modules/list-view-checklist/state/checklist-state.rxstate.mjs +13 -0
  8. package/esm2020/lib/modules/list-view-checklist/state/checklist-state.state-node.mjs +20 -0
  9. package/esm2020/lib/modules/list-view-checklist/state/items/item.model.mjs +10 -0
  10. package/esm2020/lib/modules/list-view-checklist/state/items/items.orchestrator.mjs +19 -0
  11. package/esm2020/lib/modules/list-view-checklist/state/items/load.action.mjs +9 -0
  12. package/esm2020/skyux-list-builder-view-checklist.mjs +5 -0
  13. package/esm2020/testing/list-view-checklist-fixture.mjs +83 -0
  14. package/esm2020/testing/list-view-checklist-item.mjs +2 -0
  15. package/esm2020/testing/public-api.mjs +3 -0
  16. package/esm2020/testing/skyux-list-builder-view-checklist-testing.mjs +5 -0
  17. package/fesm2015/{skyux-list-builder-view-checklist-testing.js → skyux-list-builder-view-checklist-testing.mjs} +1 -1
  18. package/fesm2015/skyux-list-builder-view-checklist-testing.mjs.map +1 -0
  19. package/fesm2015/{skyux-list-builder-view-checklist.js → skyux-list-builder-view-checklist.mjs} +30 -41
  20. package/fesm2015/skyux-list-builder-view-checklist.mjs.map +1 -0
  21. package/{esm2015/testing/list-view-checklist-fixture.js → fesm2020/skyux-list-builder-view-checklist-testing.mjs} +9 -2
  22. package/fesm2020/skyux-list-builder-view-checklist-testing.mjs.map +1 -0
  23. package/fesm2020/skyux-list-builder-view-checklist.mjs +380 -0
  24. package/fesm2020/skyux-list-builder-view-checklist.mjs.map +1 -0
  25. package/package.json +39 -15
  26. package/testing/package.json +5 -5
  27. package/bundles/skyux-list-builder-view-checklist-testing.umd.js +0 -98
  28. package/bundles/skyux-list-builder-view-checklist.umd.js +0 -792
  29. package/esm2015/index.js +0 -15
  30. package/esm2015/index.js.map +0 -1
  31. package/esm2015/lib/modules/list-view-checklist/list-view-checklist-item.component.js +0 -19
  32. package/esm2015/lib/modules/list-view-checklist/list-view-checklist-item.component.js.map +0 -1
  33. package/esm2015/lib/modules/list-view-checklist/list-view-checklist.component.js +0 -293
  34. package/esm2015/lib/modules/list-view-checklist/list-view-checklist.component.js.map +0 -1
  35. package/esm2015/lib/modules/list-view-checklist/list-view-checklist.module.js +0 -25
  36. package/esm2015/lib/modules/list-view-checklist/list-view-checklist.module.js.map +0 -1
  37. package/esm2015/lib/modules/list-view-checklist/state/checklist-state-action.type.js +0 -2
  38. package/esm2015/lib/modules/list-view-checklist/state/checklist-state-action.type.js.map +0 -1
  39. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.model.js +0 -7
  40. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.model.js.map +0 -1
  41. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.rxstate.js +0 -13
  42. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.rxstate.js.map +0 -1
  43. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.state-node.js +0 -20
  44. package/esm2015/lib/modules/list-view-checklist/state/checklist-state.state-node.js.map +0 -1
  45. package/esm2015/lib/modules/list-view-checklist/state/items/item.model.js +0 -10
  46. package/esm2015/lib/modules/list-view-checklist/state/items/item.model.js.map +0 -1
  47. package/esm2015/lib/modules/list-view-checklist/state/items/items.orchestrator.js +0 -19
  48. package/esm2015/lib/modules/list-view-checklist/state/items/items.orchestrator.js.map +0 -1
  49. package/esm2015/lib/modules/list-view-checklist/state/items/load.action.js +0 -9
  50. package/esm2015/lib/modules/list-view-checklist/state/items/load.action.js.map +0 -1
  51. package/esm2015/skyux-list-builder-view-checklist.js +0 -5
  52. package/esm2015/skyux-list-builder-view-checklist.js.map +0 -1
  53. package/esm2015/testing/list-view-checklist-fixture.js.map +0 -1
  54. package/esm2015/testing/list-view-checklist-item.js +0 -2
  55. package/esm2015/testing/list-view-checklist-item.js.map +0 -1
  56. package/esm2015/testing/public-api.js +0 -3
  57. package/esm2015/testing/public-api.js.map +0 -1
  58. package/esm2015/testing/skyux-list-builder-view-checklist-testing.js +0 -5
  59. package/esm2015/testing/skyux-list-builder-view-checklist-testing.js.map +0 -1
  60. package/fesm2015/skyux-list-builder-view-checklist-testing.js.map +0 -1
  61. package/fesm2015/skyux-list-builder-view-checklist.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ import { By } from '@angular/platform-browser';
2
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+ const MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');
4
+ const 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
+ export class SkyListViewChecklistFixture {
9
+ constructor(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
+ getItem(index) {
17
+ const selectWrapperEl = this.getSelectWrapperEl(index);
18
+ const 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
+ selectItem(index) {
30
+ const 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
+ deselectItem(index) {
40
+ const 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
+ getItemEl(index) {
49
+ const itemEls = this.debugEl.queryAll(By.css('sky-list-view-checklist-item'));
50
+ const itemEl = itemEls[index];
51
+ if (!itemEl) {
52
+ throw new Error(`No item exists at index ${index}.`);
53
+ }
54
+ return itemEl;
55
+ }
56
+ getSelectEl(index) {
57
+ const itemEl = this.getItemEl(index);
58
+ const 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
+ getSelectWrapperEl(index) {
66
+ const itemEl = this.getItemEl(index);
67
+ const 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
+ isChecked(selectEl) {
75
+ const 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
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC90ZXN0aW5nL3NyYy9saXN0LXZpZXctY2hlY2tsaXN0LWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZELE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0seUJBQXlCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FDdEMsd0NBQXdDLENBQ3pDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFBWSxPQUE4QixFQUFFLFNBQWlCO1FBQzNELElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3RELE9BQU8sRUFDUCxTQUFTLEVBQ1QseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsT0FBTztZQUNMLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQ3BEO1lBQ0QsV0FBVyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FDcEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FDMUQ7WUFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsS0FBYTtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsS0FBYTtRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDbkMsRUFBRSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUN2QyxDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTFELElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksYUFBYSxFQUFFO1lBQ2pCLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxTQUFTLENBQUMsUUFBc0I7UUFDdEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUVsQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUNuQjtRQUVELDRDQUE0QztRQUM1QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ3BELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW0gfSBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbSc7XG5cbmNvbnN0IE1VTFRJX1NFTEVDVF9FTF9TRUxFQ1RPUiA9IEJ5LmNzcygnLnNreS1jaGVja2JveC13cmFwcGVyID4gaW5wdXQnKTtcbmNvbnN0IFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IgPSBCeS5jc3MoXG4gICcuc2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvbidcbik7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggbGlzdCB2aWV3IGNoZWNrbGlzdCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMaXN0Vmlld0NoZWNrbGlzdEZpeHR1cmUge1xuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0J1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oaW5kZXg6IG51bWJlcik6IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG4gICAgY29uc3Qgc2VsZWN0V3JhcHBlckVsID0gdGhpcy5nZXRTZWxlY3RXcmFwcGVyRWwoaW5kZXgpO1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICAgIHNlbGVjdFdyYXBwZXJFbC5xdWVyeShCeS5jc3MoJ2Rpdi5za3ktZW1waGFzaXplZCcpKVxuICAgICAgKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgICBzZWxlY3RXcmFwcGVyRWwucXVlcnkoQnkuY3NzKCdkaXY6bm90KC5za3ktZW1waGFzaXplZCknKSlcbiAgICAgICksXG4gICAgICBzZWxlY3RlZDogdGhpcy5pc0NoZWNrZWQoc2VsZWN0RWwpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgaXRlbSBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGl0ZW0ncyBpbmRleC5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RFbCA9IHRoaXMuZ2V0U2VsZWN0RWwoaW5kZXgpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCkpIHtcbiAgICAgIHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIHRoZSBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0RWwgPSB0aGlzLmdldFNlbGVjdEVsKGluZGV4KTtcblxuICAgIGlmIChzZWxlY3RFbC5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdCVVRUT04nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEl0ZW1zIGNhbm5vdCBiZSBkZXNlbGVjdGVkIGluIHNpbmdsZSBzZWxlY3QgbW9kZS5gKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0NoZWNrZWQoc2VsZWN0RWwpKSB7XG4gICAgICBzZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtRWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVscyA9IHRoaXMuZGVidWdFbC5xdWVyeUFsbChcbiAgICAgIEJ5LmNzcygnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbScpXG4gICAgKTtcblxuICAgIGNvbnN0IGl0ZW1FbCA9IGl0ZW1FbHNbaW5kZXhdO1xuXG4gICAgaWYgKCFpdGVtRWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaXRlbSBleGlzdHMgYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1FbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0RWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVsID0gdGhpcy5nZXRJdGVtRWwoaW5kZXgpO1xuXG4gICAgY29uc3QgY2hlY2tib3hFbCA9IGl0ZW1FbC5xdWVyeShNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuXG4gICAgaWYgKGNoZWNrYm94RWwpIHtcbiAgICAgIHJldHVybiBjaGVja2JveEVsO1xuICAgIH1cblxuICAgIC8vIEFzc3VtZSB0aGUgbGlzdCBpcyBpbiBzaW5nbGUtc2VsZWN0IG1vZGUuXG4gICAgcmV0dXJuIGl0ZW1FbC5xdWVyeShTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0V3JhcHBlckVsKGluZGV4OiBudW1iZXIpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIGNvbnN0IGl0ZW1FbCA9IHRoaXMuZ2V0SXRlbUVsKGluZGV4KTtcblxuICAgIGNvbnN0IGl0ZW1XcmFwcGVyRWwgPSBpdGVtRWwucXVlcnkoQnkuY3NzKCdza3ktY2hlY2tib3gtbGFiZWwnKSk7XG5cbiAgICBpZiAoaXRlbVdyYXBwZXJFbCkge1xuICAgICAgcmV0dXJuIGl0ZW1XcmFwcGVyRWw7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIHRoZSBsaXN0IGlzIGluIHNpbmdsZS1zZWxlY3QgbW9kZS5cbiAgICByZXR1cm4gaXRlbUVsLnF1ZXJ5KFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NoZWNrZWQoc2VsZWN0RWw6IERlYnVnRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gc2VsZWN0RWwubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChlbC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICByZXR1cm4gZWwuY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvLyBBc3N1bWUgdGhlIGxpc3QgaXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlLlxuICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpID09PSAndHJ1ZSc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC90ZXN0aW5nL3NyYy9saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvcGVydGllcyBvZiBhIGxpc3QgdmlldyBjaGVja2xpc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lMaXN0Vmlld0NoZWNrbGlzdEl0ZW0ge1xuICAvKipcbiAgICogVGhlIGl0ZW0ncyBsYWJlbC5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgZGVzY3JpcHRpb24uXG4gICAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './list-view-checklist-fixture';
2
+ export * from './list-view-checklist-item';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3QvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtZml4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1jaGVja2xpc3QtaXRlbSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3Rlc3Rpbmcvc3JjL3NreXV4LWxpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -87,4 +87,4 @@ class SkyListViewChecklistFixture {
87
87
  */
88
88
 
89
89
  export { SkyListViewChecklistFixture };
90
- //# sourceMappingURL=skyux-list-builder-view-checklist-testing.js.map
90
+ //# sourceMappingURL=skyux-list-builder-view-checklist-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-list-builder-view-checklist-testing.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../../../libs/components/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListViewChecklistItem } from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css(\n '.sky-list-view-checklist-single-button'\n);\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n */\nexport class SkyListViewChecklistFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\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(\n By.css('sky-list-view-checklist-item')\n );\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,28 +11,13 @@ import { AsyncList, StateDispatcher, StateOrchestrator, StateNode, getData } fro
11
11
  import { Subject } from 'rxjs';
12
12
  import { map, distinctUntilChanged, takeUntil, take } from 'rxjs/operators';
13
13
 
14
- class ListViewChecklistItemModel {
15
- constructor(id, data) {
16
- this.id = id;
17
- if (data) {
18
- this.label = data.label;
19
- this.description = data.description;
20
- }
21
- }
22
- }
23
-
24
14
  class SkyListViewChecklistItemComponent {
25
15
  }
26
- SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
16
+ SkyListViewChecklistItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ SkyListViewChecklistItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
29
19
  type: Component,
30
- args: [{
31
- selector: 'sky-list-view-checklist-item',
32
- templateUrl: './list-view-checklist-item.component.html',
33
- styleUrls: ['./list-view-checklist-item.component.scss'],
34
- changeDetection: ChangeDetectionStrategy.OnPush,
35
- }]
20
+ args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
36
21
  }], propDecorators: { item: [{
37
22
  type: Input
38
23
  }] } });
@@ -45,14 +30,24 @@ class ChecklistStateModel {
45
30
 
46
31
  class ChecklistStateDispatcher extends StateDispatcher {
47
32
  }
48
- ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
49
- ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistStateDispatcher });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
33
+ ChecklistStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
34
+ ChecklistStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistStateDispatcher });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
51
36
  type: Injectable
52
37
  }] });
53
38
  class ChecklistStateOrchestrator extends StateOrchestrator {
54
39
  }
55
40
 
41
+ class ListViewChecklistItemModel {
42
+ constructor(id, data) {
43
+ this.id = id;
44
+ if (data) {
45
+ this.label = data.label;
46
+ this.description = data.description;
47
+ }
48
+ }
49
+ }
50
+
56
51
  class ListViewChecklistItemsLoadAction {
57
52
  constructor(items = [], refresh = false, dataChanged = true, itemCount = items.length) {
58
53
  this.items = items;
@@ -83,9 +78,9 @@ class ChecklistState extends StateNode {
83
78
  this.register('items', ListViewChecklistItemsOrchestrator).begin();
84
79
  }
85
80
  }
86
- ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistState, deps: [{ token: ChecklistStateModel }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
87
- ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistState });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChecklistState, decorators: [{
81
+ ChecklistState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistState, deps: [{ token: ChecklistStateModel }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
82
+ ChecklistState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistState });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ChecklistState, decorators: [{
89
84
  type: Injectable
90
85
  }], ctorParameters: function () { return [{ type: ChecklistStateModel }, { type: ChecklistStateDispatcher }]; } });
91
86
 
@@ -323,8 +318,8 @@ class SkyListViewChecklistComponent extends ListViewComponent {
323
318
  return true;
324
319
  }
325
320
  }
326
- SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: ChecklistState }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
327
- SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
321
+ SkyListViewChecklistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: ChecklistState }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
322
+ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
328
323
  {
329
324
  provide: ListViewComponent,
330
325
  useExisting: forwardRef(() => SkyListViewChecklistComponent),
@@ -333,13 +328,9 @@ SkyListViewChecklistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
333
328
  ChecklistStateDispatcher,
334
329
  ChecklistStateModel,
335
330
  ], 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: 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 });
336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
337
332
  type: Component,
338
- args: [{
339
- selector: 'sky-list-view-checklist',
340
- templateUrl: './list-view-checklist.component.html',
341
- styleUrls: ['./list-view-checklist.component.scss'],
342
- providers: [
333
+ args: [{ selector: 'sky-list-view-checklist', providers: [
343
334
  {
344
335
  provide: ListViewComponent,
345
336
  useExisting: forwardRef(() => SkyListViewChecklistComponent),
@@ -347,9 +338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
347
338
  ChecklistState,
348
339
  ChecklistStateDispatcher,
349
340
  ChecklistStateModel,
350
- ],
351
- changeDetection: ChangeDetectionStrategy.OnPush,
352
- }]
341
+ ], changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
353
342
  }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i1.ListStateDispatcher }, { type: ChecklistState }, { type: ChecklistStateDispatcher }]; }, propDecorators: { name: [{
354
343
  type: Input
355
344
  }], search: [{
@@ -367,11 +356,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
367
356
 
368
357
  class SkyListViewChecklistModule {
369
358
  }
370
- SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
371
- SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
359
+ SkyListViewChecklistModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
360
+ SkyListViewChecklistModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
372
361
  SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] });
373
- SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistModule, imports: [[CommonModule, FormsModule, SkyCheckboxModule]] });
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
362
+ SkyListViewChecklistModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistModule, imports: [[CommonModule, FormsModule, SkyCheckboxModule]] });
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
375
364
  type: NgModule,
376
365
  args: [{
377
366
  declarations: [
@@ -388,4 +377,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
388
377
  */
389
378
 
390
379
  export { ChecklistState, ChecklistStateDispatcher, ChecklistStateModel, ChecklistStateOrchestrator, ListViewChecklistItemModel, ListViewChecklistItemsLoadAction, ListViewChecklistItemsOrchestrator, SkyListViewChecklistComponent, SkyListViewChecklistModule, SkyListViewChecklistItemComponent as λ1 };
391
- //# sourceMappingURL=skyux-list-builder-view-checklist.js.map
380
+ //# sourceMappingURL=skyux-list-builder-view-checklist.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-list-builder-view-checklist.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist-item.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.rxstate.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/item.model.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/load.action.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/state/checklist-state.state-node.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.ts","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.component.html","../../../../../libs/components/list-builder-view-checklist/src/lib/modules/list-view-checklist/list-view-checklist.module.ts","../../../../../libs/components/list-builder-view-checklist/src/skyux-list-builder-view-checklist.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { ListViewChecklistItemModel } from './state/items/item.model';\n\n@Component({\n selector: 'sky-list-view-checklist-item',\n templateUrl: './list-view-checklist-item.component.html',\n styleUrls: ['./list-view-checklist-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistItemComponent {\n @Input()\n public item: ListViewChecklistItemModel;\n}\n","<div class=\"sky-list-view-checklist-item\">\n <ng-content></ng-content>\n</div>\n","import { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListViewChecklistItemModel } from './items/item.model';\n\nexport class ChecklistStateModel {\n public items: AsyncList<ListViewChecklistItemModel> =\n new AsyncList<ListViewChecklistItemModel>();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ChecklistStateAction } from './checklist-state-action.type';\n\n@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 { AsyncList } from '@skyux/list-builder-common';\n\nimport { ChecklistStateOrchestrator } from '../checklist-state.rxstate';\n\nimport { ListViewChecklistItemModel } from './item.model';\nimport { ListViewChecklistItemsLoadAction } from './load.action';\n\nexport class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrator<\n AsyncList<ListViewChecklistItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n this.register(ListViewChecklistItemsLoadAction, this.load);\n }\n\n private load(\n state: AsyncList<ListViewChecklistItemModel>,\n action: ListViewChecklistItemsLoadAction\n ): AsyncList<ListViewChecklistItemModel> {\n const newListItems = action.items.map(\n (item) => new ListViewChecklistItemModel(item.id, item)\n );\n\n if (action.refresh) {\n return new AsyncList<ListViewChecklistItemModel>(\n [...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n state.count\n );\n }\n\n return new AsyncList<ListViewChecklistItemModel>(\n [...state.items, ...newListItems],\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n action.itemCount\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ChecklistStateModel } from './checklist-state.model';\nimport { ChecklistStateDispatcher } from './checklist-state.rxstate';\nimport { ListViewChecklistItemsOrchestrator } from './items/items.orchestrator';\n\n@Injectable()\nexport class ChecklistState extends StateNode<ChecklistStateModel> {\n constructor(\n initialState: ChecklistStateModel,\n dispatcher: ChecklistStateDispatcher\n ) {\n super(initialState, dispatcher);\n\n this.register('items', ListViewChecklistItemsOrchestrator).begin();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n forwardRef,\n} from '@angular/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport {\n ListFilterModel,\n ListSelectedModel,\n ListSelectedSetItemSelectedAction,\n ListSelectedSetItemsSelectedAction,\n ListState,\n ListStateDispatcher,\n ListToolbarSetTypeAction,\n ListViewComponent,\n} from '@skyux/list-builder';\nimport {\n AsyncItem,\n AsyncList,\n ListItemModel,\n getData,\n} from '@skyux/list-builder-common';\n\nimport { Observable, Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ChecklistStateModel } from './state/checklist-state.model';\nimport { ChecklistStateDispatcher } from './state/checklist-state.rxstate';\nimport { ChecklistState } from './state/checklist-state.state-node';\nimport { ListViewChecklistItemModel } from './state/items/item.model';\nimport { ListViewChecklistItemsLoadAction } from './state/items/load.action';\n\n@Component({\n selector: 'sky-list-view-checklist',\n templateUrl: './list-view-checklist.component.html',\n styleUrls: ['./list-view-checklist.component.scss'],\n providers: [\n {\n provide: ListViewComponent,\n useExisting: forwardRef(() => SkyListViewChecklistComponent),\n },\n ChecklistState,\n ChecklistStateDispatcher,\n ChecklistStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListViewChecklistComponent\n extends ListViewComponent\n implements OnInit, OnDestroy, OnChanges\n{\n /**\n * Specifies the name of the view.\n * @required\n */\n @Input()\n set name(value: string) {\n this.viewName = value;\n }\n\n /**\n * Specifies a search function to apply on the view data.\n * The default function searches view data on label, description,\n * and category if field selectors are defined for the given field.\n * @default default search function\n */\n @Input()\n public search: (data: any, searchText: string) => boolean =\n this.searchFunction();\n\n /**\n * Specifies the name of the label field selector.\n * @default \"label\"\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('label')\n public labelFieldSelector = 'label';\n\n /**\n * Specifies the name of the description field selector.\n * @default \"description\"\n */\n @Input()\n public description = 'description';\n\n /**\n * Specifies how many items users can select.\n * `\"single\"` allows users to select one item in the checklist, while `\"multiple\"`\n * allows users to select multiple items in the checklist.\n * @default \"multiple\"\n */\n @Input()\n public set selectMode(value: string) {\n this._selectMode = value;\n\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n } else {\n this.showOnlySelected = false;\n this.dispatcher.toolbarShowMultiselectToolbar(false);\n }\n\n this.reapplyFilter(this.showOnlySelected);\n }\n\n public get selectMode(): string {\n return this._selectMode || 'multiple';\n }\n\n /**\n * Indicates whether to display selected items only.\n * @default false\n */\n @Input()\n public set showOnlySelected(value: boolean) {\n this._showOnlySelected = value;\n }\n\n public get showOnlySelected(): boolean {\n return this._showOnlySelected;\n }\n\n private ngUnsubscribe = new Subject();\n\n private _selectMode = 'multiple';\n\n private _selectedIdMap: Map<string, boolean> = new Map<string, boolean>();\n\n private _showOnlySelected = false;\n\n constructor(\n state: ListState,\n private dispatcher: ListStateDispatcher,\n private checklistState: ChecklistState,\n private checklistDispatcher: ChecklistStateDispatcher\n ) {\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 const dataChanged =\n lastUpdate === undefined || items.lastUpdate !== lastUpdate;\n lastUpdate = items.lastUpdate;\n const newItems = items.items.map((item) => {\n return new ListViewChecklistItemModel(item.id, {\n label: this.labelFieldSelector\n ? getData(item.data, this.labelFieldSelector)\n : undefined,\n description: this.description\n ? getData(item.data, this.description)\n : undefined,\n });\n });\n\n this.checklistDispatcher.next(\n new ListViewChecklistItemsLoadAction(\n newItems,\n true,\n dataChanged,\n items.count\n )\n );\n })\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe();\n\n this.state\n .pipe(\n observableMap((t) => t.selected),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((selectedItems: AsyncItem<ListSelectedModel>) => {\n this._selectedIdMap = selectedItems.item.selectedIdMap;\n });\n }\n\n public ngOnInit() {\n if (this.selectMode === 'multiple') {\n this.dispatcher.toolbarShowMultiselectToolbar(true);\n }\n\n // If 'show-selected' filter is changed from multiselect toolbar (list-builder)\n // make sure the private variable _showOnlySelected stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter: ListFilterModel) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this._showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (\n changes['showOnlySelected'] &&\n changes['showOnlySelected'].currentValue !==\n changes['showOnlySelected'].previousValue\n ) {\n this.reapplyFilter(changes['showOnlySelected'].currentValue);\n }\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public changeVisibleItems(change: SkyCheckboxChange) {\n this.showOnlySelected = change.checked;\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public clearSelections() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n false,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n /**\n * @deprecated since version 3.2.0\n * Multiselect toolbar will automatically show if select mode is set to 'multiple'.\n * These methods are no longer needed, as that functionality is part of list-builder.\n */\n public selectAll() {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction(\n items.map((item) => item.id),\n true,\n false\n )\n );\n\n /* istanbul ignore else */\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public onViewActive() {\n if (this.search !== undefined) {\n this.dispatcher.searchSetFunctions([this.search]);\n }\n\n const fieldSelectors: Array<string> = [];\n if (this.labelFieldSelector) {\n fieldSelectors.push(this.labelFieldSelector);\n }\n\n if (this.description) {\n fieldSelectors.push(this.description);\n }\n\n this.dispatcher.searchSetFieldSelectors(fieldSelectors);\n\n this.dispatcher.next(new ListToolbarSetTypeAction('search'));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get items(): Observable<ListViewChecklistItemModel[]> {\n return this.checklistState.pipe(\n observableMap((state) => state.items.items)\n );\n }\n\n public searchFunction() {\n return (data: any, searchText: string) => {\n if (this.labelFieldSelector !== undefined) {\n const label = getData(data, this.labelFieldSelector);\n if (\n label !== undefined &&\n label !== null &&\n label.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n if (this.description !== undefined) {\n const description = getData(data, this.description);\n if (\n description !== undefined &&\n description !== null &&\n description.toString().toLowerCase().indexOf(searchText) !== -1\n ) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n public itemSelected(id: string): Observable<boolean> {\n return this.state.pipe(\n observableMap((state) => state.selected.item.selectedIdMap.get(id))\n );\n }\n\n public setItemSelection(item: ListItemModel, event: any) {\n this.dispatcher.next(\n new ListSelectedSetItemSelectedAction(item.id, event.checked)\n );\n }\n\n public singleSelectRowClick(item: ListItemModel) {\n this.dispatcher.next(\n new ListSelectedSetItemsSelectedAction([item.id], true, true)\n );\n }\n\n private getShowSelectedFilter(isSelected: boolean) {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this._selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private reapplyFilter(isSelected: boolean) {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ) {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n if (prevShowSelectedFilter && nextShowSelectedFilter) {\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n return true;\n }\n}\n","<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyCheckboxModule } from '@skyux/forms';\n\nimport { SkyListViewChecklistItemComponent } from './list-view-checklist-item.component';\nimport { SkyListViewChecklistComponent } from './list-view-checklist.component';\n\n@NgModule({\n declarations: [\n SkyListViewChecklistComponent,\n SkyListViewChecklistItemComponent,\n ],\n imports: [CommonModule, FormsModule, SkyCheckboxModule],\n exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent],\n})\nexport class SkyListViewChecklistModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ChecklistStateModel","i2.ChecklistStateDispatcher","observableMap","i2.ChecklistState","i3.ChecklistStateDispatcher","i4.SkyListViewChecklistItemComponent"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { By } from '@angular/platform-browser';
2
2
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+
3
4
  const MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');
4
5
  const SINGLE_SELECT_EL_SELECTOR = By.css('.sky-list-view-checklist-single-button');
5
6
  /**
6
7
  * Allows interaction with a SKY UX list view checklist component.
7
8
  */
8
- export class SkyListViewChecklistFixture {
9
+ class SkyListViewChecklistFixture {
9
10
  constructor(fixture, skyTestId) {
10
11
  this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-list-view-checklist');
11
12
  }
@@ -80,4 +81,10 @@ export class SkyListViewChecklistFixture {
80
81
  return el.getAttribute('aria-checked') === 'true';
81
82
  }
82
83
  }
83
- //# sourceMappingURL=list-view-checklist-fixture.js.map
84
+
85
+ /**
86
+ * Generated bundle index. Do not edit.
87
+ */
88
+
89
+ export { SkyListViewChecklistFixture };
90
+ //# sourceMappingURL=skyux-list-builder-view-checklist-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skyux-list-builder-view-checklist-testing.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../../../libs/components/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListViewChecklistItem } from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css(\n '.sky-list-view-checklist-single-button'\n);\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n */\nexport class SkyListViewChecklistFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\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(\n By.css('sky-list-view-checklist-item')\n );\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}