@skyux/list-builder-view-grids 5.6.2 → 6.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/documentation.json +40 -40
  2. package/esm2020/index.mjs +21 -0
  3. package/esm2020/lib/modules/column-selector/column-selector-context.mjs +9 -0
  4. package/esm2020/lib/modules/column-selector/column-selector-modal.component.mjs +38 -0
  5. package/esm2020/lib/modules/column-selector/column-selector-modal.module.mjs +40 -0
  6. package/esm2020/lib/modules/list-column-selector-action/list-column-selector-action.component.mjs +133 -0
  7. package/esm2020/lib/modules/list-column-selector-action/list-column-selector-action.module.mjs +47 -0
  8. package/esm2020/lib/modules/list-column-selector-action/list-column-selector-button.component.mjs +13 -0
  9. package/esm2020/lib/modules/list-view-grid/list-view-grid.component.mjs +460 -0
  10. package/esm2020/lib/modules/list-view-grid/list-view-grid.module.mjs +42 -0
  11. package/esm2020/lib/modules/list-view-grid/state/columns/columns.orchestrator.mjs +22 -0
  12. package/esm2020/lib/modules/list-view-grid/state/columns/load.action.mjs +10 -0
  13. package/esm2020/lib/modules/list-view-grid/state/displayed-columns/displayed-columns.orchestrator.mjs +22 -0
  14. package/esm2020/lib/modules/list-view-grid/state/displayed-columns/load.action.mjs +10 -0
  15. package/esm2020/lib/modules/list-view-grid/state/grid-state-action.type.mjs +2 -0
  16. package/esm2020/lib/modules/list-view-grid/state/grid-state.model.mjs +11 -0
  17. package/esm2020/lib/modules/list-view-grid/state/grid-state.rxstate.mjs +19 -0
  18. package/esm2020/lib/modules/list-view-grid/state/grid-state.state-node.mjs +27 -0
  19. package/esm2020/lib/modules/list-view-grid/types/list-view-grid-message-type.mjs +15 -0
  20. package/esm2020/lib/modules/list-view-grid/types/list-view-grid-message.mjs +2 -0
  21. package/esm2020/lib/modules/list-view-grid/types/list-view-grid-row-delete-cancel-args.mjs +2 -0
  22. package/esm2020/lib/modules/list-view-grid/types/list-view-grid-row-delete-confirm-args.mjs +2 -0
  23. package/esm2020/lib/modules/shared/sky-list-builder-view-grids-resources.module.mjs +56 -0
  24. package/esm2020/skyux-list-builder-view-grids.mjs +5 -0
  25. package/esm2020/testing/list-view-grid-fixture-cell.mjs +2 -0
  26. package/esm2020/testing/list-view-grid-fixture-header.mjs +2 -0
  27. package/esm2020/testing/list-view-grid-fixture-row.mjs +2 -0
  28. package/esm2020/testing/list-view-grid-fixture.mjs +66 -0
  29. package/esm2020/testing/public-api.mjs +5 -0
  30. package/esm2020/testing/skyux-list-builder-view-grids-testing.mjs +5 -0
  31. package/fesm2015/{skyux-list-builder-view-grids-testing.js → skyux-list-builder-view-grids-testing.mjs} +1 -1
  32. package/fesm2015/skyux-list-builder-view-grids-testing.mjs.map +1 -0
  33. package/fesm2015/skyux-list-builder-view-grids.mjs +905 -0
  34. package/fesm2015/skyux-list-builder-view-grids.mjs.map +1 -0
  35. package/{esm2015/testing/list-view-grid-fixture.js → fesm2020/skyux-list-builder-view-grids-testing.mjs} +9 -2
  36. package/fesm2020/skyux-list-builder-view-grids-testing.mjs.map +1 -0
  37. package/{fesm2015/skyux-list-builder-view-grids.js → fesm2020/skyux-list-builder-view-grids.mjs} +41 -58
  38. package/fesm2020/skyux-list-builder-view-grids.mjs.map +1 -0
  39. package/lib/modules/shared/sky-list-builder-view-grids-resources.module.d.ts +1 -1
  40. package/package.json +38 -17
  41. package/testing/package.json +5 -5
  42. package/bundles/skyux-list-builder-view-grids-testing.umd.js +0 -81
  43. package/bundles/skyux-list-builder-view-grids.umd.js +0 -1359
  44. package/esm2015/index.js +0 -21
  45. package/esm2015/index.js.map +0 -1
  46. package/esm2015/lib/modules/column-selector/column-selector-context.js +0 -9
  47. package/esm2015/lib/modules/column-selector/column-selector-context.js.map +0 -1
  48. package/esm2015/lib/modules/column-selector/column-selector-modal.component.js +0 -41
  49. package/esm2015/lib/modules/column-selector/column-selector-modal.component.js.map +0 -1
  50. package/esm2015/lib/modules/column-selector/column-selector-modal.module.js +0 -41
  51. package/esm2015/lib/modules/column-selector/column-selector-modal.module.js.map +0 -1
  52. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-action.component.js +0 -136
  53. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-action.component.js.map +0 -1
  54. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-action.module.js +0 -47
  55. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-action.module.js.map +0 -1
  56. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-button.component.js +0 -17
  57. package/esm2015/lib/modules/list-column-selector-action/list-column-selector-button.component.js.map +0 -1
  58. package/esm2015/lib/modules/list-view-grid/list-view-grid.component.js +0 -466
  59. package/esm2015/lib/modules/list-view-grid/list-view-grid.component.js.map +0 -1
  60. package/esm2015/lib/modules/list-view-grid/list-view-grid.module.js +0 -42
  61. package/esm2015/lib/modules/list-view-grid/list-view-grid.module.js.map +0 -1
  62. package/esm2015/lib/modules/list-view-grid/state/columns/columns.orchestrator.js +0 -22
  63. package/esm2015/lib/modules/list-view-grid/state/columns/columns.orchestrator.js.map +0 -1
  64. package/esm2015/lib/modules/list-view-grid/state/columns/load.action.js +0 -10
  65. package/esm2015/lib/modules/list-view-grid/state/columns/load.action.js.map +0 -1
  66. package/esm2015/lib/modules/list-view-grid/state/displayed-columns/displayed-columns.orchestrator.js +0 -22
  67. package/esm2015/lib/modules/list-view-grid/state/displayed-columns/displayed-columns.orchestrator.js.map +0 -1
  68. package/esm2015/lib/modules/list-view-grid/state/displayed-columns/load.action.js +0 -10
  69. package/esm2015/lib/modules/list-view-grid/state/displayed-columns/load.action.js.map +0 -1
  70. package/esm2015/lib/modules/list-view-grid/state/grid-state-action.type.js +0 -2
  71. package/esm2015/lib/modules/list-view-grid/state/grid-state-action.type.js.map +0 -1
  72. package/esm2015/lib/modules/list-view-grid/state/grid-state.model.js +0 -11
  73. package/esm2015/lib/modules/list-view-grid/state/grid-state.model.js.map +0 -1
  74. package/esm2015/lib/modules/list-view-grid/state/grid-state.rxstate.js +0 -19
  75. package/esm2015/lib/modules/list-view-grid/state/grid-state.rxstate.js.map +0 -1
  76. package/esm2015/lib/modules/list-view-grid/state/grid-state.state-node.js +0 -27
  77. package/esm2015/lib/modules/list-view-grid/state/grid-state.state-node.js.map +0 -1
  78. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-message-type.js +0 -15
  79. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-message-type.js.map +0 -1
  80. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-message.js +0 -2
  81. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-message.js.map +0 -1
  82. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-row-delete-cancel-args.js +0 -2
  83. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-row-delete-cancel-args.js.map +0 -1
  84. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-row-delete-confirm-args.js +0 -2
  85. package/esm2015/lib/modules/list-view-grid/types/list-view-grid-row-delete-confirm-args.js.map +0 -1
  86. package/esm2015/lib/modules/shared/sky-list-builder-view-grids-resources.module.js +0 -56
  87. package/esm2015/lib/modules/shared/sky-list-builder-view-grids-resources.module.js.map +0 -1
  88. package/esm2015/skyux-list-builder-view-grids.js +0 -5
  89. package/esm2015/skyux-list-builder-view-grids.js.map +0 -1
  90. package/esm2015/testing/list-view-grid-fixture-cell.js +0 -2
  91. package/esm2015/testing/list-view-grid-fixture-cell.js.map +0 -1
  92. package/esm2015/testing/list-view-grid-fixture-header.js +0 -2
  93. package/esm2015/testing/list-view-grid-fixture-header.js.map +0 -1
  94. package/esm2015/testing/list-view-grid-fixture-row.js +0 -2
  95. package/esm2015/testing/list-view-grid-fixture-row.js.map +0 -1
  96. package/esm2015/testing/list-view-grid-fixture.js.map +0 -1
  97. package/esm2015/testing/public-api.js +0 -5
  98. package/esm2015/testing/public-api.js.map +0 -1
  99. package/esm2015/testing/skyux-list-builder-view-grids-testing.js +0 -5
  100. package/esm2015/testing/skyux-list-builder-view-grids-testing.js.map +0 -1
  101. package/fesm2015/skyux-list-builder-view-grids-testing.js.map +0 -1
  102. package/fesm2015/skyux-list-builder-view-grids.js.map +0 -1
