@skyux/list-builder 5.9.4 → 6.0.0-beta.10

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 (351) hide show
  1. package/documentation.json +775 -532
  2. package/esm2020/index.mjs +78 -0
  3. package/esm2020/lib/modules/list/list-data-request.model.mjs +21 -0
  4. package/esm2020/lib/modules/list/list-data-response.model.mjs +12 -0
  5. package/esm2020/lib/modules/list/list-data.provider.mjs +10 -0
  6. package/esm2020/lib/modules/list/list-paging.component.mjs +14 -0
  7. package/esm2020/lib/modules/list/list-view.component.mjs +30 -0
  8. package/esm2020/lib/modules/list/list.component.mjs +315 -0
  9. package/esm2020/lib/modules/list/list.module.mjs +21 -0
  10. package/esm2020/lib/modules/list/state/filters/filters.orchestrator.mjs +17 -0
  11. package/esm2020/lib/modules/list/state/filters/update.action.mjs +10 -0
  12. package/esm2020/lib/modules/list/state/items/items.orchestrator.mjs +54 -0
  13. package/esm2020/lib/modules/list/state/items/load.action.mjs +13 -0
  14. package/esm2020/lib/modules/list/state/items/set-items-selected.action.mjs +14 -0
  15. package/esm2020/lib/modules/list/state/items/set-loading.action.mjs +10 -0
  16. package/esm2020/lib/modules/list/state/list-state-action.type.mjs +2 -0
  17. package/esm2020/lib/modules/list/state/list-state.model.mjs +25 -0
  18. package/esm2020/lib/modules/list/state/list-state.rxstate.mjs +82 -0
  19. package/esm2020/lib/modules/list/state/list-state.state-node.mjs +38 -0
  20. package/esm2020/lib/modules/list/state/paging/paging.model.mjs +15 -0
  21. package/esm2020/lib/modules/list/state/paging/paging.orchestrator.mjs +28 -0
  22. package/esm2020/lib/modules/list/state/paging/set-items-per-page.action.mjs +10 -0
  23. package/esm2020/lib/modules/list/state/paging/set-max-pages.action.mjs +10 -0
  24. package/esm2020/lib/modules/list/state/paging/set-page-number.action.mjs +10 -0
  25. package/esm2020/lib/modules/list/state/search/search.model.mjs +33 -0
  26. package/esm2020/lib/modules/list/state/search/search.orchestrator.mjs +48 -0
  27. package/esm2020/lib/modules/list/state/search/set-field-selectors.action.mjs +10 -0
  28. package/esm2020/lib/modules/list/state/search/set-functions.action.mjs +10 -0
  29. package/esm2020/lib/modules/list/state/search/set-options.action.mjs +12 -0
  30. package/esm2020/lib/modules/list/state/search/set-search-text.action.mjs +10 -0
  31. package/esm2020/lib/modules/list/state/selected/load.action.mjs +10 -0
  32. package/esm2020/lib/modules/list/state/selected/selected.model.mjs +10 -0
  33. package/esm2020/lib/modules/list/state/selected/selected.orchestrator.mjs +57 -0
  34. package/esm2020/lib/modules/list/state/selected/set-item-selected.action.mjs +11 -0
  35. package/esm2020/lib/modules/list/state/selected/set-items-selected.action.mjs +12 -0
  36. package/esm2020/lib/modules/list/state/selected/set-loading.action.mjs +10 -0
  37. package/esm2020/lib/modules/list/state/sort/label.model.mjs +26 -0
  38. package/esm2020/lib/modules/list/state/sort/set-available.action.mjs +10 -0
  39. package/esm2020/lib/modules/list/state/sort/set-field-selectors.action.mjs +10 -0
  40. package/esm2020/lib/modules/list/state/sort/set-global.action.mjs +10 -0
  41. package/esm2020/lib/modules/list/state/sort/sort.model.mjs +28 -0
  42. package/esm2020/lib/modules/list/state/sort/sort.orchestrator.mjs +31 -0
  43. package/esm2020/lib/modules/list/state/toolbar/disable.action.mjs +10 -0
  44. package/esm2020/lib/modules/list/state/toolbar/load.action.mjs +11 -0
  45. package/esm2020/lib/modules/list/state/toolbar/remove.action.mjs +10 -0
  46. package/esm2020/lib/modules/list/state/toolbar/set-exists.action.mjs +10 -0
  47. package/esm2020/lib/modules/list/state/toolbar/set-type.action.mjs +10 -0
  48. package/esm2020/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.mjs +10 -0
  49. package/esm2020/lib/modules/list/state/toolbar/toolbar-item.model.mjs +17 -0
  50. package/esm2020/lib/modules/list/state/toolbar/toolbar.model.mjs +18 -0
  51. package/esm2020/lib/modules/list/state/toolbar/toolbar.orchestrator.mjs +81 -0
  52. package/esm2020/lib/modules/list/state/views/load.action.mjs +10 -0
  53. package/esm2020/lib/modules/list/state/views/set-active.action.mjs +10 -0
  54. package/esm2020/lib/modules/list/state/views/view.model.mjs +11 -0
  55. package/esm2020/lib/modules/list/state/views/views.model.mjs +14 -0
  56. package/esm2020/lib/modules/list/state/views/views.orchestrator.mjs +22 -0
  57. package/esm2020/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.mjs +163 -0
  58. package/esm2020/lib/modules/list-filters/filter.model.mjs +18 -0
  59. package/esm2020/lib/modules/list-filters/list-filter-button.component.mjs +42 -0
  60. package/esm2020/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +34 -0
  61. package/esm2020/lib/modules/list-filters/list-filter-inline-item.component.mjs +46 -0
  62. package/esm2020/lib/modules/list-filters/list-filter-inline.component.mjs +72 -0
  63. package/esm2020/lib/modules/list-filters/list-filter-inline.model.mjs +21 -0
  64. package/esm2020/lib/modules/list-filters/list-filter-summary.component.mjs +58 -0
  65. package/esm2020/lib/modules/list-filters/list-filters.module.mjs +44 -0
  66. package/esm2020/lib/modules/list-paging/list-paging.component.mjs +92 -0
  67. package/esm2020/lib/modules/list-paging/list-paging.module.mjs +22 -0
  68. package/esm2020/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +149 -0
  69. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +31 -0
  70. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.mjs +2 -0
  71. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +45 -0
  72. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +41 -0
  73. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +49 -0
  74. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +36 -0
  75. package/esm2020/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +30 -0
  76. package/esm2020/lib/modules/list-toolbar/list-toolbar-item.component.mjs +48 -0
  77. package/esm2020/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +15 -0
  78. package/esm2020/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +26 -0
  79. package/esm2020/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +27 -0
  80. package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +363 -0
  81. package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +90 -0
  82. package/esm2020/lib/modules/list-toolbar/state/config/config.model.mjs +14 -0
  83. package/esm2020/lib/modules/list-toolbar/state/config/config.orchestrator.mjs +21 -0
  84. package/esm2020/lib/modules/list-toolbar/state/config/set-search-enabled.action.mjs +9 -0
  85. package/esm2020/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.mjs +10 -0
  86. package/esm2020/lib/modules/list-toolbar/state/toolbar-state-action.type.mjs +2 -0
  87. package/esm2020/lib/modules/list-toolbar/state/toolbar-state.model.mjs +10 -0
  88. package/esm2020/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +19 -0
  89. package/esm2020/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +23 -0
  90. package/esm2020/lib/modules/shared/sky-list-builder-resources.module.mjs +53 -0
  91. package/esm2020/skyux-list-builder.mjs +5 -0
  92. package/fesm2015/{skyux-list-builder.js → skyux-list-builder.mjs} +231 -163
  93. package/fesm2015/skyux-list-builder.mjs.map +1 -0
  94. package/fesm2020/skyux-list-builder.mjs +2781 -0
  95. package/fesm2020/skyux-list-builder.mjs.map +1 -0
  96. package/lib/modules/list/list-data-request.model.d.ts +3 -0
  97. package/lib/modules/list/list-data-response.model.d.ts +3 -0
  98. package/lib/modules/list/list-data.provider.d.ts +1 -0
  99. package/lib/modules/list/list-paging.component.d.ts +1 -0
  100. package/lib/modules/list/list-view.component.d.ts +1 -0
  101. package/lib/modules/list/list.component.d.ts +5 -1
  102. package/lib/modules/list/list.module.d.ts +3 -0
  103. package/lib/modules/list/state/filters/filters.orchestrator.d.ts +1 -0
  104. package/lib/modules/list/state/filters/update.action.d.ts +1 -0
  105. package/lib/modules/list/state/items/items.orchestrator.d.ts +1 -0
  106. package/lib/modules/list/state/items/load.action.d.ts +1 -0
  107. package/lib/modules/list/state/items/set-items-selected.action.d.ts +1 -0
  108. package/lib/modules/list/state/items/set-loading.action.d.ts +1 -0
  109. package/lib/modules/list/state/list-state-action.type.d.ts +1 -0
  110. package/lib/modules/list/state/list-state.model.d.ts +1 -0
  111. package/lib/modules/list/state/list-state.rxstate.d.ts +2 -0
  112. package/lib/modules/list/state/list-state.state-node.d.ts +1 -0
  113. package/lib/modules/list/state/paging/paging.model.d.ts +1 -0
  114. package/lib/modules/list/state/paging/paging.orchestrator.d.ts +1 -0
  115. package/lib/modules/list/state/paging/set-items-per-page.action.d.ts +1 -0
  116. package/lib/modules/list/state/paging/set-max-pages.action.d.ts +1 -0
  117. package/lib/modules/list/state/paging/set-page-number.action.d.ts +1 -0
  118. package/lib/modules/list/state/search/search.model.d.ts +1 -0
  119. package/lib/modules/list/state/search/search.orchestrator.d.ts +1 -0
  120. package/lib/modules/list/state/search/set-field-selectors.action.d.ts +1 -0
  121. package/lib/modules/list/state/search/set-functions.action.d.ts +1 -0
  122. package/lib/modules/list/state/search/set-options.action.d.ts +1 -0
  123. package/lib/modules/list/state/search/set-search-text.action.d.ts +1 -0
  124. package/lib/modules/list/state/selected/load.action.d.ts +1 -0
  125. package/lib/modules/list/state/selected/selected.model.d.ts +1 -0
  126. package/lib/modules/list/state/selected/selected.orchestrator.d.ts +1 -0
  127. package/lib/modules/list/state/selected/set-item-selected.action.d.ts +1 -0
  128. package/lib/modules/list/state/selected/set-items-selected.action.d.ts +1 -0
  129. package/lib/modules/list/state/selected/set-loading.action.d.ts +1 -0
  130. package/lib/modules/list/state/sort/label.model.d.ts +1 -0
  131. package/lib/modules/list/state/sort/set-available.action.d.ts +1 -0
  132. package/lib/modules/list/state/sort/set-field-selectors.action.d.ts +1 -0
  133. package/lib/modules/list/state/sort/set-global.action.d.ts +1 -0
  134. package/lib/modules/list/state/sort/sort.model.d.ts +1 -0
  135. package/lib/modules/list/state/sort/sort.orchestrator.d.ts +1 -0
  136. package/lib/modules/list/state/toolbar/disable.action.d.ts +1 -0
  137. package/lib/modules/list/state/toolbar/load.action.d.ts +1 -0
  138. package/lib/modules/list/state/toolbar/remove.action.d.ts +1 -0
  139. package/lib/modules/list/state/toolbar/set-exists.action.d.ts +1 -0
  140. package/lib/modules/list/state/toolbar/set-type.action.d.ts +1 -0
  141. package/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.d.ts +1 -0
  142. package/lib/modules/list/state/toolbar/toolbar-item.model.d.ts +1 -0
  143. package/lib/modules/list/state/toolbar/toolbar.model.d.ts +1 -0
  144. package/lib/modules/list/state/toolbar/toolbar.orchestrator.d.ts +1 -0
  145. package/lib/modules/list/state/views/load.action.d.ts +1 -0
  146. package/lib/modules/list/state/views/set-active.action.d.ts +1 -0
  147. package/lib/modules/list/state/views/view.model.d.ts +1 -0
  148. package/lib/modules/list/state/views/views.model.d.ts +1 -0
  149. package/lib/modules/list/state/views/views.orchestrator.d.ts +1 -0
  150. package/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +3 -0
  151. package/lib/modules/list-filters/list-filter-button.component.d.ts +1 -0
  152. package/lib/modules/list-filters/list-filter-inline-item.component.d.ts +1 -0
  153. package/lib/modules/list-filters/list-filter-inline.component.d.ts +1 -0
  154. package/lib/modules/list-filters/list-filter-summary.component.d.ts +1 -0
  155. package/lib/modules/list-filters/list-filters.module.d.ts +3 -0
  156. package/lib/modules/list-paging/list-paging.component.d.ts +3 -1
  157. package/lib/modules/list-paging/list-paging.module.d.ts +3 -0
  158. package/lib/modules/list-toolbar/list-multiselect-toolbar.component.d.ts +1 -0
  159. package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.d.ts +1 -0
  160. package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.d.ts +1 -0
  161. package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.d.ts +1 -0
  162. package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.d.ts +3 -0
  163. package/lib/modules/list-toolbar/list-toolbar-item.component.d.ts +1 -0
  164. package/lib/modules/list-toolbar/list-toolbar-search-actions.component.d.ts +1 -0
  165. package/lib/modules/list-toolbar/list-toolbar-sort.component.d.ts +1 -0
  166. package/lib/modules/list-toolbar/list-toolbar-view-actions.component.d.ts +3 -0
  167. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +4 -1
  168. package/lib/modules/list-toolbar/list-toolbar.module.d.ts +3 -0
  169. package/package.json +33 -16
  170. package/bundles/skyux-list-builder.umd.js +0 -3357
  171. package/esm2015/index.js +0 -78
  172. package/esm2015/index.js.map +0 -1
  173. package/esm2015/lib/modules/list/list-data-request.model.js +0 -18
  174. package/esm2015/lib/modules/list/list-data-request.model.js.map +0 -1
  175. package/esm2015/lib/modules/list/list-data-response.model.js +0 -9
  176. package/esm2015/lib/modules/list/list-data-response.model.js.map +0 -1
  177. package/esm2015/lib/modules/list/list-data.provider.js +0 -9
  178. package/esm2015/lib/modules/list/list-data.provider.js.map +0 -1
  179. package/esm2015/lib/modules/list/list-paging.component.js +0 -13
  180. package/esm2015/lib/modules/list/list-paging.component.js.map +0 -1
  181. package/esm2015/lib/modules/list/list-view.component.js +0 -29
  182. package/esm2015/lib/modules/list/list-view.component.js.map +0 -1
  183. package/esm2015/lib/modules/list/list.component.js +0 -305
  184. package/esm2015/lib/modules/list/list.component.js.map +0 -1
  185. package/esm2015/lib/modules/list/list.module.js +0 -18
  186. package/esm2015/lib/modules/list/list.module.js.map +0 -1
  187. package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js +0 -16
  188. package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +0 -1
  189. package/esm2015/lib/modules/list/state/filters/update.action.js +0 -9
  190. package/esm2015/lib/modules/list/state/filters/update.action.js.map +0 -1
  191. package/esm2015/lib/modules/list/state/items/items.orchestrator.js +0 -53
  192. package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +0 -1
  193. package/esm2015/lib/modules/list/state/items/load.action.js +0 -12
  194. package/esm2015/lib/modules/list/state/items/load.action.js.map +0 -1
  195. package/esm2015/lib/modules/list/state/items/set-items-selected.action.js +0 -13
  196. package/esm2015/lib/modules/list/state/items/set-items-selected.action.js.map +0 -1
  197. package/esm2015/lib/modules/list/state/items/set-loading.action.js +0 -9
  198. package/esm2015/lib/modules/list/state/items/set-loading.action.js.map +0 -1
  199. package/esm2015/lib/modules/list/state/list-state-action.type.js +0 -2
  200. package/esm2015/lib/modules/list/state/list-state-action.type.js.map +0 -1
  201. package/esm2015/lib/modules/list/state/list-state.model.js +0 -24
  202. package/esm2015/lib/modules/list/state/list-state.model.js.map +0 -1
  203. package/esm2015/lib/modules/list/state/list-state.rxstate.js +0 -80
  204. package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +0 -1
  205. package/esm2015/lib/modules/list/state/list-state.state-node.js +0 -37
  206. package/esm2015/lib/modules/list/state/list-state.state-node.js.map +0 -1
  207. package/esm2015/lib/modules/list/state/paging/paging.model.js +0 -14
  208. package/esm2015/lib/modules/list/state/paging/paging.model.js.map +0 -1
  209. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +0 -27
  210. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +0 -1
  211. package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js +0 -9
  212. package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js.map +0 -1
  213. package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js +0 -9
  214. package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js.map +0 -1
  215. package/esm2015/lib/modules/list/state/paging/set-page-number.action.js +0 -9
  216. package/esm2015/lib/modules/list/state/paging/set-page-number.action.js.map +0 -1
  217. package/esm2015/lib/modules/list/state/search/search.model.js +0 -32
  218. package/esm2015/lib/modules/list/state/search/search.model.js.map +0 -1
  219. package/esm2015/lib/modules/list/state/search/search.orchestrator.js +0 -47
  220. package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +0 -1
  221. package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js +0 -9
  222. package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js.map +0 -1
  223. package/esm2015/lib/modules/list/state/search/set-functions.action.js +0 -9
  224. package/esm2015/lib/modules/list/state/search/set-functions.action.js.map +0 -1
  225. package/esm2015/lib/modules/list/state/search/set-options.action.js +0 -11
  226. package/esm2015/lib/modules/list/state/search/set-options.action.js.map +0 -1
  227. package/esm2015/lib/modules/list/state/search/set-search-text.action.js +0 -9
  228. package/esm2015/lib/modules/list/state/search/set-search-text.action.js.map +0 -1
  229. package/esm2015/lib/modules/list/state/selected/load.action.js +0 -9
  230. package/esm2015/lib/modules/list/state/selected/load.action.js.map +0 -1
  231. package/esm2015/lib/modules/list/state/selected/selected.model.js +0 -9
  232. package/esm2015/lib/modules/list/state/selected/selected.model.js.map +0 -1
  233. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +0 -56
  234. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +0 -1
  235. package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js +0 -10
  236. package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js.map +0 -1
  237. package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js +0 -11
  238. package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js.map +0 -1
  239. package/esm2015/lib/modules/list/state/selected/set-loading.action.js +0 -9
  240. package/esm2015/lib/modules/list/state/selected/set-loading.action.js.map +0 -1
  241. package/esm2015/lib/modules/list/state/sort/label.model.js +0 -25
  242. package/esm2015/lib/modules/list/state/sort/label.model.js.map +0 -1
  243. package/esm2015/lib/modules/list/state/sort/set-available.action.js +0 -9
  244. package/esm2015/lib/modules/list/state/sort/set-available.action.js.map +0 -1
  245. package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js +0 -9
  246. package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js.map +0 -1
  247. package/esm2015/lib/modules/list/state/sort/set-global.action.js +0 -9
  248. package/esm2015/lib/modules/list/state/sort/set-global.action.js.map +0 -1
  249. package/esm2015/lib/modules/list/state/sort/sort.model.js +0 -27
  250. package/esm2015/lib/modules/list/state/sort/sort.model.js.map +0 -1
  251. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +0 -30
  252. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +0 -1
  253. package/esm2015/lib/modules/list/state/toolbar/disable.action.js +0 -9
  254. package/esm2015/lib/modules/list/state/toolbar/disable.action.js.map +0 -1
  255. package/esm2015/lib/modules/list/state/toolbar/load.action.js +0 -10
  256. package/esm2015/lib/modules/list/state/toolbar/load.action.js.map +0 -1
  257. package/esm2015/lib/modules/list/state/toolbar/remove.action.js +0 -9
  258. package/esm2015/lib/modules/list/state/toolbar/remove.action.js.map +0 -1
  259. package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js +0 -9
  260. package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js.map +0 -1
  261. package/esm2015/lib/modules/list/state/toolbar/set-type.action.js +0 -9
  262. package/esm2015/lib/modules/list/state/toolbar/set-type.action.js.map +0 -1
  263. package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js +0 -9
  264. package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js.map +0 -1
  265. package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js +0 -16
  266. package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +0 -1
  267. package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js +0 -17
  268. package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js.map +0 -1
  269. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +0 -80
  270. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +0 -1
  271. package/esm2015/lib/modules/list/state/views/load.action.js +0 -9
  272. package/esm2015/lib/modules/list/state/views/load.action.js.map +0 -1
  273. package/esm2015/lib/modules/list/state/views/set-active.action.js +0 -9
  274. package/esm2015/lib/modules/list/state/views/set-active.action.js.map +0 -1
  275. package/esm2015/lib/modules/list/state/views/view.model.js +0 -10
  276. package/esm2015/lib/modules/list/state/views/view.model.js.map +0 -1
  277. package/esm2015/lib/modules/list/state/views/views.model.js +0 -13
  278. package/esm2015/lib/modules/list/state/views/views.model.js.map +0 -1
  279. package/esm2015/lib/modules/list/state/views/views.orchestrator.js +0 -21
  280. package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +0 -1
  281. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +0 -160
  282. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +0 -1
  283. package/esm2015/lib/modules/list-filters/filter.model.js +0 -18
  284. package/esm2015/lib/modules/list-filters/filter.model.js.map +0 -1
  285. package/esm2015/lib/modules/list-filters/list-filter-button.component.js +0 -44
  286. package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +0 -1
  287. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +0 -34
  288. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +0 -1
  289. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +0 -45
  290. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +0 -1
  291. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +0 -74
  292. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +0 -1
  293. package/esm2015/lib/modules/list-filters/list-filter-inline.model.js +0 -21
  294. package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +0 -1
  295. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +0 -60
  296. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +0 -1
  297. package/esm2015/lib/modules/list-filters/list-filters.module.js +0 -41
  298. package/esm2015/lib/modules/list-filters/list-filters.module.js.map +0 -1
  299. package/esm2015/lib/modules/list-paging/list-paging.component.js +0 -89
  300. package/esm2015/lib/modules/list-paging/list-paging.component.js.map +0 -1
  301. package/esm2015/lib/modules/list-paging/list-paging.module.js +0 -19
  302. package/esm2015/lib/modules/list-paging/list-paging.module.js.map +0 -1
  303. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +0 -152
  304. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +0 -1
  305. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +0 -33
  306. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js.map +0 -1
  307. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +0 -2
  308. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js.map +0 -1
  309. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +0 -50
  310. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +0 -1
  311. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +0 -45
  312. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +0 -1
  313. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +0 -46
  314. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +0 -1
  315. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +0 -36
  316. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js.map +0 -1
  317. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +0 -30
  318. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +0 -1
  319. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +0 -47
  320. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +0 -1
  321. package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js +0 -19
  322. package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js.map +0 -1
  323. package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js +0 -25
  324. package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js.map +0 -1
  325. package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js +0 -21
  326. package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js.map +0 -1
  327. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +0 -360
  328. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +0 -1
  329. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +0 -87
  330. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +0 -1
  331. package/esm2015/lib/modules/list-toolbar/state/config/config.model.js +0 -14
  332. package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +0 -1
  333. package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js +0 -21
  334. package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +0 -1
  335. package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js +0 -9
  336. package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js.map +0 -1
  337. package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +0 -10
  338. package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js.map +0 -1
  339. package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js +0 -2
  340. package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +0 -1
  341. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js +0 -10
  342. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js.map +0 -1
  343. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js +0 -19
  344. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +0 -1
  345. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +0 -23
  346. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +0 -1
  347. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +0 -53
  348. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +0 -1
  349. package/esm2015/skyux-list-builder.js +0 -5
  350. package/esm2015/skyux-list-builder.js.map +0 -1
  351. package/fesm2015/skyux-list-builder.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ export * from './lib/modules/list/list-data-request.model';