@@ -21,7 +21,7 @@
21
21
  "originalName": "",
22
22
  "children": [
23
23
  {
24
- "id": 705,
24
+ "id": 711,
25
25
  "name": "SkyListViewGridMessageType",
26
26
  "kind": 8,
27
27
  "kindString": "Enumeration",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "children": [
33
33
  {
34
- "id": 707,
34
+ "id": 713,
35
35
  "name": "AbortDeleteRow",
36
36
  "kind": 16,
37
37
  "kindString": "Enumeration member",
@@ -49,7 +49,7 @@
49
49
  "defaultValue": "1"
50
50
  },
51
51
  {
52
- "id": 706,
52
+ "id": 712,
53
53
  "name": "PromptDeleteRow",
54
54
  "kind": 16,
55
55
  "kindString": "Enumeration member",
@@ -72,8 +72,8 @@
72
72
  "title": "Enumeration members",
73
73
  "kind": 16,
74
74
  "children": [
75
- 707,
76
- 706
75
+ 713,
76
+ 712
77
77
  ]
78
78
  }
79
79
  ],
@@ -275,7 +275,7 @@
275
275
  "name": "NgModule"
276
276
  },
277
277
  "arguments": {
278
- "obj": "{\n declarations: [SkyColumnSelectorComponent],\n imports: [\n CommonModule,\n SkyI18nModule,\n SkyModalModule,\n SkyListModule,\n SkyListToolbarModule,\n SkyListViewChecklistModule,\n ],\n entryComponents: [SkyColumnSelectorComponent],\n}"
278
+ "obj": "{\n declarations: [SkyColumnSelectorComponent],\n imports: [\n CommonModule,\n SkyI18nModule,\n SkyModalModule,\n SkyListModule,\n SkyListToolbarModule,\n SkyListViewChecklistModule,\n ],\n}"
279
279
  }
280
280
  }
281
281
  ],
@@ -292,7 +292,7 @@
292
292
  "sources": [
293
293
  {
294
294
  "fileName": "projects/list-builder-view-grids/src/modules/column-selector/column-selector-modal.module.ts",
295
- "line": 22,
295
+ "line": 21,
296
296
  "character": 13
297
297
  }
298
298
  ]
@@ -984,7 +984,7 @@
984
984
  "typeArguments": [
985
985
  {
986
986
  "type": "reference",
987
- "id": 708,
987
+ "id": 714,
988
988
  "name": "SkyListViewGridRowDeleteCancelArgs"
989
989
  }
990
990
  ],
@@ -1029,7 +1029,7 @@
1029
1029
  "typeArguments": [
1030
1030
  {
1031
1031
  "type": "reference",
1032
- "id": 710,
1032
+ "id": 716,
1033
1033
  "name": "SkyListViewGridRowDeleteConfirmArgs"
1034
1034
  }
1035
1035
  ],
@@ -1469,7 +1469,7 @@
1469
1469
  "typeArguments": [
1470
1470
  {
1471
1471
  "type": "reference",
1472
- "id": 695,
1472
+ "id": 701,
1473
1473
  "name": "SkyListViewGridMessage"
1474
1474
  }
1475
1475
  ],
@@ -1501,7 +1501,7 @@
1501
1501
  "typeArguments": [
1502
1502
  {
1503
1503
  "type": "reference",
1504
- "id": 695,
1504
+ "id": 701,
1505
1505
  "name": "SkyListViewGridMessage"
1506
1506
  }
1507
1507
  ],
@@ -1612,7 +1612,7 @@
1612
1612
  "flags": {},
1613
1613
  "type": {
1614
1614
  "type": "reference",
1615
- "id": 708,
1615
+ "id": 714,
1616
1616
  "name": "SkyListViewGridRowDeleteCancelArgs"
1617
1617
  }
1618
1618
  }
@@ -1700,7 +1700,7 @@
1700
1700
  "flags": {},
1701
1701
  "type": {
1702
1702
  "type": "reference",
1703
- "id": 710,
1703
+ "id": 716,
1704
1704
  "name": "SkyListViewGridRowDeleteConfirmArgs"
1705
1705
  }
1706
1706
  }
@@ -2459,7 +2459,7 @@
2459
2459
  ]
2460
2460
  },
2461
2461
  {
2462
- "id": 695,
2462
+ "id": 701,
2463
2463
  "name": "SkyListViewGridMessage",
2464
2464
  "kind": 256,
2465
2465
  "kindString": "Interface",
@@ -2469,7 +2469,7 @@
2469
2469
  },