2
+ export * from './lib/modules/list/list-data-response.model';
3
+ export * from './lib/modules/list/list-data.provider';
4
+ export * from './lib/modules/list/list.module';
5
+ export * from './lib/modules/list/state/list-state-action.type';
6
+ export * from './lib/modules/list/state/list-state.model';
7
+ export * from './lib/modules/list/state/list-state.rxstate';
8
+ export * from './lib/modules/list/state/list-state.state-node';
9
+ export * from './lib/modules/list/state/filters/filters.orchestrator';
10
+ export * from './lib/modules/list/state/filters/update.action';
11
+ export * from './lib/modules/list/state/items/items.orchestrator';
12
+ export * from './lib/modules/list/state/items/load.action';
13
+ export * from './lib/modules/list/state/items/set-items-selected.action';
14
+ export * from './lib/modules/list/state/items/set-loading.action';
15
+ export * from './lib/modules/list/state/paging/paging.model';
16
+ export * from './lib/modules/list/state/paging/paging.orchestrator';
17
+ export * from './lib/modules/list/state/paging/set-items-per-page.action';
18
+ export * from './lib/modules/list/state/paging/set-max-pages.action';
19
+ export * from './lib/modules/list/state/paging/set-page-number.action';
20
+ export * from './lib/modules/list/state/search/search.model';
21
+ export * from './lib/modules/list/state/search/search.orchestrator';
22
+ export * from './lib/modules/list/state/search/set-field-selectors.action';
23
+ export * from './lib/modules/list/state/search/set-functions.action';
24
+ export * from './lib/modules/list/state/search/set-options.action';
25
+ export * from './lib/modules/list/state/search/set-search-text.action';
26
+ export * from './lib/modules/list/state/selected/load.action';
27
+ export * from './lib/modules/list/state/selected/selected.model';
28
+ export * from './lib/modules/list/state/selected/selected.orchestrator';
29
+ export * from './lib/modules/list/state/selected/set-item-selected.action';
30
+ export * from './lib/modules/list/state/selected/set-items-selected.action';
31
+ export * from './lib/modules/list/state/selected/set-loading.action';
32
+ export * from './lib/modules/list/state/sort/label.model';
33
+ export * from './lib/modules/list/state/sort/set-available.action';
34
+ export * from './lib/modules/list/state/sort/set-field-selectors.action';
35
+ export * from './lib/modules/list/state/sort/set-global.action';
36
+ export * from './lib/modules/list/state/sort/sort.model';
37
+ export * from './lib/modules/list/state/sort/sort.orchestrator';
38
+ export * from './lib/modules/list/state/toolbar/disable.action';
39
+ export * from './lib/modules/list/state/toolbar/load.action';
40
+ export * from './lib/modules/list/state/toolbar/remove.action';
41
+ export * from './lib/modules/list/state/toolbar/set-exists.action';
42
+ export * from './lib/modules/list/state/toolbar/set-type.action';
43
+ export * from './lib/modules/list/state/toolbar/show-multiselect-toolbar.action';
44
+ export * from './lib/modules/list/state/toolbar/toolbar-item.model';
45
+ export * from './lib/modules/list/state/toolbar/toolbar.model';
46
+ export * from './lib/modules/list/state/toolbar/toolbar.orchestrator';
47
+ export * from './lib/modules/list/state/views/load.action';
48
+ export * from './lib/modules/list/state/views/set-active.action';
49
+ export * from './lib/modules/list/state/views/view.model';
50
+ export * from './lib/modules/list/state/views/views.model';
51
+ export * from './lib/modules/list/state/views/views.orchestrator';
52
+ export * from './lib/modules/list-data-provider-in-memory/list-data-in-memory.provider';
53
+ export * from './lib/modules/list-filters/filter.model';
54
+ export * from './lib/modules/list-filters/list-filter-inline.model';
55
+ export * from './lib/modules/list-filters/list-filters.module';
56
+ export * from './lib/modules/list-paging/list-paging.module';
57
+ export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-action';
58
+ export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module';
59
+ export * from './lib/modules/list-toolbar/list-toolbar.module';
60
+ // The following exports are used internally by `@skyux/list-builder-view-grids`.
61
+ export * from './lib/modules/list/list-view.component';
62
+ export * from './lib/modules/list/list.component';
63
+ export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component';
64
+ export * from './lib/modules/list-toolbar/list-toolbar.component';
65
+ // Components and directives must be exported to support Angular's "partial" Ivy compiler.
66
+ // Obscure names are used to indicate types are not part of the public API.
67
+ export { SkyListFilterButtonComponent as λ1 } from './lib/modules/list-filters/list-filter-button.component';
68
+ export { SkyListFilterSummaryComponent as λ2 } from './lib/modules/list-filters/list-filter-summary.component';
69
+ export { SkyListFilterInlineItemComponent as λ3 } from './lib/modules/list-filters/list-filter-inline-item.component';
70
+ export { SkyListFilterInlineComponent as λ4 } from './lib/modules/list-filters/list-filter-inline.component';
71
+ export { SkyListPagingComponent as λ5 } from './lib/modules/list-paging/list-paging.component';
72
+ export { SkyListSecondaryActionComponent as λ6 } from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component';
73
+ export { SkyListSecondaryActionsComponent as λ7 } from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component';
74
+ export { SkyListToolbarItemComponent as λ8 } from './lib/modules/list-toolbar/list-toolbar-item.component';
75
+ export { SkyListToolbarSortComponent as λ9 } from './lib/modules/list-toolbar/list-toolbar-sort.component';
76
+ export { SkyListToolbarViewActionsComponent as λ10 } from './lib/modules/list-toolbar/list-toolbar-view-actions.component';
77
+ export { SkyListToolbarSearchActionsComponent as λ11 } from './lib/modules/list-toolbar/list-toolbar-search-actions.component';
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHlFQUF5RSxDQUFDO0FBRXhGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsOENBQThDLENBQUM7QUFFN0QsY0FBYyx5RUFBeUUsQ0FBQztBQUN4RixjQUFjLGlGQUFpRixDQUFDO0FBRWhHLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsaUZBQWlGO0FBQ2pGLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9GQUFvRixDQUFDO0FBQ25HLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLElBQUksRUFBRSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDN0csT0FBTyxFQUFFLDZCQUE2QixJQUFJLEVBQUUsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsNEJBQTRCLElBQUksRUFBRSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDN0csT0FBTyxFQUFFLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwrQkFBK0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUMxSSxPQUFPLEVBQUUsZ0NBQWdDLElBQUksRUFBRSxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUksT0FBTyxFQUFFLDJCQUEyQixJQUFJLEVBQUUsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxFQUFFLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0NBQWtDLElBQUksR0FBRyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGtFQUFrRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvZmlsdGVycy9maWx0ZXJzLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvZmlsdGVycy91cGRhdGUuYWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL2l0ZW1zLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvaXRlbXMvbG9hZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL3NldC1pdGVtcy1zZWxlY3RlZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL3NldC1sb2FkaW5nLmFjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9wYWdpbmcvcGFnaW5nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9wYWdpbmcvcGFnaW5nLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1pdGVtcy1wZXItcGFnZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3BhZ2luZy9zZXQtbWF4LXBhZ2VzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1wYWdlLW51bWJlci5hY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NlYXJjaC5vcmNoZXN0cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NldC1mdW5jdGlvbnMuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2V0LW9wdGlvbnMuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2V0LXNlYXJjaC10ZXh0LmFjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9sb2FkLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2VsZWN0ZWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2V0LWl0ZW0tc2VsZWN0ZWQuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtaXRlbXMtc2VsZWN0ZWQuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtbG9hZGluZy5hY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9sYWJlbC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtYXZhaWxhYmxlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtZ2xvYmFsLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zb3J0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zb3J0L3NvcnQub3JjaGVzdHJhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvZGlzYWJsZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvbG9hZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvcmVtb3ZlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci9zZXQtZXhpc3RzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci9zZXQtdHlwZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvc2hvdy1tdWx0aXNlbGVjdC10b29sYmFyLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci90b29sYmFyLWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvdG9vbGJhci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci90b29sYmFyLm9yY2hlc3RyYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdmlld3Mvc2V0LWFjdGl2ZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3ZpZXdzL3ZpZXdzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS92aWV3cy92aWV3cy5vcmNoZXN0cmF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1pbmxpbmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXJzLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1wYWdpbmcvbGlzdC1wYWdpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb25zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydHMgYXJlIHVzZWQgaW50ZXJuYWxseSBieSBgQHNreXV4L2xpc3QtYnVpbGRlci12aWV3LWdyaWRzYC5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXNlY29uZGFyeS1hY3Rpb25zL2xpc3Qtc2Vjb25kYXJ5LWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lMaXN0RmlsdGVyQnV0dG9uQ29tcG9uZW50IGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1maWx0ZXJzL2xpc3QtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdEZpbHRlclN1bW1hcnlDb21wb25lbnQgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItc3VtbWFyeS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdEZpbHRlcklubGluZUl0ZW1Db21wb25lbnQgYXMgzrszIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQgYXMgzrs0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lMaXN0UGFnaW5nQ29tcG9uZW50IGFzIM67NSB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1wYWdpbmcvbGlzdC1wYWdpbmcuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RTZWNvbmRhcnlBY3Rpb25Db21wb25lbnQgYXMgzrs2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RTZWNvbmRhcnlBY3Rpb25zQ29tcG9uZW50IGFzIM67NyB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3Qtc2Vjb25kYXJ5LWFjdGlvbnMvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50IGFzIM67OCB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQgYXMgzrs5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC10b29sYmFyLXNvcnQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RUb29sYmFyVmlld0FjdGlvbnNDb21wb25lbnQgYXMgzrsxMCB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci12aWV3LWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RUb29sYmFyU2VhcmNoQWN0aW9uc0NvbXBvbmVudCBhcyDOuzExIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC10b29sYmFyLXNlYXJjaC1hY3Rpb25zLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @deprecated
3
+ */
4
+ export class ListDataRequestModel {
5
+ constructor(data) {
6
+ /**
7
+ * Indicates whether to disable the search bar and filter button.
8
+ * @default false
9
+ */
10
+ this.isToolbarDisabled = false;
11
+ if (data !== undefined) {
12
+ this.filters = data.filters;
13
+ this.pageSize = data.pageSize;
14
+ this.pageNumber = data.pageNumber;
15
+ this.search = data.search;
16
+ this.sort = data.sort;
17
+ this.isToolbarDisabled = data.isToolbarDisabled;
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQStCL0IsWUFBWSxJQUFVO1FBTnRCOzs7V0FHRztRQUNJLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUcvQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U29ydE1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NvcnQubW9kZWwnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciBpdGVtcyBhcmUgZmlsdGVyZWQuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgd2hlbiB1c2luZyBhbiBpbi1tZW1vcnkgZGF0YSBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXTtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cbiAgICovXG4gIHB1YmxpYyBwYWdlTnVtYmVyOiBudW1iZXI7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBtYW5hZ2UgdGhlIGRhdGEgc291cmNlIHdoZW4gdXNlcnNcbiAgICogY2hhbmdlIHRoZSB0ZXh0IGluIHRoZSBsaXN0IGZpZWxkLiBUaGUgc2VhcmNoIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGFuXG4gICAqIGFycmF5IG9yIGEgcHJvbWlzZSBvZiBhbiBhcnJheS4gVGhlIGBzZWFyY2hgIHByb3BlcnR5IGlzIHBhcnRpY3VsYXJseSB1c2VmdWxcbiAgICogd2hlbiB0aGUgZGF0YSBzb3VyY2UgZG9lcyBub3QgbGl2ZSBpbiB0aGUgc291cmNlIGNvZGUuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoOiBMaXN0U2VhcmNoTW9kZWw7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZXQgb2YgZmllbGRzIHRvIHNvcnQgYnkuXG4gICAqL1xuICBwdWJsaWMgc29ydDogTGlzdFNvcnRNb2RlbDtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHNlYXJjaCBiYXIgYW5kIGZpbHRlciBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNUb29sYmFyRGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5maWx0ZXJzID0gZGF0YS5maWx0ZXJzO1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IGRhdGEucGFnZVNpemU7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXIgPSBkYXRhLnBhZ2VOdW1iZXI7XG4gICAgICB0aGlzLnNlYXJjaCA9IGRhdGEuc2VhcmNoO1xuICAgICAgdGhpcy5zb3J0ID0gZGF0YS5zb3J0O1xuICAgICAgdGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCA9IGRhdGEuaXNUb29sYmFyRGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @deprecated
3
+ */
4
+ export class ListDataResponseModel {
5
+ constructor(data) {
6
+ if (data !== undefined) {
7
+ this.count = data.count;
8
+ this.items = data.items;
9
+ }
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBV2hDLFlBQVksSUFBVTtRQUNwQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3REYXRhUmVzcG9uc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHJlY29yZHMgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgY291bnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRoZSBpdGVtcyByZXR1cm5lZC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0SXRlbU1vZGVsYCwgc2VlIHRoZVxuICAgKiBbc2hhcmVkIGNsYXNzZXMgZm9yIGxpc3RzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LWxpc3QtYnVpbGRlci1jb21tb24vZG9jcy9saXN0LWJ1aWxkZXItY29tbW9uKS5cbiAgICovXG4gIHB1YmxpYyBpdGVtczogTGlzdEl0ZW1Nb2RlbFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvdW50ID0gZGF0YS5jb3VudDtcbiAgICAgIHRoaXMuaXRlbXMgPSBkYXRhLml0ZW1zO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @internal
3
+ * @deprecated
4
+ */
5
+ export class ListDataProvider {
6
+ constructor(data) {
7
+ this.data = data;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsWUFBbUIsSUFBd0I7UUFBeEIsU0FBSSxHQUFKLElBQUksQ0FBb0I7SUFBRyxDQUFDO0NBT2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3REYXRhUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YT86IE9ic2VydmFibGU8YW55W10+KSB7fVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQoXG4gICAgcmVxdWVzdDogTGlzdERhdGFSZXF1ZXN0TW9kZWxcbiAgKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ /**
3
+ * Provides a SKY UX-themed pagination control to display list data across multiple pages.
4
+ * @internal
5
+ * @deprecated
6
+ */
7
+ export class ListPagingComponent {
8
+ constructor(state, dispatcher) {
9
+ this.initialized = new BehaviorSubject(false);
10
+ this.state = state;
11
+ this.dispatcher = dispatcher;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LXBhZ2luZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixtQkFBbUI7SUFLdkMsWUFBWSxLQUFnQixFQUFFLFVBQStCO1FBSm5ELGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgU0tZIFVYLXRoZW1lZCBwYWdpbmF0aW9uIGNvbnRyb2wgdG8gZGlzcGxheSBsaXN0IGRhdGEgYWNyb3NzIG11bHRpcGxlIHBhZ2VzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGlzdFBhZ2luZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBpbml0aWFsaXplZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCBzdGF0ZTogTGlzdFN0YXRlO1xuICBwcm90ZWN0ZWQgZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlcjtcblxuICBjb25zdHJ1Y3RvcihzdGF0ZTogTGlzdFN0YXRlLCBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuZGlzcGF0Y2hlciA9IGRpc3BhdGNoZXI7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { distinctUntilChanged, map as observableMap } from 'rxjs/operators';
2
+ let idIndex = 0;
3
+ /**
4
+ * @internal
5
+ * @deprecated
6
+ */
7
+ export class ListViewComponent {
8
+ constructor(state, defaultName) {
9
+ this.viewId = `sky-list-view-cmp-${++idIndex}`;
10
+ this.state = state;
11
+ this.viewName = defaultName;
12
+ /* istanbul ignore next */
13
+ this.hasToolbar = this.state.pipe(observableMap((s) => s.toolbar.exists));
14
+ this.active = this.state.pipe(observableMap((s) => s.views.active === this.viewId));
15
+ this.active
16
+ .pipe(distinctUntilChanged())
17
+ .subscribe((isActive) => isActive ? this.onViewActive() : this.onViewInactive());
18
+ }
19
+ get id() {
20
+ return this.viewId;
21
+ }
22
+ get label() {
23
+ return this.viewName;
24
+ }
25
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
26
+ onViewActive() { }
27
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
+ onViewInactive() { }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTVFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFpQjtJQVNyQyxZQUFZLEtBQWdCLEVBQUUsV0FBbUI7UUFGekMsV0FBTSxHQUFHLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBR2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1FBRTVCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyRCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU07YUFDUixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN0QixRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN2RCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnRUFBZ0U7SUFDekQsWUFBWSxLQUFJLENBQUM7SUFDeEIsZ0VBQWdFO0lBQ3pELGNBQWMsS0FBSSxDQUFDO0NBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCBhcyBvYnNlcnZhYmxlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC9saXN0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxubGV0IGlkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RWaWV3Q29tcG9uZW50IHtcbiAgcHVibGljIGFjdGl2ZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcm90ZWN0ZWQgdmlld05hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIHN0YXRlOiBMaXN0U3RhdGU7XG4gIHByb3RlY3RlZCBsaXN0OiBTa3lMaXN0Q29tcG9uZW50O1xuICBwcm90ZWN0ZWQgaGFzVG9vbGJhcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSB2aWV3SWQgPSBgc2t5LWxpc3Qtdmlldy1jbXAtJHsrK2lkSW5kZXh9YDtcblxuICBjb25zdHJ1Y3RvcihzdGF0ZTogTGlzdFN0YXRlLCBkZWZhdWx0TmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMudmlld05hbWUgPSBkZWZhdWx0TmFtZTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5oYXNUb29sYmFyID0gdGhpcy5zdGF0ZS5waXBlKG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5leGlzdHMpKTtcblxuICAgIHRoaXMuYWN0aXZlID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy52aWV3cy5hY3RpdmUgPT09IHRoaXMudmlld0lkKVxuICAgICk7XG5cbiAgICB0aGlzLmFjdGl2ZVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGlzQWN0aXZlKSA9PlxuICAgICAgICBpc0FjdGl2ZSA/IHRoaXMub25WaWV3QWN0aXZlKCkgOiB0aGlzLm9uVmlld0luYWN0aXZlKClcbiAgICAgICk7XG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlld0lkO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdOYW1lO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwdWJsaWMgb25WaWV3QWN0aXZlKCkge31cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwdWJsaWMgb25WaWV3SW5hY3RpdmUoKSB7fVxufVxuIl19
@@ -0,0 +1,315 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
2
+ import { SkyLogService } from '@skyux/core';
3
+ import { getValue } from '@skyux/list-builder-common';
4
+ import { ListItemModel, isObservable, } from '@skyux/list-builder-common';
5
+ import { Subject, combineLatest as observableCombineLatest, of as observableOf, } from 'rxjs';
6
+ import { distinctUntilChanged, flatMap, map as observableMap, skip, take, takeUntil, } from 'rxjs/operators';
7
+ import { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';
8
+ import { ListDataRequestModel } from './list-data-request.model';
9
+ import { ListDataResponseModel } from './list-data-response.model';
10
+ import { ListDataProvider } from './list-data.provider';
11
+ import { ListViewComponent } from './list-view.component';
12
+ import { ListItemsLoadAction } from './state/items/load.action';
13
+ import { ListItemsSetLoadingAction } from './state/items/set-loading.action';
14
+ import { ListStateDispatcher } from './state/list-state.rxstate';
15
+ import { ListState } from './state/list-state.state-node';
16
+ import { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';
17
+ import { ListSelectedLoadAction } from './state/selected/load.action';
18
+ import { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';
19
+ import { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';
20
+ import { ListSortModel } from './state/sort/sort.model';
21
+ import { ListViewsLoadAction } from './state/views/load.action';
22
+ import { ListViewsSetActiveAction } from './state/views/set-active.action';
23
+ import { ListViewModel } from './state/views/view.model';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "./state/list-state.state-node";
26
+ import * as i2 from "./state/list-state.rxstate";
27
+ import * as i3 from "@skyux/core";
28
+ let idIndex = 0;
29
+ /**
30
+ * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
31
+ */
32
+ export class SkyListComponent {
33
+ constructor(state, dispatcher, logger) {
34
+ this.state = state;
35
+ this.dispatcher = dispatcher;
36
+ this.id = `sky-list-cmp-${++idIndex}`;
37
+ /**
38
+ * Specifies the data to display. The list component requires this property or the
39
+ * `dataProvider` property. For checklist or multiselect grids, each row requires an
40
+ * `id` property to manage selected items with the `selectedIds` input and the
41
+ * `selectedIdsChange` event. If you do not provide an `id`, the list automatically
42
+ * generates one. To update data in your view outside of a `dataProvider`, you must use
43
+ * an observable instead of a static array.
44
+ */
45
+ this.data = [];
46
+ /**
47
+ * Specifies a set of filters to apply to list data.
48
+ * These filters create a filter summary when the list includes the
49
+ * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)
50
+ * component.
51
+ */
52
+ this.appliedFilters = [];
53
+ /**
54
+ * For list views that support item selection, emits the selected entries.
55
+ */
56
+ this.selectedIdsChange = new EventEmitter();
57
+ /**
58
+ * Emits the filters applied to the list.
59
+ */
60
+ this.appliedFiltersChange = new EventEmitter();
61
+ this.dataFirstLoad = false;
62
+ this.lastSelectedIds = [];
63
+ this.lastFilters = [];
64
+ this.ngUnsubscribe = new Subject();
65
+ logger.deprecated('SkyListComponent', {
66
+ deprecationMajorVersion: 6,
67
+ moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
68
+ replacementRecommendation: 'Use data manager instead.',
69
+ });
70
+ }
71
+ ngAfterContentInit() {
72
+ if (this.data && this.dataProvider && this.initialTotal) {
73
+ this.dataFirstLoad = true;
74
+ }
75
+ if (this.listViews.length > 0) {
76
+ const defaultView = this.defaultView === undefined
77
+ ? this.listViews.first
78
+ : this.defaultView;
79
+ this.dispatcher.next(new ListViewsLoadAction(this.listViews.map((v) => new ListViewModel(v.id, v.label))));
80
+ // activate the default view
81
+ this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));
82
+ }
83
+ else {
84
+ return;
85
+ }
86
+ // set sort fields
87
+ getValue(this.sortFields, (sortFields) => {
88
+ let sortArray;
89
+ if (!Array.isArray(sortFields) && sortFields) {
90
+ sortArray = [sortFields];
91
+ }
92
+ else {
93
+ sortArray = sortFields;
94
+ }
95
+ this.dispatcher.next(new ListSortSetFieldSelectorsAction(sortArray || []));
96
+ });
97
+ this.displayedItems.subscribe((result) => {
98
+ this.dispatcher.next(new ListItemsSetLoadingAction());
99
+ this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
100
+ });
101
+ // Watch for selection changes.
102
+ this.state
103
+ .pipe(observableMap((current) => current.selected), takeUntil(this.ngUnsubscribe), distinctUntilChanged())
104
+ .subscribe((selected) => {
105
+ // Update lastSelectedIds to help us retain user selections.
106
+ const selectedIdsList = [];
107
+ selected.item.selectedIdMap.forEach((value, key) => {
108
+ if (value === true) {
109
+ selectedIdsList.push(key);
110
+ }
111
+ });
112
+ // If changes are distinct, emit selectedIdsChange.
113
+ const distinctChanges = !this.arraysEqual(this.lastSelectedIds, selectedIdsList);
114
+ if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {
115
+ this.selectedIdsChange.emit(selected.item.selectedIdMap);
116
+ }
117
+ this.lastSelectedIds = selectedIdsList;
118
+ });
119
+ if (this.appliedFiltersChange.observers.length > 0) {
120
+ this.state
121
+ .pipe(observableMap((current) => current.filters), takeUntil(this.ngUnsubscribe), skip(1))
122
+ .subscribe((filters) => {
123
+ /**
124
+ * We are doing this instead of a distinctUntilChange due to memory allocation issues
125
+ * with the javascript array. To fix fully the array should be changed to an object in
126
+ * a breaking change.
127
+ */
128
+ if (!this.arraysEqual(filters, this.lastFilters)) {
129
+ this.lastFilters = filters.slice(0);
130
+ this.appliedFiltersChange.emit(filters);
131
+ }
132
+ });
133
+ }
134
+ }
135
+ ngOnChanges(changes) {
136
+ if (changes['appliedFilters'] &&
137
+ changes['appliedFilters'].currentValue !==
138
+ changes['appliedFilters'].previousValue) {
139
+ this.state.pipe(take(1)).subscribe((currentState) => {
140
+ if (currentState.paging.pageNumber &&
141
+ currentState.paging.pageNumber !== 1) {
142
+ this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
143
+ }
144
+ this.dispatcher.filtersUpdate(this.appliedFilters);
145
+ });
146
+ }
147
+ if (changes['selectedIds']) {
148
+ // Only send selection changes to dispatcher if changes are distinct.
149
+ const newSelectedIds = changes['selectedIds'].currentValue;
150
+ if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {
151
+ this.dispatcher.setSelected(newSelectedIds, true, true);
152
+ }
153
+ }
154
+ }
155
+ ngOnDestroy() {
156
+ this.ngUnsubscribe.next();
157
+ this.ngUnsubscribe.complete();
158
+ }
159
+ refreshDisplayedItems() {
160
+ this.displayedItems.pipe(take(1)).subscribe((result) => {
161
+ this.dispatcher.next(new ListItemsSetLoadingAction());
162
+ this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
163
+ });
164
+ }
165
+ get displayedItems() {
166
+ if (!this.data && !this.dataProvider) {
167
+ throw new Error('List requires data or dataProvider to be set.');
168
+ }
169
+ let data = this.data;
170
+ if (!isObservable(data)) {
171
+ data = observableOf(this.data);
172
+ }
173
+ if (!this.dataProvider) {
174
+ this.dataProvider = new SkyListInMemoryDataProvider(data, this.searchFunction);
175
+ }
176
+ let selectedIds = this.selectedIds || observableOf([]);
177
+ if (!isObservable(selectedIds)) {
178
+ selectedIds = observableOf(selectedIds);
179
+ }
180
+ let selectedChanged = false;
181
+ // This subject is used to cancel previous request to the list's data provider when a new change
182
+ // to the list's state occurs. In a future breaking change this should be replaced or coupled
183
+ // with adding a debounce time to the Observable which watches for state changes.
184
+ const cancelLastRequest = new Subject();
185
+ return observableCombineLatest([
186
+ this.state.pipe(observableMap((s) => s.filters), distinctUntilChanged()),
187
+ this.state.pipe(observableMap((s) => s.search), distinctUntilChanged()),
188
+ this.state.pipe(observableMap((s) => s.sort.fieldSelectors), distinctUntilChanged()),
189
+ this.state.pipe(observableMap((s) => s.paging.itemsPerPage), distinctUntilChanged()),
190
+ this.state.pipe(observableMap((s) => s.paging.pageNumber), distinctUntilChanged()),
191
+ this.state.pipe(observableMap((s) => s.toolbar.disabled), distinctUntilChanged()),
192
+ selectedIds.pipe(distinctUntilChanged(), observableMap((selected) => {
193
+ selectedChanged = true;
194
+ return selected;
195
+ })),
196
+ data.pipe(distinctUntilChanged()),
197
+ ], (filters, search, sortFieldSelectors, itemsPerPage, pageNumber, isToolbarDisabled, selected, itemsData) => {
198
+ cancelLastRequest.next();
199
+ cancelLastRequest.complete();
200
+ if (selectedChanged) {
201
+ this.dispatcher.next(new ListSelectedSetLoadingAction());
202
+ this.dispatcher.next(new ListSelectedLoadAction(selected));
203
+ this.dispatcher.next(new ListSelectedSetLoadingAction(false));
204
+ selectedChanged = false;
205
+ }
206
+ let response;
207
+ if (this.dataFirstLoad) {
208
+ this.dataFirstLoad = false;
209
+ const initialItems = itemsData.map((d) => new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d));
210
+ response = observableOf(new ListDataResponseModel({
211
+ count: this.initialTotal,
212
+ items: initialItems,
213
+ })).pipe(takeUntil(cancelLastRequest));
214
+ }
215
+ else {
216
+ response = this.dataProvider
217
+ .get(new ListDataRequestModel({
218
+ filters: filters,
219
+ pageSize: itemsPerPage,
220
+ pageNumber: pageNumber,
221
+ search: search,
222
+ sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),
223
+ isToolbarDisabled: isToolbarDisabled,
224
+ }))
225
+ .pipe(takeUntil(cancelLastRequest));
226
+ }
227
+ return response;
228
+ }).pipe(takeUntil(this.ngUnsubscribe),
229
+ // Retain user selections from previous state.
230
+ // This is only necessary for grids component (based on item.isSelected).
231
+ observableMap((response) => {
232
+ return response.pipe(observableMap((listDataResponseModel) => {
233
+ return new ListDataResponseModel({
234
+ count: listDataResponseModel.count,
235
+ items: this.getItemsAndRetainSelections(listDataResponseModel.items, this.lastSelectedIds),
236
+ });
237
+ }));
238
+ }), flatMap((value) => value));
239
+ }
240
+ get selectedItems() {
241
+ return observableCombineLatest(this.state.pipe(observableMap((current) => current.items.items), distinctUntilChanged()), this.state.pipe(observableMap((current) => current.selected), distinctUntilChanged()), (items, selected) => {
242
+ return items.filter((i) => selected.item.selectedIdMap.get(i.id));
243
+ }).pipe(takeUntil(this.ngUnsubscribe));
244
+ }
245
+ get lastUpdate() {
246
+ return this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined));
247
+ }
248
+ get views() {
249
+ return this.listViews.toArray();
250
+ }
251
+ get itemCount() {
252
+ return this.dataProvider.count();
253
+ }
254
+ getItemsAndRetainSelections(newList, selectedIds) {
255
+ const updatedListModel = newList.slice();
256
+ updatedListModel.forEach((item) => {
257
+ item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;
258
+ });
259
+ return updatedListModel;
260
+ }
261
+ arraysEqual(arrayA, arrayB) {
262
+ /* istanbul ignore next */
263
+ if (arrayA === arrayB) {
264
+ return true;
265
+ }
266
+ if (arrayA === undefined || arrayB === undefined) {
267
+ return false;
268
+ }
269
+ if (arrayA.length !== arrayB.length) {
270
+ return false;
271
+ }
272
+ for (let i = 0; i < arrayA.length; ++i) {
273
+ if (arrayA[i] !== arrayB[i]) {
274
+ return false;
275
+ }
276
+ }
277
+ return true;
278
+ }
279
+ }
280
+ SkyListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
281
+ SkyListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyListComponent, decorators: [{
283
+ type: Component,
284
+ args: [{
285
+ selector: 'sky-list',
286
+ template: '<ng-content></ng-content>',
287
+ providers: [ListState, ListStateDispatcher],
288
+ changeDetection: ChangeDetectionStrategy.OnPush,
289
+ }]
290
+ }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }, { type: i3.SkyLogService }]; }, propDecorators: { data: [{
291
+ type: Input
292
+ }], dataProvider: [{
293
+ type: Input
294
+ }], defaultView: [{
295
+ type: Input
296
+ }], initialTotal: [{
297
+ type: Input
298
+ }], selectedIds: [{
299
+ type: Input
300
+ }], sortFields: [{
301
+ type: Input
302
+ }], appliedFilters: [{
303
+ type: Input
304
+ }], selectedIdsChange: [{
305
+ type: Output
306
+ }], appliedFiltersChange: [{
307
+ type: Output
308
+ }], searchFunction: [{
309
+ type: Input,
310
+ args: ['search']
311
+ }], listViews: [{
312
+ type: ContentChildren,
313
+ args: [ListViewComponent]
314
+ }] } });
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQWEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFB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QWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4SkFjUSxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNJdGVtLCBnZXRWYWx1ZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcbmltcG9ydCB7XG4gIExpc3RJdGVtTW9kZWwsXG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBpc09ic2VydmFibGUsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmbGF0TWFwLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgc2tpcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gJy4uL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcblxuaW1wb3J0IHsgTGlzdERhdGFSZXF1ZXN0TW9kZWwgfSBmcm9tICcuL2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUHJvdmlkZXIgfSBmcm9tICcuL2xpc3QtZGF0YS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmltcG9ydCB7IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9wYWdpbmcvc2V0LXBhZ2UtbnVtYmVyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TW9kZWwgfSBmcm9tICcuL3N0YXRlL3NvcnQvc29ydC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld3NMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3TW9kZWwgfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTGlzdCBidWlsZGVyIGFuZCBpdHMgZmVhdHVyZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBkYXRhIG1hbmFnZXIgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlcyB0aGlzIHByb3BlcnR5IG9yIHRoZVxuICAgKiBgZGF0YVByb3ZpZGVyYCBwcm9wZXJ0eS4gRm9yIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkcywgZWFjaCByb3cgcmVxdWlyZXMgYW5cbiAgICogYGlkYCBwcm9wZXJ0eSB0byBtYW5hZ2Ugc2VsZWN0ZWQgaXRlbXMgd2l0aCB0aGUgYHNlbGVjdGVkSWRzYCBpbnB1dCBhbmQgdGhlXG4gICAqIGBzZWxlY3RlZElkc0NoYW5nZWAgZXZlbnQuIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhbiBgaWRgLCB0aGUgbGlzdCBhdXRvbWF0aWNhbGx5XG4gICAqIGdlbmVyYXRlcyBvbmUuIFRvIHVwZGF0ZSBkYXRhIGluIHlvdXIgdmlldyBvdXRzaWRlIG9mIGEgYGRhdGFQcm92aWRlcmAsIHlvdSBtdXN0IHVzZVxuICAgKiBhbiBvYnNlcnZhYmxlIGluc3RlYWQgb2YgYSBzdGF0aWMgYXJyYXkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YT86IEFycmF5PGFueT4gfCBPYnNlcnZhYmxlPEFycmF5PGFueT4+ID0gW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRhdGEgcHJvdmlkZXIgdG8gb2J0YWluIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlc1xuICAgKiB0aGlzIHByb3BlcnR5IG9yIHRoZSBgZGF0YWAgcHJvcGVydHkuIEZvciBsaXN0cyB0aGF0IHVzZSBgZGF0YVByb3ZpZGVyYCBpbnN0ZWFkIG9mIGBkYXRhYCxcbiAgICogY29uc3VtZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIGBMaXN0RGF0YVJlcXVlc3RNb2RlbGAgcHJvcGVydGllcy5cbiAgICogQGRlZmF1bHQgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVByb3ZpZGVyPzogTGlzdERhdGFQcm92aWRlcjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFZpZXc/OiBMaXN0Vmlld0NvbXBvbmVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZm9yIHRoZSBpbml0aWFsIGRhdGEgc2V0IHdoZW4gaW5pdGlhbGl6ZWQuIFdoZW5cbiAgICogdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkYXRhYCBhbmQgYGRhdGFQcm92aWRlcmAsIGl0IGFsbG93cyBhbiBpbml0aWFsIGRhdGEgdG8gYmVcbiAgICogc2V0IHdpdGggdGhlIG5lZWQgdG8gY2FsbCB0aGUgYGRhdGFQcm92aWRlcmAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5pdGlhbFRvdGFsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZXQgb2YgSURzIGZvciB0aGUgaXRlbXMgdG8gc2VsZWN0IGluIGEgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqIFRoZSBJRHMgbWF0Y2ggdGhlIGBpZGAgcHJvcGVydGllcyBvZiB0aGUgYGRhdGFgIG9iamVjdHMuIEl0ZW1zIHdpdGggSURzIHRoYXQgYXJlIG5vdFxuICAgKiBpbmNsdWRlZCBhcmUgZGUtc2VsZWN0ZWQgaW4gdGhlIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzPzogQXJyYXk8c3RyaW5nPiB8IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNldCBvZiBmaWVsZHMgdG8gc29ydCBieS4gSWYgYXJyYXkgb2YgZmllbGRzIHRoZW4gc29ydGVkIGJ5IG9yZGVyIG9mIGFycmF5LlxuICAgKiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgYExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsYCwgc2VlIHRoZVxuICAgKiBbc2hhcmVkIGNsYXNzZXMgZm9yIGxpc3RzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LWxpc3QtYnVpbGRlci1jb21tb24vZG9jcy9saXN0LWJ1aWxkZXItY29tbW9uKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0RmllbGRzPzpcbiAgICB8IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsXG4gICAgfCBBcnJheTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD5cbiAgICB8IE9ic2VydmFibGU8QXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+PlxuICAgIHwgT2JzZXJ2YWJsZTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNldCBvZiBmaWx0ZXJzIHRvIGFwcGx5IHRvIGxpc3QgZGF0YS5cbiAgICogVGhlc2UgZmlsdGVycyBjcmVhdGUgYSBmaWx0ZXIgc3VtbWFyeSB3aGVuIHRoZSBsaXN0IGluY2x1ZGVzIHRoZVxuICAgKiBbYHNreS1saXN0LWZpbHRlci1zdW1tYXJ5YF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xpc3QvZmlsdGVycylcbiAgICogY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGxpZWRGaWx0ZXJzOiBBcnJheTxMaXN0RmlsdGVyTW9kZWw+ID0gW107XG5cbiAgLyoqXG4gICAqIEZvciBsaXN0IHZpZXdzIHRoYXQgc3VwcG9ydCBpdGVtIHNlbGVjdGlvbiwgZW1pdHMgdGhlIHNlbGVjdGVkIGVudHJpZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNYXA8c3RyaW5nLCBib29sZWFuPj4oKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PExpc3RGaWx0ZXJNb2RlbD4+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRvIGFwcGx5IGFzIGEgZ2xvYmFsIHNvcnQgb24gdGhlIGxpc3QuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NlYXJjaCcpXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdFZpZXdDb21wb25lbnQpXG4gIHByaXZhdGUgbGlzdFZpZXdzOiBRdWVyeUxpc3Q8TGlzdFZpZXdDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbGFzdFNlbGVjdGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZVxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIC8vIGFjdGl2YXRlIHRoZSBkZWZhdWx0IHZpZXdcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oZGVmYXVsdFZpZXcuaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCBzb3J0IGZpZWxkc1xuICAgIGdldFZhbHVlKFxuICAgICAgdGhpcy5zb3J0RmllbGRzLFxuICAgICAgKFxuICAgICAgICBzb3J0RmllbGRzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgLy8gVXBkYXRlIGxhc3RTZWxlY3RlZElkcyB0byBoZWxwIHVzIHJldGFpbiB1c2VyIHNlbGVjdGlvbnMuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdC5wdXNoKGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBJZiBjaGFuZ2VzIGFyZSBkaXN0aW5jdCwgZW1pdCBzZWxlY3RlZElkc0NoYW5nZS5cbiAgICAgICAgY29uc3QgZGlzdGluY3RDaGFuZ2VzID0gIXRoaXMuYXJyYXlzRXF1YWwoXG4gICAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMsXG4gICAgICAgICAgc2VsZWN0ZWRJZHNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwICYmIGRpc3RpbmN0Q2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMgPSBzZWxlY3RlZElkc0xpc3Q7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmFwcGxpZWRGaWx0ZXJzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuZmlsdGVycyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgc2tpcCgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkSXRlbXMoKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+IHtcbiAgICBpZiAoIXRoaXMuZGF0YSAmJiAhdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGlzdCByZXF1aXJlcyBkYXRhIG9yIGRhdGFQcm92aWRlciB0byBiZSBzZXQuJyk7XG4gICAgfVxuXG4gICAgbGV0IGRhdGE6IGFueSA9IHRoaXMuZGF0YTtcbiAgICBpZiAoIWlzT2JzZXJ2YWJsZShkYXRhKSkge1xuICAgICAgZGF0YSA9IG9ic2VydmFibGVPZih0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gbmV3IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlcihcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGhpcy5zZWFyY2hGdW5jdGlvblxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkSWRzIHx8IG9ic2VydmFibGVPZihbXSk7XG4gICAgaWYgKCFpc09ic2VydmFibGUoc2VsZWN0ZWRJZHMpKSB7XG4gICAgICBzZWxlY3RlZElkcyA9IG9ic2VydmFibGVPZihzZWxlY3RlZElkcyk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVGhpcyBzdWJqZWN0IGlzIHVzZWQgdG8gY2FuY2VsIHByZXZpb3VzIHJlcXVlc3QgdG8gdGhlIGxpc3QncyBkYXRhIHByb3ZpZGVyIHdoZW4gYSBuZXcgY2hhbmdlXG4gICAgLy8gdG8gdGhlIGxpc3QncyBzdGF0ZSBvY2N1cnMuIEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCBvciBjb3VwbGVkXG4gICAgLy8gd2l0aCBhZGRpbmcgYSBkZWJvdW5jZSB0aW1lIHRvIHRoZSBPYnNlcnZhYmxlIHdoaWNoIHdhdGNoZXMgZm9yIHN0YXRlIGNoYW5nZXMuXG4gICAgY29uc3QgY2FuY2VsTGFzdFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5maWx0ZXJzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNlYXJjaCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0LmZpZWxkU2VsZWN0b3JzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMucGFnaW5nLnBhZ2VOdW1iZXIpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5kaXNhYmxlZCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICBzZWxlY3RlZElkcy5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgZGF0YS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgXSxcbiAgICAgIChcbiAgICAgICAgZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgICAgIHNlYXJjaDogTGlzdFNlYXJjaE1vZGVsLFxuICAgICAgICBzb3J0RmllbGRTZWxlY3RvcnM6IEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPixcbiAgICAgICAgaXRlbXNQZXJQYWdlOiBudW1iZXIsXG4gICAgICAgIHBhZ2VOdW1iZXI6IG51bWJlcixcbiAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIHNlbGVjdGVkOiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBpdGVtc0RhdGE6IEFycmF5PGFueT5cbiAgICAgICkgPT4ge1xuICAgICAgICBjYW5jZWxMYXN0UmVxdWVzdC5uZXh0KCk7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0LmNvbXBsZXRlKCk7XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbihzZWxlY3RlZCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKGZhbHNlKSk7XG4gICAgICAgICAgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPjtcbiAgICAgICAgaWYgKHRoaXMuZGF0YUZpcnN0TG9hZCkge1xuICAgICAgICAgIHRoaXMuZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxJdGVtcyA9IGl0ZW1zRGF0YS5tYXAoXG4gICAgICAgICAgICAoZCkgPT5cbiAgICAgICAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoZC5pZCB8fCBgc2t5LWxpc3QtaXRlbS1tb2RlbC0keysraWRJbmRleH1gLCBkKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzcG9uc2UgPSBvYnNlcnZhYmxlT2YoXG4gICAgICAgICAgICBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IHRoaXMuaW5pdGlhbFRvdGFsLFxuICAgICAgICAgICAgICBpdGVtczogaW5pdGlhbEl0ZW1zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICAgICAgLmdldChcbiAgICAgICAgICAgICAgbmV3IExpc3REYXRhUmVxdWVzdE1vZGVsKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBpdGVtc1BlclBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogcGFnZU51bWJlcixcbiAgICAgICAgICAgICAgICBzZWFyY2g6IHNlYXJjaCxcbiAgICAgICAgICAgICAgICBzb3J0OiBuZXcgTGlzdFNvcnRNb2RlbCh7IGZpZWxkU2VsZWN0b3JzOiBzb3J0RmllbGRTZWxlY3RvcnMgfSksXG4gICAgICAgICAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGlzVG9vbGJhckRpc2FibGVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9XG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG5cbiAgICAgIC8vIFJldGFpbiB1c2VyIHNlbGVjdGlvbnMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGdyaWRzIGNvbXBvbmVudCAoYmFzZWQgb24gaXRlbS5pc1NlbGVjdGVkKS5cbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGxpc3REYXRhUmVzcG9uc2VNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgICBjb3VudDogbGlzdERhdGFSZXNwb25zZU1vZGVsLmNvdW50LFxuICAgICAgICAgICAgICBpdGVtczogdGhpcy5nZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgICAgICAgICAgICAgbGlzdERhdGFSZXNwb25zZU1vZGVsLml0ZW1zLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBmbGF0TWFwKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtTW9kZWw+PiB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50Lml0ZW1zLml0ZW1zKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5zZWxlY3RlZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICAoaXRlbXM6IEFycmF5PExpc3RJdGVtTW9kZWw+LCBzZWxlY3RlZDogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpKSA9PiBzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGkuaWQpKTtcbiAgICAgIH1cbiAgICApLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0VXBkYXRlKCk6IE9ic2VydmFibGU8RGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+XG4gICAgICAgIHMuaXRlbXMubGFzdFVwZGF0ZSA/IG5ldyBEYXRlKHMuaXRlbXMubGFzdFVwZGF0ZSkgOiB1bmRlZmluZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBBcnJheTxMaXN0Vmlld0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RWaWV3cy50b0FycmF5KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1Db3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFQcm92aWRlci5jb3VudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgbmV3TGlzdDogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXVxuICApOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IHVwZGF0ZWRMaXN0TW9kZWwgPSBuZXdMaXN0LnNsaWNlKCk7XG4gICAgdXBkYXRlZExpc3RNb2RlbC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW0uaWQpID4gLTEgPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRMaXN0TW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0VxdWFsKGFycmF5QTogYW55W10sIGFycmF5QjogYW55W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChhcnJheUEgPT09IGFycmF5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChhcnJheUEgPT09IHVuZGVmaW5lZCB8fCBhcnJheUIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5QS5sZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGFycmF5QVtpXSAhPT0gYXJyYXlCW2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==