2470
2470
  "children": [
2471
2471
  {
2472
- "id": 697,
2472
+ "id": 703,
2473
2473
  "name": "data",
2474
2474
  "kind": 1024,
2475
2475
  "kindString": "Property",
@@ -2489,14 +2489,14 @@
2489
2489
  "type": {
2490
2490
  "type": "reflection",
2491
2491
  "declaration": {
2492
- "id": 698,
2492
+ "id": 704,
2493
2493
  "name": "__type",
2494
2494
  "kind": 65536,
2495
2495
  "kindString": "Type literal",
2496
2496
  "flags": {},
2497
2497
  "children": [
2498
2498
  {
2499
- "id": 699,
2499
+ "id": 705,
2500
2500
  "name": "abortDeleteRow",
2501
2501
  "kind": 1024,
2502
2502
  "kindString": "Property",
@@ -2513,14 +2513,14 @@
2513
2513
  "type": {
2514
2514
  "type": "reflection",
2515
2515
  "declaration": {
2516
- "id": 700,
2516
+ "id": 706,
2517
2517
  "name": "__type",
2518
2518
  "kind": 65536,
2519
2519
  "kindString": "Type literal",
2520
2520
  "flags": {},
2521
2521
  "children": [
2522
2522
  {
2523
- "id": 701,
2523
+ "id": 707,
2524
2524
  "name": "id",
2525
2525
  "kind": 1024,
2526
2526
  "kindString": "Property",
@@ -2543,7 +2543,7 @@
2543
2543
  "title": "Properties",
2544
2544
  "kind": 1024,
2545
2545
  "children": [
2546
- 701
2546
+ 707
2547
2547
  ]
2548
2548
  }
2549
2549
  ]
@@ -2551,7 +2551,7 @@
2551
2551
  }
2552
2552
  },
2553
2553
  {
2554
- "id": 702,
2554
+ "id": 708,
2555
2555
  "name": "promptDeleteRow",
2556
2556
  "kind": 1024,
2557
2557
  "kindString": "Property",
@@ -2568,14 +2568,14 @@
2568
2568
  "type": {
2569
2569
  "type": "reflection",
2570
2570
  "declaration": {
2571
- "id": 703,
2571
+ "id": 709,
2572
2572
  "name": "__type",
2573
2573
  "kind": 65536,
2574
2574
  "kindString": "Type literal",
2575
2575
  "flags": {},
2576
2576
  "children": [
2577
2577
  {
2578
- "id": 704,
2578
+ "id": 710,
2579
2579
  "name": "id",
2580
2580
  "kind": 1024,
2581
2581
  "kindString": "Property",
@@ -2598,7 +2598,7 @@
2598
2598
  "title": "Properties",
2599
2599
  "kind": 1024,
2600
2600
  "children": [
2601
- 704
2601
+ 710
2602
2602
  ]
2603
2603
  }
2604
2604
  ]
@@ -2611,8 +2611,8 @@
2611
2611
  "title": "Properties",
2612
2612
  "kind": 1024,
2613
2613
  "children": [
2614
- 699,
2615
- 702
2614
+ 705,
2615
+ 708
2616
2616
  ]
2617
2617
  }
2618
2618
  ]
@@ -2620,7 +2620,7 @@
2620
2620
  }
2621
2621
  },
2622
2622
  {
2623
- "id": 696,
2623
+ "id": 702,
2624
2624
  "name": "type",
2625
2625
  "kind": 1024,
2626
2626
  "kindString": "Property",
@@ -2637,7 +2637,7 @@
2637
2637
  ],
2638
2638
  "type": {
2639
2639
  "type": "reference",
2640
- "id": 705,
2640
+ "id": 711,
2641
2641
  "name": "SkyListViewGridMessageType"
2642
2642
  }
2643
2643
  }
@@ -2647,8 +2647,8 @@
2647
2647
  "title": "Properties",
2648
2648
  "kind": 1024,
2649
2649
  "children": [
2650
- 697,
2651
- 696
2650
+ 703,
2651
+ 702
2652
2652
  ]
2653
2653
  }
2654
2654
  ],
@@ -2661,14 +2661,14 @@
2661
2661
  ]
2662
2662
  },
2663
2663
  {
2664
- "id": 708,
2664
+ "id": 714,
2665
2665
  "name": "SkyListViewGridRowDeleteCancelArgs",
2666
2666
  "kind": 256,
2667
2667
  "kindString": "Interface",
2668
2668
  "flags": {},
2669
2669
  "children": [
2670
2670
  {
2671
- "id": 709,
2671
+ "id": 715,
2672
2672
  "name": "id",
2673
2673
  "kind": 1024,
2674
2674
  "kindString": "Property",
@@ -2694,7 +2694,7 @@
2694
2694
  "title": "Properties",
2695
2695
  "kind": 1024,
2696
2696
  "children": [
2697
- 709
2697
+ 715
2698
2698
  ]
2699
2699
  }
2700
2700
  ],
@@ -2707,14 +2707,14 @@
2707
2707
  ]
2708
2708
  },
2709
2709
  {
2710
- "id": 710,
2710
+ "id": 716,
2711
2711
  "name": "SkyListViewGridRowDeleteConfirmArgs",
2712
2712
  "kind": 256,
2713
2713
  "kindString": "Interface",
2714
2714
  "flags": {},
2715
2715
  "children": [
2716
2716
  {
2717
- "id": 711,
2717
+ "id": 717,
2718
2718
  "name": "id",
2719
2719
  "kind": 1024,
2720
2720
  "kindString": "Property",
@@ -2740,7 +2740,7 @@
2740
2740
  "title": "Properties",
2741
2741
  "kind": 1024,
2742
2742
  "children": [
2743
- 711
2743
+ 717
2744
2744
  ]
2745
2745
  }
2746
2746
  ],
@@ -2758,7 +2758,7 @@
2758
2758
  "title": "Enumerations",
2759
2759
  "kind": 8,
2760
2760
  "children": [
2761
- 705
2761
+ 711
2762
2762
  ]
2763
2763
  },
2764
2764
  {
@@ -2778,9 +2778,9 @@
2778
2778
  "title": "Interfaces",
2779
2779
  "kind": 256,
2780
2780
  "children": [
2781
- 695,
2782
- 708,
2783
- 710
2781
+ 701,
2782
+ 714,
2783
+ 716
2784
2784
  ]
2785
2785
  }
2786
2786
  ],
@@ -0,0 +1,21 @@
1
+ export * from './lib/modules/column-selector/column-selector-context';
2
+ export * from './lib/modules/column-selector/column-selector-modal.module';
3
+ export * from './lib/modules/list-column-selector-action/list-column-selector-action.module';
4
+ export * from './lib/modules/list-view-grid/list-view-grid.component';
5
+ export * from './lib/modules/list-view-grid/list-view-grid.module';
6
+ export * from './lib/modules/list-view-grid/state/grid-state-action.type';
7
+ export * from './lib/modules/list-view-grid/state/grid-state.model';
8
+ export * from './lib/modules/list-view-grid/state/grid-state.rxstate';
9
+ export * from './lib/modules/list-view-grid/state/grid-state.state-node';
10
+ export * from './lib/modules/list-view-grid/state/columns/columns.orchestrator';
11
+ export * from './lib/modules/list-view-grid/state/columns/load.action';
12
+ export * from './lib/modules/list-view-grid/state/displayed-columns/displayed-columns.orchestrator';
13
+ export * from './lib/modules/list-view-grid/state/displayed-columns/load.action';
14
+ export * from './lib/modules/list-view-grid/types/list-view-grid-message';
15
+ export * from './lib/modules/list-view-grid/types/list-view-grid-message-type';
16
+ export * from './lib/modules/list-view-grid/types/list-view-grid-row-delete-cancel-args';
17
+ export * from './lib/modules/list-view-grid/types/list-view-grid-row-delete-confirm-args';
18
+ // Components and directives must be exported to support Angular’s “partial” Ivy compiler.
19
+ // Obscure names are used to indicate types are not part of the public API.
20
+ export { SkyListColumnSelectorActionComponent as λ1 } from './lib/modules/list-column-selector-action/list-column-selector-action.component';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctZ3JpZHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLDhFQUE4RSxDQUFDO0FBRTdGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxvREFBb0QsQ0FBQztBQUVuRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMsa0VBQWtFLENBQUM7QUFFakYsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYywyRUFBMkUsQ0FBQztBQUUxRiwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsSUFBSSxFQUFFLEVBQUUsTUFBTSxpRkFBaUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci1tb2RhbC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtY29sdW1uLXNlbGVjdG9yLWFjdGlvbi9saXN0LWNvbHVtbi1zZWxlY3Rvci1hY3Rpb24ubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC9saXN0LXZpZXctZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC9saXN0LXZpZXctZ3JpZC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1ncmlkL3N0YXRlL2dyaWQtc3RhdGUtYWN0aW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC9zdGF0ZS9ncmlkLXN0YXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC12aWV3LWdyaWQvc3RhdGUvZ3JpZC1zdGF0ZS5yeHN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC12aWV3LWdyaWQvc3RhdGUvZ3JpZC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC12aWV3LWdyaWQvc3RhdGUvY29sdW1ucy9jb2x1bW5zLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1ncmlkL3N0YXRlL2NvbHVtbnMvbG9hZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC9zdGF0ZS9kaXNwbGF5ZWQtY29sdW1ucy9kaXNwbGF5ZWQtY29sdW1ucy5vcmNoZXN0cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC9zdGF0ZS9kaXNwbGF5ZWQtY29sdW1ucy9sb2FkLmFjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC12aWV3LWdyaWQvdHlwZXMvbGlzdC12aWV3LWdyaWQtbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1ncmlkL3R5cGVzL2xpc3Qtdmlldy1ncmlkLW1lc3NhZ2UtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1ncmlkL3R5cGVzL2xpc3Qtdmlldy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXZpZXctZ3JpZC90eXBlcy9saXN0LXZpZXctZ3JpZC1yb3ctZGVsZXRlLWNvbmZpcm0tYXJncyc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXLigJlzIOKAnHBhcnRpYWzigJ0gSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lMaXN0Q29sdW1uU2VsZWN0b3JBY3Rpb25Db21wb25lbnQgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWNvbHVtbi1zZWxlY3Rvci1hY3Rpb24vbGlzdC1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /* istanbul ignore next */
2
+ /* Code coverage having problems with no statements in classes */
3
+ export class SkyColumnSelectorContext {
4
+ }
5
+ /* istanbul ignore next */
6
+ /* Code coverage having problems with no statements in classes */
7
+ export class SkyColumnSelectorModel {
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctZ3JpZHMvc3JjL2xpYi9tb2R1bGVzL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3ItY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsaUVBQWlFO0FBQ2pFLE1BQU0sT0FBTyx3QkFBd0I7Q0FHcEM7QUFFRCwwQkFBMEI7QUFDMUIsaUVBQWlFO0FBQ2pFLE1BQU0sT0FBTyxzQkFBc0I7Q0FJbEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyogQ29kZSBjb3ZlcmFnZSBoYXZpbmcgcHJvYmxlbXMgd2l0aCBubyBzdGF0ZW1lbnRzIGluIGNsYXNzZXMgKi9cbmV4cG9ydCBjbGFzcyBTa3lDb2x1bW5TZWxlY3RvckNvbnRleHQge1xuICBwdWJsaWMgY29sdW1uczogQXJyYXk8U2t5Q29sdW1uU2VsZWN0b3JNb2RlbD47XG4gIHB1YmxpYyBzZWxlY3RlZENvbHVtbklkczogQXJyYXk8c3RyaW5nPjtcbn1cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbi8qIENvZGUgY292ZXJhZ2UgaGF2aW5nIHByb2JsZW1zIHdpdGggbm8gc3RhdGVtZW50cyBpbiBjbGFzc2VzICovXG5leHBvcnQgY2xhc3MgU2t5Q29sdW1uU2VsZWN0b3JNb2RlbCB7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nO1xuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Component } from '@angular/core';
2
+ import { SkyModalInstance } from '@skyux/modals';
3
+ import { SkyColumnSelectorContext } from './column-selector-context';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./column-selector-context";
6
+ import * as i2 from "@skyux/modals";
7
+ import * as i3 from "@skyux/list-builder";
8
+ import * as i4 from "@skyux/list-builder-view-checklist";
9
+ import * as i5 from "@skyux/i18n";
10
+ export class SkyColumnSelectorComponent {
11
+ constructor(context, instance) {
12
+ this.context = context;
13
+ this.instance = instance;
14
+ this.newSelectedColumnIds = [];
15
+ this.newSelectedColumnIds = context.selectedColumnIds;
16
+ }
17
+ selectedColumnsChange(selectedMap) {
18
+ this.newSelectedColumnIds = [];
19
+ selectedMap.forEach((value, key) => {
20
+ if (value) {
21
+ this.newSelectedColumnIds.push(key);
22
+ }
23
+ });
24
+ }
25
+ cancelChanges() {
26
+ this.instance.cancel();
27
+ }
28
+ applyChanges() {
29
+ this.instance.save(this.newSelectedColumnIds);
30
+ }
31
+ }
32
+ SkyColumnSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorComponent, deps: [{ token: i1.SkyColumnSelectorContext }, { token: i2.SkyModalInstance }], target: i0.ɵɵFactoryTarget.Component });
33
+ SkyColumnSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyColumnSelectorComponent, selector: "sky-column-selector", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_grid_column_picker_header' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-list\n #list\n [data]=\"context.columns\"\n [selectedIds]=\"context.selectedColumnIds\"\n (selectedIdsChange)=\"selectedColumnsChange($event)\"\n >\n <sky-list-toolbar\n [placeholder]=\"\n 'skyux_grid_column_picker_search_placeholder' | skyLibResources\n \"\n >\n </sky-list-toolbar>\n\n <sky-list-view-checklist label=\"heading\" description=\"description\">\n </sky-list-view-checklist>\n </sky-list>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_grid_column_picker_submit' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_grid_column_picker_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", components: [{ type: i2.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i2.λ4, selector: "sky-modal-header" }, { type: i2.λ2, selector: "sky-modal-content" }, { type: i3.SkyListComponent, selector: "sky-list", inputs: ["data", "dataProvider", "defaultView", "initialTotal", "selectedIds", "sortFields", "appliedFilters", "search"], outputs: ["selectedIdsChange", "appliedFiltersChange"] }, { type: i3.SkyListToolbarComponent, selector: "sky-list-toolbar", inputs: ["inMemorySearchEnabled", "placeholder", "searchEnabled", "sortSelectorEnabled", "toolbarType", "searchText"] }, { type: i4.SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: ["name", "search", "label", "description", "selectMode", "showOnlySelected"] }, { type: i2.λ3, selector: "sky-modal-footer" }], pipes: { "skyLibResources": i5.SkyLibResourcesPipe } });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'sky-column-selector', template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_grid_column_picker_header' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-list\n #list\n [data]=\"context.columns\"\n [selectedIds]=\"context.selectedColumnIds\"\n (selectedIdsChange)=\"selectedColumnsChange($event)\"\n >\n <sky-list-toolbar\n [placeholder]=\"\n 'skyux_grid_column_picker_search_placeholder' | skyLibResources\n \"\n >\n </sky-list-toolbar>\n\n <sky-list-view-checklist label=\"heading\" description=\"description\">\n </sky-list-view-checklist>\n </sky-list>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_grid_column_picker_submit' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_grid_column_picker_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n" }]
37
+ }], ctorParameters: function () { return [{ type: i1.SkyColumnSelectorContext }, { type: i2.SkyModalInstance }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1ncmlkcy9zcmMvbGliL21vZHVsZXMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctZ3JpZHMvc3JjL2xpYi9tb2R1bGVzL2NvbHVtbi1zZWxlY3Rvci9jb2x1bW4tc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFNckUsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUNTLE9BQWlDLEVBQ2pDLFFBQTBCO1FBRDFCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBSjVCLHlCQUFvQixHQUFrQixFQUFFLENBQUM7UUFNOUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsV0FBaUM7UUFDNUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2pDLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEQsQ0FBQzs7dUhBekJVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDJEQ1R2Qyx5bUNBdUNBOzJGRDlCYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbHVtblNlbGVjdG9yQ29udGV4dCB9IGZyb20gJy4vY29sdW1uLXNlbGVjdG9yLWNvbnRleHQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY29sdW1uLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1zZWxlY3Rvci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbHVtblNlbGVjdG9yQ29tcG9uZW50IHtcbiAgcHVibGljIG5ld1NlbGVjdGVkQ29sdW1uSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRleHQ6IFNreUNvbHVtblNlbGVjdG9yQ29udGV4dCxcbiAgICBwdWJsaWMgaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2VcbiAgKSB7XG4gICAgdGhpcy5uZXdTZWxlY3RlZENvbHVtbklkcyA9IGNvbnRleHQuc2VsZWN0ZWRDb2x1bW5JZHM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRDb2x1bW5zQ2hhbmdlKHNlbGVjdGVkTWFwOiBNYXA8c3RyaW5nLCBib29sZWFuPikge1xuICAgIHRoaXMubmV3U2VsZWN0ZWRDb2x1bW5JZHMgPSBbXTtcbiAgICBzZWxlY3RlZE1hcC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5uZXdTZWxlY3RlZENvbHVtbklkcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsQ2hhbmdlcygpIHtcbiAgICB0aGlzLmluc3RhbmNlLmNhbmNlbCgpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Q2hhbmdlcygpIHtcbiAgICB0aGlzLmluc3RhbmNlLnNhdmUodGhpcy5uZXdTZWxlY3RlZENvbHVtbklkcyk7XG4gIH1cbn1cbiIsIjxza3ktbW9kYWw+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIHt7ICdza3l1eF9ncmlkX2NvbHVtbl9waWNrZXJfaGVhZGVyJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gIDxza3ktbW9kYWwtY29udGVudD5cbiAgICA8c2t5LWxpc3RcbiAgICAgICNsaXN0XG4gICAgICBbZGF0YV09XCJjb250ZXh0LmNvbHVtbnNcIlxuICAgICAgW3NlbGVjdGVkSWRzXT1cImNvbnRleHQuc2VsZWN0ZWRDb2x1bW5JZHNcIlxuICAgICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cInNlbGVjdGVkQ29sdW1uc0NoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c2t5LWxpc3QtdG9vbGJhclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgJ3NreXV4X2dyaWRfY29sdW1uX3BpY2tlcl9zZWFyY2hfcGxhY2Vob2xkZXInIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICA8L3NreS1saXN0LXRvb2xiYXI+XG5cbiAgICAgIDxza3ktbGlzdC12aWV3LWNoZWNrbGlzdCBsYWJlbD1cImhlYWRpbmdcIiBkZXNjcmlwdGlvbj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICA8L3NreS1saXN0LXZpZXctY2hlY2tsaXN0PlxuICAgIDwvc2t5LWxpc3Q+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIHNreS1jbXAtaWQ9XCJhcHBseS1jaGFuZ2VzXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cImFwcGx5Q2hhbmdlcygpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfZ3JpZF9jb2x1bW5fcGlja2VyX3N1Ym1pdCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBza3ktY21wLWlkPVwiY2FuY2VsXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmtcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbENoYW5nZXMoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2dyaWRfY29sdW1uX3BpY2tlcl9jYW5jZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
@@ -0,0 +1,40 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkyI18nModule } from '@skyux/i18n';
4
+ import { SkyListModule, SkyListToolbarModule } from '@skyux/list-builder';
5
+ import { SkyListViewChecklistModule } from '@skyux/list-builder-view-checklist';
6
+ import { SkyModalModule } from '@skyux/modals';
7
+ import { SkyColumnSelectorComponent } from './column-selector-modal.component';
8
+ import * as i0 from "@angular/core";
9
+ export class SkyColumnSelectorModule {
10
+ }
11
+ SkyColumnSelectorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyColumnSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorModule, declarations: [SkyColumnSelectorComponent], imports: [CommonModule,
13
+ SkyI18nModule,
14
+ SkyModalModule,
15
+ SkyListModule,
16
+ SkyListToolbarModule,
17
+ SkyListViewChecklistModule] });
18
+ SkyColumnSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorModule, imports: [[
19
+ CommonModule,
20
+ SkyI18nModule,
21
+ SkyModalModule,
22
+ SkyListModule,
23
+ SkyListToolbarModule,
24
+ SkyListViewChecklistModule,
25
+ ]] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColumnSelectorModule, decorators: [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [SkyColumnSelectorComponent],
30
+ imports: [
31
+ CommonModule,
32
+ SkyI18nModule,
33
+ SkyModalModule,
34
+ SkyListModule,
35
+ SkyListToolbarModule,
36
+ SkyListViewChecklistModule,
37
+ ],
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdG9yLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1ncmlkcy9zcmMvbGliL21vZHVsZXMvY29sdW1uLXNlbGVjdG9yL2NvbHVtbi1zZWxlY3Rvci1tb2RhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFhL0UsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQVZuQiwwQkFBMEIsYUFFdkMsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLG9CQUFvQjtRQUNwQiwwQkFBMEI7cUhBR2pCLHVCQUF1QixZQVR6QjtZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsMEJBQTBCO1NBQzNCOzJGQUVVLHVCQUF1QjtrQkFYbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzNCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5TGlzdE1vZHVsZSwgU2t5TGlzdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyJztcbmltcG9ydCB7IFNreUxpc3RWaWV3Q2hlY2tsaXN0TW9kdWxlIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdCc7XG5pbXBvcnQgeyBTa3lNb2RhbE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTa3lDb2x1bW5TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXNlbGVjdG9yLW1vZGFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreUNvbHVtblNlbGVjdG9yQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreU1vZGFsTW9kdWxlLFxuICAgIFNreUxpc3RNb2R1bGUsXG4gICAgU2t5TGlzdFRvb2xiYXJNb2R1bGUsXG4gICAgU2t5TGlzdFZpZXdDaGVja2xpc3RNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbHVtblNlbGVjdG9yTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,133 @@
1
+ import { Component, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { ListState, ListStateDispatcher, ListToolbarItemModel, SkyListSecondaryActionsComponent, } from '@skyux/list-builder';
3
+ import { SkyModalService } from '@skyux/modals';
4
+ import { distinctUntilChanged, map as observableMap, take, } from 'rxjs/operators';
5
+ import { SkyColumnSelectorContext, } from '../column-selector/column-selector-context';
6
+ import { SkyColumnSelectorComponent } from '../column-selector/column-selector-modal.component';
7
+ import { SkyListViewGridComponent } from '../list-view-grid/list-view-grid.component';
8
+ import { ListViewDisplayedGridColumnsLoadAction } from '../list-view-grid/state/displayed-columns/load.action';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@skyux/list-builder";
11
+ import * as i2 from "@skyux/modals";
12
+ import * as i3 from "./list-column-selector-button.component";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@skyux/i18n";
15
+ /**
16
+ * Provides a column selector modal for a list grid view when placed in a
17
+ * [list toolbar](https://developer.blackbaud.com/skyux/components/list/toolbar).
18
+ */
19
+ export class SkyListColumnSelectorActionComponent {
20
+ constructor(listState, modalService, dispatcher, secondaryActions) {
21
+ this.listState = listState;
22
+ this.modalService = modalService;
23
+ this.dispatcher = dispatcher;
24
+ this.secondaryActions = secondaryActions;
25
+ /**
26
+ * Fires when users click the help button and broadcasts the `helpKey`.
27
+ */
28
+ this.helpOpened = new EventEmitter();
29
+ this.columnSelectorActionItemToolbarIndex = 7000;
30
+ }
31
+ ngAfterContentInit() {
32
+ if (!this.secondaryActions) {
33
+ const columnChooserItem = new ListToolbarItemModel({
34
+ id: 'column-chooser',
35
+ template: this.columnChooserTemplate,
36
+ location: 'left',
37
+ });
38
+ this.dispatcher.toolbarAddItems([columnChooserItem], this.columnSelectorActionItemToolbarIndex);
39
+ }
40
+ }
41
+ get isInGridView() {
42
+ return this.listState.pipe(observableMap((s) => s.views.active), observableMap((activeView) => {
43
+ return this.gridView && activeView === this.gridView.id;
44
+ }), distinctUntilChanged());
45
+ }
46
+ get isInGridViewAndSecondary() {
47
+ return this.listState.pipe(observableMap((s) => s.views.active), observableMap((activeView) => {
48
+ return (this.secondaryActions &&
49
+ this.gridView &&
50
+ activeView === this.gridView.id);
51
+ }), distinctUntilChanged());
52
+ }
53
+ openColumnSelector() {
54
+ /* istanbul ignore else */
55
+ /* sanity check */
56
+ if (this.gridView) {
57
+ let columns = [];
58
+ let selectedColumnIds = [];
59
+ this.gridView.gridState
60
+ .pipe(take(1))
61
+ .subscribe((state) => {
62
+ columns = state.columns.items
63
+ .filter((item) => {
64
+ return !item.locked;
65
+ })
66
+ .map((item) => {
67
+ return {
68
+ id: item.id,
69
+ heading: item.heading,
70
+ description: item.description,
71
+ };
72
+ });
73
+ selectedColumnIds = state.displayedColumns.items
74
+ .filter((item) => {
75
+ return !item.locked;
76
+ })
77
+ .map((item) => {
78
+ return item.id;
79
+ });
80
+ });
81
+ const modalInstance = this.modalService.open(SkyColumnSelectorComponent, {
82
+ providers: [
83
+ {
84
+ provide: SkyColumnSelectorContext,
85
+ useValue: {
86
+ columns,
87
+ selectedColumnIds,
88
+ },
89
+ },
90
+ ],
91
+ helpKey: this.helpKey,
92
+ });
93
+ modalInstance.helpOpened.subscribe((helpKey) => {
94
+ this.helpOpened.emit(helpKey);
95
+ this.helpOpened.complete();
96
+ });
97
+ modalInstance.closed.subscribe((result) => {
98
+ if (result.reason === 'save' && result.data) {
99
+ const newSelectedIds = result.data;
100
+ let newDisplayedColumns = [];
101
+ this.gridView.gridState
102
+ .pipe(take(1))
103
+ .subscribe((state) => {
104
+ newDisplayedColumns = state.columns.items.filter((item) => {
105
+ return newSelectedIds.indexOf(item.id) > -1 || item.locked;
106
+ });
107
+ });
108
+ this.gridView.gridDispatcher.next(new ListViewDisplayedGridColumnsLoadAction(newDisplayedColumns, true));
109
+ }
110
+ });
111
+ }
112
+ }
113
+ }
114
+ SkyListColumnSelectorActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListColumnSelectorActionComponent, deps: [{ token: i1.ListState }, { token: i2.SkyModalService }, { token: i1.ListStateDispatcher }, { token: i1.SkyListSecondaryActionsComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
115
+ SkyListColumnSelectorActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkyListColumnSelectorActionComponent, selector: "sky-list-column-selector-action", inputs: { gridView: "gridView", helpKey: "helpKey" }, outputs: { helpOpened: "helpOpened" }, viewQueries: [{ propertyName: "columnChooserTemplate", first: true, predicate: ["columnChooser"], descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"isInGridViewAndSecondary | async\">\n <sky-list-secondary-action>\n <button type=\"button\" (click)=\"openColumnSelector()\">\n {{ 'skyux_grid_columns_button' | skyLibResources }}\n </button>\n </sky-list-secondary-action>\n</ng-container>\n\n<ng-template #columnChooser>\n <sky-list-column-selector-button\n *ngIf=\"isInGridView | async\"\n (click)=\"openColumnSelector()\"\n >\n </sky-list-column-selector-button>\n</ng-template>\n", components: [{ type: i1.λ6, selector: "sky-list-secondary-action" }, { type: i3.SkyListColumnSelectorButtonComponent, selector: "sky-list-column-selector-button" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe, "skyLibResources": i5.SkyLibResourcesPipe } });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyListColumnSelectorActionComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: 'sky-list-column-selector-action', template: "<ng-container *ngIf=\"isInGridViewAndSecondary | async\">\n <sky-list-secondary-action>\n <button type=\"button\" (click)=\"openColumnSelector()\">\n {{ 'skyux_grid_columns_button' | skyLibResources }}\n </button>\n </sky-list-secondary-action>\n</ng-container>\n\n<ng-template #columnChooser>\n <sky-list-column-selector-button\n *ngIf=\"isInGridView | async\"\n (click)=\"openColumnSelector()\"\n >\n </sky-list-column-selector-button>\n</ng-template>\n" }]
119
+ }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.SkyModalService }, { type: i1.ListStateDispatcher }, { type: i1.SkyListSecondaryActionsComponent, decorators: [{
120
+ type: Optional
121
+ }] }]; }, propDecorators: { gridView: [{
122
+ type: Input
123
+ }], helpKey: [{
124
+ type: Input
125
+ }], helpOpened: [{
126
+ type: Output
127
+ }], columnChooserTemplate: [{
128
+ type: ViewChild,
129
+ args: ['columnChooser', {
130
+ static: true,
131
+ }]
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1ncmlkcy9zcmMvbGliL21vZHVsZXMvbGlzdC1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uL2xpc3QtY29sdW1uLXNlbGVjdG9yLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctZ3JpZHMvc3JjL2xpYi9tb2R1bGVzL2xpc3QtY29sdW1uLXNlbGVjdG9yLWFjdGlvbi9saXN0LWNvbHVtbi1zZWxlY3Rvci1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsU0FBUyxFQUNULG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZ0NBQWdDLEdBQ2pDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFxQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEdBQ0wsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sNENBQTRDLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7Ozs7QUFHL0c7OztHQUdHO0FBS0gsTUFBTSxPQUFPLG9DQUFvQztJQTRCL0MsWUFDUyxTQUFvQixFQUNuQixZQUE2QixFQUM3QixVQUErQixFQUNwQixnQkFBa0Q7UUFIOUQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQztRQWpCdkU7O1dBRUc7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU92Qyx5Q0FBb0MsR0FBRyxJQUFJLENBQUM7SUFPakQsQ0FBQztJQUVHLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQztnQkFDakQsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7Z0JBQ3BDLFFBQVEsRUFBRSxNQUFNO2FBQ2pCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUM3QixDQUFDLGlCQUFpQixDQUFDLEVBQ25CLElBQUksQ0FBQyxvQ0FBb0MsQ0FDMUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDcEMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMxRCxDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFDcEMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDM0IsT0FBTyxDQUNMLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ3JCLElBQUksQ0FBQyxRQUFRO2dCQUNiLFVBQVUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDaEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksT0FBTyxHQUFrQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxpQkFBaUIsR0FBa0IsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztpQkFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7Z0JBQ25DLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUs7cUJBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQXdCLEVBQUUsRUFBRTtvQkFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQztxQkFDRCxHQUFHLENBQUMsQ0FBQyxJQUF3QixFQUFFLEVBQUU7b0JBQ2hDLE9BQU87d0JBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzt3QkFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO3FCQUM5QixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2dCQUNMLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO3FCQUM3QyxNQUFNLENBQUMsQ0FBQyxJQUF3QixFQUFFLEVBQUU7b0JBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN0QixDQUFDLENBQUM7cUJBQ0QsR0FBRyxDQUFDLENBQUMsSUFBd0IsRUFBRSxFQUFFO29CQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFFTCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtnQkFDdkUsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSx3QkFBd0I7d0JBQ2pDLFFBQVEsRUFBRTs0QkFDUixPQUFPOzRCQUNQLGlCQUFpQjt5QkFDbEI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztZQUVILGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUgsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUF5QixFQUFFLEVBQUU7Z0JBQzNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtvQkFDM0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDbkMsSUFBSSxtQkFBbUIsR0FBOEIsRUFBRSxDQUFDO29CQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7eUJBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2IsU0FBUyxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFO3dCQUNuQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTs0QkFDeEQsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO3dCQUM3RCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQy9CLElBQUksc0NBQXNDLENBQ3hDLG1CQUFtQixFQUNuQixJQUFJLENBQ0wsQ0FDRixDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O2lJQTdJVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQywwU0MzQ2pELCtkQWVBOzJGRDRCYSxvQ0FBb0M7a0JBSmhELFNBQVM7K0JBQ0UsaUNBQWlDOzswQkFtQ3hDLFFBQVE7NENBMUJKLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxPQUFPO3NCQURiLEtBQUs7Z0JBT0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFNQyxxQkFBcUI7c0JBSDVCLFNBQVM7dUJBQUMsZUFBZSxFQUFFO3dCQUMxQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lHcmlkQ29sdW1uTW9kZWwgfSBmcm9tICdAc2t5dXgvZ3JpZHMnO1xuaW1wb3J0IHtcbiAgTGlzdFN0YXRlLFxuICBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICBMaXN0VG9vbGJhckl0ZW1Nb2RlbCxcbiAgU2t5TGlzdFNlY29uZGFyeUFjdGlvbnNDb21wb25lbnQsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXInO1xuaW1wb3J0IHsgU2t5TW9kYWxDbG9zZUFyZ3MsIFNreU1vZGFsU2VydmljZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwIGFzIG9ic2VydmFibGVNYXAsXG4gIHRha2UsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgU2t5Q29sdW1uU2VsZWN0b3JDb250ZXh0LFxuICBTa3lDb2x1bW5TZWxlY3Rvck1vZGVsLFxufSBmcm9tICcuLi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5Q29sdW1uU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW4tc2VsZWN0b3IvY29sdW1uLXNlbGVjdG9yLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0Vmlld0dyaWRDb21wb25lbnQgfSBmcm9tICcuLi9saXN0LXZpZXctZ3JpZC9saXN0LXZpZXctZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFZpZXdEaXNwbGF5ZWRHcmlkQ29sdW1uc0xvYWRBY3Rpb24gfSBmcm9tICcuLi9saXN0LXZpZXctZ3JpZC9zdGF0ZS9kaXNwbGF5ZWQtY29sdW1ucy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBHcmlkU3RhdGVNb2RlbCB9IGZyb20gJy4uL2xpc3Qtdmlldy1ncmlkL3N0YXRlL2dyaWQtc3RhdGUubW9kZWwnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29sdW1uIHNlbGVjdG9yIG1vZGFsIGZvciBhIGxpc3QgZ3JpZCB2aWV3IHdoZW4gcGxhY2VkIGluIGFcbiAqIFtsaXN0IHRvb2xiYXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9saXN0L3Rvb2xiYXIpLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdC1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtY29sdW1uLXNlbGVjdG9yLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RDb2x1bW5TZWxlY3RvckFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAvKipcbiAgICogRW5hYmxlcyB0aGUgY29sdW1uIHNlbGVjdG9yIGluIHRoZSBsaXN0IHRvb2xiYXIuIFNldCB0aGlzIGF0dHJpYnV0ZSB0byB0aGUgaW5zdGFuY2Ugb2ZcbiAgICogdGhlIGBza3ktZ3JpZC12aWV3YCBjb21wb25lbnQgdXNpbmcgdGhlIGNvbXBvbmVudCdzIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBncmlkVmlldzogU2t5TGlzdFZpZXdHcmlkQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBgaGVscEtleWAgc3RyaW5nIGFuZCBkaXNwYXlzIGEgaGVscCBidXR0b24gaW4gdGhlIGdyaWQgaGVhZGVyLiBXaGVuIHVzZXJzIHNlbGVjdFxuICAgKiB0aGUgYnV0dG9uLCB0aGUgYGhlbHBPcGVuZWRgIGV2ZW50IGJyb2FkY2FzdHMgdGhlIGBoZWxwS2V5YCBwYXJhbWV0ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscEtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIGNsaWNrIHRoZSBoZWxwIGJ1dHRvbiBhbmQgYnJvYWRjYXN0cyB0aGUgYGhlbHBLZXlgLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBoZWxwT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY29sdW1uQ2hvb3NlcicsIHtcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgY29sdW1uQ2hvb3NlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgY29sdW1uU2VsZWN0b3JBY3Rpb25JdGVtVG9vbGJhckluZGV4ID0gNzAwMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbGlzdFN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IFNreU1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHNlY29uZGFyeUFjdGlvbnM6IFNreUxpc3RTZWNvbmRhcnlBY3Rpb25zQ29tcG9uZW50XG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5zZWNvbmRhcnlBY3Rpb25zKSB7XG4gICAgICBjb25zdCBjb2x1bW5DaG9vc2VySXRlbSA9IG5ldyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCh7XG4gICAgICAgIGlkOiAnY29sdW1uLWNob29zZXInLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy5jb2x1bW5DaG9vc2VyVGVtcGxhdGUsXG4gICAgICAgIGxvY2F0aW9uOiAnbGVmdCcsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhcbiAgICAgICAgW2NvbHVtbkNob29zZXJJdGVtXSxcbiAgICAgICAgdGhpcy5jb2x1bW5TZWxlY3RvckFjdGlvbkl0ZW1Ub29sYmFySW5kZXhcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzSW5HcmlkVmlldygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5saXN0U3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudmlld3MuYWN0aXZlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKGFjdGl2ZVZpZXcpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZFZpZXcgJiYgYWN0aXZlVmlldyA9PT0gdGhpcy5ncmlkVmlldy5pZDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNJbkdyaWRWaWV3QW5kU2Vjb25kYXJ5KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RTdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy52aWV3cy5hY3RpdmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoYWN0aXZlVmlldykgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9ucyAmJlxuICAgICAgICAgIHRoaXMuZ3JpZFZpZXcgJiZcbiAgICAgICAgICBhY3RpdmVWaWV3ID09PSB0aGlzLmdyaWRWaWV3LmlkXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9wZW5Db2x1bW5TZWxlY3RvcigpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmICh0aGlzLmdyaWRWaWV3KSB7XG4gICAgICBsZXQgY29sdW1uczogQXJyYXk8U2t5Q29sdW1uU2VsZWN0b3JNb2RlbD4gPSBbXTtcbiAgICAgIGxldCBzZWxlY3RlZENvbHVtbklkczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgdGhpcy5ncmlkVmlldy5ncmlkU3RhdGVcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IEdyaWRTdGF0ZU1vZGVsKSA9PiB7XG4gICAgICAgICAgY29sdW1ucyA9IHN0YXRlLmNvbHVtbnMuaXRlbXNcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IFNreUdyaWRDb2x1bW5Nb2RlbCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIWl0ZW0ubG9ja2VkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKGl0ZW06IFNreUdyaWRDb2x1bW5Nb2RlbCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIGhlYWRpbmc6IGl0ZW0uaGVhZGluZyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIHNlbGVjdGVkQ29sdW1uSWRzID0gc3RhdGUuZGlzcGxheWVkQ29sdW1ucy5pdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbTogU2t5R3JpZENvbHVtbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAhaXRlbS5sb2NrZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogU2t5R3JpZENvbHVtbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtLmlkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihTa3lDb2x1bW5TZWxlY3RvckNvbXBvbmVudCwge1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTa3lDb2x1bW5TZWxlY3RvckNvbnRleHQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgICAgICBzZWxlY3RlZENvbHVtbklkcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaGVscEtleTogdGhpcy5oZWxwS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIG1vZGFsSW5zdGFuY2UuaGVscE9wZW5lZC5zdWJzY3JpYmUoKGhlbHBLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmhlbHBPcGVuZWQuZW1pdChoZWxwS2V5KTtcbiAgICAgICAgdGhpcy5oZWxwT3BlbmVkLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcblxuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQucmVhc29uID09PSAnc2F2ZScgJiYgcmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgIGxldCBuZXdEaXNwbGF5ZWRDb2x1bW5zOiBBcnJheTxTa3lHcmlkQ29sdW1uTW9kZWw+ID0gW107XG4gICAgICAgICAgdGhpcy5ncmlkVmlldy5ncmlkU3RhdGVcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogR3JpZFN0YXRlTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgbmV3RGlzcGxheWVkQ29sdW1ucyA9IHN0YXRlLmNvbHVtbnMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ld1NlbGVjdGVkSWRzLmluZGV4T2YoaXRlbS5pZCkgPiAtMSB8fCBpdGVtLmxvY2tlZDtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmdyaWRWaWV3LmdyaWREaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgICBuZXcgTGlzdFZpZXdEaXNwbGF5ZWRHcmlkQ29sdW1uc0xvYWRBY3Rpb24oXG4gICAgICAgICAgICAgIG5ld0Rpc3BsYXllZENvbHVtbnMsXG4gICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luR3JpZFZpZXdBbmRTZWNvbmRhcnkgfCBhc3luY1wiPlxuICA8c2t5LWxpc3Qtc2Vjb25kYXJ5LWFjdGlvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkNvbHVtblNlbGVjdG9yKClcIj5cbiAgICAgIHt7ICdza3l1eF9ncmlkX2NvbHVtbnNfYnV0dG9uJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1saXN0LXNlY29uZGFyeS1hY3Rpb24+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjb2x1bW5DaG9vc2VyPlxuICA8c2t5LWxpc3QtY29sdW1uLXNlbGVjdG9yLWJ1dHRvblxuICAgICpuZ0lmPVwiaXNJbkdyaWRWaWV3IHwgYXN5bmNcIlxuICAgIChjbGljayk9XCJvcGVuQ29sdW1uU2VsZWN0b3IoKVwiXG4gID5cbiAgPC9za3ktbGlzdC1jb2x1bW4tc2VsZWN0b3ItYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==