@skyux/list-builder 5.0.2 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-list-builder.umd.js +95 -94
  3. package/documentation.json +681 -468
  4. package/esm2015/index.js +78 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/list/list-data-request.model.js +18 -0
  7. package/esm2015/lib/modules/list/list-data-request.model.js.map +1 -0
  8. package/esm2015/lib/modules/list/list-data-response.model.js +9 -0
  9. package/esm2015/lib/modules/list/list-data-response.model.js.map +1 -0
  10. package/esm2015/lib/modules/list/list-data.provider.js +7 -0
  11. package/esm2015/lib/modules/list/list-data.provider.js.map +1 -0
  12. package/esm2015/lib/modules/list/list-paging.component.js +13 -0
  13. package/esm2015/lib/modules/list/list-paging.component.js.map +1 -0
  14. package/esm2015/lib/modules/list/list-view.component.js +28 -0
  15. package/esm2015/lib/modules/list/list-view.component.js.map +1 -0
  16. package/esm2015/lib/modules/list/list.component.js +305 -0
  17. package/esm2015/lib/modules/list/list.component.js.map +1 -0
  18. package/esm2015/lib/modules/list/list.module.js +18 -0
  19. package/esm2015/lib/modules/list/list.module.js.map +1 -0
  20. package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js +16 -0
  21. package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +1 -0
  22. package/esm2015/lib/modules/list/state/filters/update.action.js +9 -0
  23. package/esm2015/lib/modules/list/state/filters/update.action.js.map +1 -0
  24. package/esm2015/lib/modules/list/state/items/items.orchestrator.js +53 -0
  25. package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +1 -0
  26. package/esm2015/lib/modules/list/state/items/load.action.js +12 -0
  27. package/esm2015/lib/modules/list/state/items/load.action.js.map +1 -0
  28. package/esm2015/lib/modules/list/state/items/set-items-selected.action.js +13 -0
  29. package/esm2015/lib/modules/list/state/items/set-items-selected.action.js.map +1 -0
  30. package/esm2015/lib/modules/list/state/items/set-loading.action.js +9 -0
  31. package/esm2015/lib/modules/list/state/items/set-loading.action.js.map +1 -0
  32. package/esm2015/lib/modules/list/state/list-state-action.type.js +2 -0
  33. package/esm2015/lib/modules/list/state/list-state-action.type.js.map +1 -0
  34. package/esm2015/lib/modules/list/state/list-state.model.js +24 -0
  35. package/esm2015/lib/modules/list/state/list-state.model.js.map +1 -0
  36. package/esm2015/lib/modules/list/state/list-state.rxstate.js +80 -0
  37. package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +1 -0
  38. package/esm2015/lib/modules/list/state/list-state.state-node.js +37 -0
  39. package/esm2015/lib/modules/list/state/list-state.state-node.js.map +1 -0
  40. package/esm2015/lib/modules/list/state/paging/paging.model.js +14 -0
  41. package/esm2015/lib/modules/list/state/paging/paging.model.js.map +1 -0
  42. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +27 -0
  43. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +1 -0
  44. package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js +9 -0
  45. package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js.map +1 -0
  46. package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js +9 -0
  47. package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js.map +1 -0
  48. package/esm2015/lib/modules/list/state/paging/set-page-number.action.js +9 -0
  49. package/esm2015/lib/modules/list/state/paging/set-page-number.action.js.map +1 -0
  50. package/esm2015/lib/modules/list/state/search/search.model.js +32 -0
  51. package/esm2015/lib/modules/list/state/search/search.model.js.map +1 -0
  52. package/esm2015/lib/modules/list/state/search/search.orchestrator.js +47 -0
  53. package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +1 -0
  54. package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js +9 -0
  55. package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js.map +1 -0
  56. package/esm2015/lib/modules/list/state/search/set-functions.action.js +9 -0
  57. package/esm2015/lib/modules/list/state/search/set-functions.action.js.map +1 -0
  58. package/esm2015/lib/modules/list/state/search/set-options.action.js +11 -0
  59. package/esm2015/lib/modules/list/state/search/set-options.action.js.map +1 -0
  60. package/esm2015/lib/modules/list/state/search/set-search-text.action.js +9 -0
  61. package/esm2015/lib/modules/list/state/search/set-search-text.action.js.map +1 -0
  62. package/esm2015/lib/modules/list/state/selected/load.action.js +9 -0
  63. package/esm2015/lib/modules/list/state/selected/load.action.js.map +1 -0
  64. package/esm2015/lib/modules/list/state/selected/selected.model.js +9 -0
  65. package/esm2015/lib/modules/list/state/selected/selected.model.js.map +1 -0
  66. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +56 -0
  67. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +1 -0
  68. package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js +10 -0
  69. package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js.map +1 -0
  70. package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js +11 -0
  71. package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js.map +1 -0
  72. package/esm2015/lib/modules/list/state/selected/set-loading.action.js +9 -0
  73. package/esm2015/lib/modules/list/state/selected/set-loading.action.js.map +1 -0
  74. package/esm2015/lib/modules/list/state/sort/label.model.js +25 -0
  75. package/esm2015/lib/modules/list/state/sort/label.model.js.map +1 -0
  76. package/esm2015/lib/modules/list/state/sort/set-available.action.js +9 -0
  77. package/esm2015/lib/modules/list/state/sort/set-available.action.js.map +1 -0
  78. package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js +9 -0
  79. package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js.map +1 -0
  80. package/esm2015/lib/modules/list/state/sort/set-global.action.js +9 -0
  81. package/esm2015/lib/modules/list/state/sort/set-global.action.js.map +1 -0
  82. package/esm2015/lib/modules/list/state/sort/sort.model.js +27 -0
  83. package/esm2015/lib/modules/list/state/sort/sort.model.js.map +1 -0
  84. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +30 -0
  85. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +1 -0
  86. package/esm2015/lib/modules/list/state/toolbar/disable.action.js +9 -0
  87. package/esm2015/lib/modules/list/state/toolbar/disable.action.js.map +1 -0
  88. package/esm2015/lib/modules/list/state/toolbar/load.action.js +10 -0
  89. package/esm2015/lib/modules/list/state/toolbar/load.action.js.map +1 -0
  90. package/esm2015/lib/modules/list/state/toolbar/remove.action.js +9 -0
  91. package/esm2015/lib/modules/list/state/toolbar/remove.action.js.map +1 -0
  92. package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js +9 -0
  93. package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js.map +1 -0
  94. package/esm2015/lib/modules/list/state/toolbar/set-type.action.js +9 -0
  95. package/esm2015/lib/modules/list/state/toolbar/set-type.action.js.map +1 -0
  96. package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js +9 -0
  97. package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js.map +1 -0
  98. package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js +16 -0
  99. package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +1 -0
  100. package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js +17 -0
  101. package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js.map +1 -0
  102. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +80 -0
  103. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +1 -0
  104. package/esm2015/lib/modules/list/state/views/load.action.js +9 -0
  105. package/esm2015/lib/modules/list/state/views/load.action.js.map +1 -0
  106. package/esm2015/lib/modules/list/state/views/set-active.action.js +9 -0
  107. package/esm2015/lib/modules/list/state/views/set-active.action.js.map +1 -0
  108. package/esm2015/lib/modules/list/state/views/view.model.js +10 -0
  109. package/esm2015/lib/modules/list/state/views/view.model.js.map +1 -0
  110. package/esm2015/lib/modules/list/state/views/views.model.js +13 -0
  111. package/esm2015/lib/modules/list/state/views/views.model.js.map +1 -0
  112. package/esm2015/lib/modules/list/state/views/views.orchestrator.js +21 -0
  113. package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +1 -0
  114. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +160 -0
  115. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +1 -0
  116. package/esm2015/lib/modules/list-filters/filter.model.js +18 -0
  117. package/esm2015/lib/modules/list-filters/filter.model.js.map +1 -0
  118. package/esm2015/lib/modules/list-filters/list-filter-button.component.js +44 -0
  119. package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +1 -0
  120. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +34 -0
  121. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +1 -0
  122. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +45 -0
  123. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +1 -0
  124. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +74 -0
  125. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +1 -0
  126. package/esm2015/lib/modules/list-filters/list-filter-inline.model.js +21 -0
  127. package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +1 -0
  128. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +60 -0
  129. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +1 -0
  130. package/esm2015/lib/modules/list-filters/list-filters.module.js +41 -0
  131. package/esm2015/lib/modules/list-filters/list-filters.module.js.map +1 -0
  132. package/esm2015/lib/modules/list-paging/list-paging.component.js +89 -0
  133. package/esm2015/lib/modules/list-paging/list-paging.component.js.map +1 -0
  134. package/esm2015/lib/modules/list-paging/list-paging.module.js +19 -0
  135. package/esm2015/lib/modules/list-paging/list-paging.module.js.map +1 -0
  136. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +153 -0
  137. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +1 -0
  138. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +33 -0
  139. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js.map +1 -0
  140. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +2 -0
  141. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js.map +1 -0
  142. package/esm2015/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +6 -5
  143. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +1 -0
  144. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +45 -0
  145. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +1 -0
  146. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +46 -0
  147. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +1 -0
  148. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +36 -0
  149. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js.map +1 -0
  150. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +30 -0
  151. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +1 -0
  152. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +47 -0
  153. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +1 -0
  154. package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js +19 -0
  155. package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js.map +1 -0
  156. package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js +25 -0
  157. package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js.map +1 -0
  158. package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js +21 -0
  159. package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js.map +1 -0
  160. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +360 -0
  161. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +1 -0
  162. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +87 -0
  163. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +1 -0
  164. package/esm2015/lib/modules/list-toolbar/state/config/config.model.js +14 -0
  165. package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +1 -0
  166. package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js +21 -0
  167. package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +1 -0
  168. package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js +9 -0
  169. package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js.map +1 -0
  170. package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +10 -0
  171. package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js.map +1 -0
  172. package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js +2 -0
  173. package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +1 -0
  174. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js +10 -0
  175. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js.map +1 -0
  176. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js +19 -0
  177. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +1 -0
  178. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +23 -0
  179. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +1 -0
  180. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +53 -0
  181. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +1 -0
  182. package/esm2015/skyux-list-builder.js +2 -2
  183. package/esm2015/skyux-list-builder.js.map +1 -0
  184. package/fesm2015/skyux-list-builder.js +117 -116
  185. package/fesm2015/skyux-list-builder.js.map +1 -1
  186. package/index.d.ts +74 -0
  187. package/{modules → lib/modules}/list/list-data-request.model.d.ts +0 -0
  188. package/{modules → lib/modules}/list/list-data-response.model.d.ts +0 -0
  189. package/{modules → lib/modules}/list/list-data.provider.d.ts +0 -0
  190. package/{modules → lib/modules}/list/list-paging.component.d.ts +0 -0
  191. package/{modules → lib/modules}/list/list-view.component.d.ts +0 -0
  192. package/{modules → lib/modules}/list/list.component.d.ts +0 -0
  193. package/{modules → lib/modules}/list/list.module.d.ts +0 -0
  194. package/{modules → lib/modules}/list/state/filters/filters.orchestrator.d.ts +0 -0
  195. package/{modules → lib/modules}/list/state/filters/update.action.d.ts +0 -0
  196. package/{modules → lib/modules}/list/state/items/items.orchestrator.d.ts +0 -0
  197. package/{modules → lib/modules}/list/state/items/load.action.d.ts +0 -0
  198. package/{modules → lib/modules}/list/state/items/set-items-selected.action.d.ts +0 -0
  199. package/{modules → lib/modules}/list/state/items/set-loading.action.d.ts +0 -0
  200. package/{modules → lib/modules}/list/state/list-state-action.type.d.ts +0 -0
  201. package/{modules → lib/modules}/list/state/list-state.model.d.ts +0 -0
  202. package/{modules → lib/modules}/list/state/list-state.rxstate.d.ts +0 -0
  203. package/{modules → lib/modules}/list/state/list-state.state-node.d.ts +0 -0
  204. package/{modules → lib/modules}/list/state/paging/paging.model.d.ts +0 -0
  205. package/{modules → lib/modules}/list/state/paging/paging.orchestrator.d.ts +0 -0
  206. package/{modules → lib/modules}/list/state/paging/set-items-per-page.action.d.ts +0 -0
  207. package/{modules → lib/modules}/list/state/paging/set-max-pages.action.d.ts +0 -0
  208. package/{modules → lib/modules}/list/state/paging/set-page-number.action.d.ts +0 -0
  209. package/{modules → lib/modules}/list/state/search/search.model.d.ts +1 -0
  210. package/{modules → lib/modules}/list/state/search/search.orchestrator.d.ts +0 -0
  211. package/{modules → lib/modules}/list/state/search/set-field-selectors.action.d.ts +0 -0
  212. package/{modules → lib/modules}/list/state/search/set-functions.action.d.ts +0 -0
  213. package/{modules → lib/modules}/list/state/search/set-options.action.d.ts +0 -0
  214. package/{modules → lib/modules}/list/state/search/set-search-text.action.d.ts +0 -0
  215. package/{modules → lib/modules}/list/state/selected/load.action.d.ts +0 -0
  216. package/{modules → lib/modules}/list/state/selected/selected.model.d.ts +0 -0
  217. package/{modules → lib/modules}/list/state/selected/selected.orchestrator.d.ts +0 -0
  218. package/{modules → lib/modules}/list/state/selected/set-item-selected.action.d.ts +0 -0
  219. package/{modules → lib/modules}/list/state/selected/set-items-selected.action.d.ts +0 -0
  220. package/{modules → lib/modules}/list/state/selected/set-loading.action.d.ts +0 -0
  221. package/{modules → lib/modules}/list/state/sort/label.model.d.ts +0 -0
  222. package/{modules → lib/modules}/list/state/sort/set-available.action.d.ts +0 -0
  223. package/{modules → lib/modules}/list/state/sort/set-field-selectors.action.d.ts +0 -0
  224. package/{modules → lib/modules}/list/state/sort/set-global.action.d.ts +0 -0
  225. package/{modules → lib/modules}/list/state/sort/sort.model.d.ts +0 -0
  226. package/{modules → lib/modules}/list/state/sort/sort.orchestrator.d.ts +0 -0
  227. package/{modules → lib/modules}/list/state/toolbar/disable.action.d.ts +0 -0
  228. package/{modules → lib/modules}/list/state/toolbar/load.action.d.ts +0 -0
  229. package/{modules → lib/modules}/list/state/toolbar/remove.action.d.ts +0 -0
  230. package/{modules → lib/modules}/list/state/toolbar/set-exists.action.d.ts +0 -0
  231. package/{modules → lib/modules}/list/state/toolbar/set-type.action.d.ts +0 -0
  232. package/{modules → lib/modules}/list/state/toolbar/show-multiselect-toolbar.action.d.ts +0 -0
  233. package/{modules → lib/modules}/list/state/toolbar/toolbar-item.model.d.ts +0 -0
  234. package/{modules → lib/modules}/list/state/toolbar/toolbar.model.d.ts +0 -0
  235. package/{modules → lib/modules}/list/state/toolbar/toolbar.orchestrator.d.ts +0 -0
  236. package/{modules → lib/modules}/list/state/views/load.action.d.ts +0 -0
  237. package/{modules → lib/modules}/list/state/views/set-active.action.d.ts +0 -0
  238. package/{modules → lib/modules}/list/state/views/view.model.d.ts +0 -0
  239. package/{modules → lib/modules}/list/state/views/views.model.d.ts +0 -0
  240. package/{modules → lib/modules}/list/state/views/views.orchestrator.d.ts +0 -0
  241. package/{modules → lib/modules}/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +0 -0
  242. package/{modules → lib/modules}/list-filters/filter.model.d.ts +0 -0
  243. package/{modules → lib/modules}/list-filters/list-filter-button.component.d.ts +0 -0
  244. package/{modules → lib/modules}/list-filters/list-filter-inline-item-renderer.component.d.ts +0 -0
  245. package/{modules → lib/modules}/list-filters/list-filter-inline-item.component.d.ts +0 -0
  246. package/{modules → lib/modules}/list-filters/list-filter-inline.component.d.ts +0 -0
  247. package/{modules → lib/modules}/list-filters/list-filter-inline.model.d.ts +0 -0
  248. package/{modules → lib/modules}/list-filters/list-filter-summary.component.d.ts +0 -0
  249. package/{modules → lib/modules}/list-filters/list-filters.module.d.ts +0 -0
  250. package/{modules → lib/modules}/list-paging/list-paging.component.d.ts +0 -0
  251. package/{modules → lib/modules}/list-paging/list-paging.module.d.ts +0 -0
  252. package/{modules → lib/modules}/list-toolbar/list-multiselect-toolbar.component.d.ts +0 -0
  253. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-action.component.d.ts +0 -0
  254. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-action.d.ts +0 -0
  255. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.d.ts +0 -0
  256. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.component.d.ts +0 -0
  257. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.module.d.ts +0 -0
  258. package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.service.d.ts +0 -0
  259. package/{modules → lib/modules}/list-toolbar/list-toolbar-item-renderer.component.d.ts +0 -0
  260. package/{modules → lib/modules}/list-toolbar/list-toolbar-item.component.d.ts +3 -3
  261. package/{modules → lib/modules}/list-toolbar/list-toolbar-search-actions.component.d.ts +0 -0
  262. package/{modules → lib/modules}/list-toolbar/list-toolbar-sort.component.d.ts +0 -0
  263. package/{modules → lib/modules}/list-toolbar/list-toolbar-view-actions.component.d.ts +0 -0
  264. package/{modules → lib/modules}/list-toolbar/list-toolbar.component.d.ts +2 -2
  265. package/{modules → lib/modules}/list-toolbar/list-toolbar.module.d.ts +0 -0
  266. package/{modules → lib/modules}/list-toolbar/state/config/config.model.d.ts +0 -0
  267. package/{modules → lib/modules}/list-toolbar/state/config/config.orchestrator.d.ts +0 -0
  268. package/{modules → lib/modules}/list-toolbar/state/config/set-search-enabled.action.d.ts +0 -0
  269. package/{modules → lib/modules}/list-toolbar/state/config/set-sort-selector-enabled.action.d.ts +0 -0
  270. package/{modules → lib/modules}/list-toolbar/state/toolbar-state-action.type.d.ts +0 -0
  271. package/{modules → lib/modules}/list-toolbar/state/toolbar-state.model.d.ts +0 -0
  272. package/{modules → lib/modules}/list-toolbar/state/toolbar-state.rxstate.d.ts +0 -0
  273. package/{modules → lib/modules}/list-toolbar/state/toolbar-state.state-node.d.ts +0 -0
  274. package/{modules → lib/modules}/shared/sky-list-builder-resources.module.d.ts +0 -0
  275. package/package.json +27 -13
  276. package/skyux-list-builder.d.ts +1 -1
  277. package/LICENSE +0 -21
  278. package/esm2015/modules/list/list-data-request.model.js +0 -18
  279. package/esm2015/modules/list/list-data-response.model.js +0 -9
  280. package/esm2015/modules/list/list-data.provider.js +0 -7
  281. package/esm2015/modules/list/list-paging.component.js +0 -13
  282. package/esm2015/modules/list/list-view.component.js +0 -28
  283. package/esm2015/modules/list/list.component.js +0 -304
  284. package/esm2015/modules/list/list.module.js +0 -18
  285. package/esm2015/modules/list/state/filters/filters.orchestrator.js +0 -16
  286. package/esm2015/modules/list/state/filters/update.action.js +0 -9
  287. package/esm2015/modules/list/state/items/items.orchestrator.js +0 -53
  288. package/esm2015/modules/list/state/items/load.action.js +0 -12
  289. package/esm2015/modules/list/state/items/set-items-selected.action.js +0 -13
  290. package/esm2015/modules/list/state/items/set-loading.action.js +0 -9
  291. package/esm2015/modules/list/state/list-state-action.type.js +0 -2
  292. package/esm2015/modules/list/state/list-state.model.js +0 -24
  293. package/esm2015/modules/list/state/list-state.rxstate.js +0 -80
  294. package/esm2015/modules/list/state/list-state.state-node.js +0 -36
  295. package/esm2015/modules/list/state/paging/paging.model.js +0 -14
  296. package/esm2015/modules/list/state/paging/paging.orchestrator.js +0 -27
  297. package/esm2015/modules/list/state/paging/set-items-per-page.action.js +0 -9
  298. package/esm2015/modules/list/state/paging/set-max-pages.action.js +0 -9
  299. package/esm2015/modules/list/state/paging/set-page-number.action.js +0 -9
  300. package/esm2015/modules/list/state/search/search.model.js +0 -31
  301. package/esm2015/modules/list/state/search/search.orchestrator.js +0 -47
  302. package/esm2015/modules/list/state/search/set-field-selectors.action.js +0 -9
  303. package/esm2015/modules/list/state/search/set-functions.action.js +0 -9
  304. package/esm2015/modules/list/state/search/set-options.action.js +0 -11
  305. package/esm2015/modules/list/state/search/set-search-text.action.js +0 -9
  306. package/esm2015/modules/list/state/selected/load.action.js +0 -9
  307. package/esm2015/modules/list/state/selected/selected.model.js +0 -9
  308. package/esm2015/modules/list/state/selected/selected.orchestrator.js +0 -56
  309. package/esm2015/modules/list/state/selected/set-item-selected.action.js +0 -10
  310. package/esm2015/modules/list/state/selected/set-items-selected.action.js +0 -11
  311. package/esm2015/modules/list/state/selected/set-loading.action.js +0 -9
  312. package/esm2015/modules/list/state/sort/label.model.js +0 -25
  313. package/esm2015/modules/list/state/sort/set-available.action.js +0 -9
  314. package/esm2015/modules/list/state/sort/set-field-selectors.action.js +0 -9
  315. package/esm2015/modules/list/state/sort/set-global.action.js +0 -9
  316. package/esm2015/modules/list/state/sort/sort.model.js +0 -27
  317. package/esm2015/modules/list/state/sort/sort.orchestrator.js +0 -30
  318. package/esm2015/modules/list/state/toolbar/disable.action.js +0 -9
  319. package/esm2015/modules/list/state/toolbar/load.action.js +0 -10
  320. package/esm2015/modules/list/state/toolbar/remove.action.js +0 -9
  321. package/esm2015/modules/list/state/toolbar/set-exists.action.js +0 -9
  322. package/esm2015/modules/list/state/toolbar/set-type.action.js +0 -9
  323. package/esm2015/modules/list/state/toolbar/show-multiselect-toolbar.action.js +0 -9
  324. package/esm2015/modules/list/state/toolbar/toolbar-item.model.js +0 -16
  325. package/esm2015/modules/list/state/toolbar/toolbar.model.js +0 -17
  326. package/esm2015/modules/list/state/toolbar/toolbar.orchestrator.js +0 -80
  327. package/esm2015/modules/list/state/views/load.action.js +0 -9
  328. package/esm2015/modules/list/state/views/set-active.action.js +0 -9
  329. package/esm2015/modules/list/state/views/view.model.js +0 -10
  330. package/esm2015/modules/list/state/views/views.model.js +0 -13
  331. package/esm2015/modules/list/state/views/views.orchestrator.js +0 -21
  332. package/esm2015/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +0 -160
  333. package/esm2015/modules/list-filters/filter.model.js +0 -18
  334. package/esm2015/modules/list-filters/list-filter-button.component.js +0 -43
  335. package/esm2015/modules/list-filters/list-filter-inline-item-renderer.component.js +0 -34
  336. package/esm2015/modules/list-filters/list-filter-inline-item.component.js +0 -45
  337. package/esm2015/modules/list-filters/list-filter-inline.component.js +0 -72
  338. package/esm2015/modules/list-filters/list-filter-inline.model.js +0 -21
  339. package/esm2015/modules/list-filters/list-filter-summary.component.js +0 -58
  340. package/esm2015/modules/list-filters/list-filters.module.js +0 -41
  341. package/esm2015/modules/list-paging/list-paging.component.js +0 -87
  342. package/esm2015/modules/list-paging/list-paging.module.js +0 -19
  343. package/esm2015/modules/list-toolbar/list-multiselect-toolbar.component.js +0 -151
  344. package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +0 -32
  345. package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +0 -2
  346. package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +0 -44
  347. package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +0 -46
  348. package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +0 -36
  349. package/esm2015/modules/list-toolbar/list-toolbar-item-renderer.component.js +0 -30
  350. package/esm2015/modules/list-toolbar/list-toolbar-item.component.js +0 -47
  351. package/esm2015/modules/list-toolbar/list-toolbar-search-actions.component.js +0 -19
  352. package/esm2015/modules/list-toolbar/list-toolbar-sort.component.js +0 -25
  353. package/esm2015/modules/list-toolbar/list-toolbar-view-actions.component.js +0 -21
  354. package/esm2015/modules/list-toolbar/list-toolbar.component.js +0 -358
  355. package/esm2015/modules/list-toolbar/list-toolbar.module.js +0 -87
  356. package/esm2015/modules/list-toolbar/state/config/config.model.js +0 -14
  357. package/esm2015/modules/list-toolbar/state/config/config.orchestrator.js +0 -21
  358. package/esm2015/modules/list-toolbar/state/config/set-search-enabled.action.js +0 -9
  359. package/esm2015/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +0 -10
  360. package/esm2015/modules/list-toolbar/state/toolbar-state-action.type.js +0 -2
  361. package/esm2015/modules/list-toolbar/state/toolbar-state.model.js +0 -10
  362. package/esm2015/modules/list-toolbar/state/toolbar-state.rxstate.js +0 -19
  363. package/esm2015/modules/list-toolbar/state/toolbar-state.state-node.js +0 -21
  364. package/esm2015/modules/shared/sky-list-builder-resources.module.js +0 -53
  365. package/esm2015/public-api.js +0 -78
  366. package/public-api.d.ts +0 -74
@@ -1,45 +0,0 @@
1
- import { Component, Input, ContentChildren, TemplateRef, EventEmitter, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Creates a filter in the list's inline filter area.
5
- */
6
- export class SkyListFilterInlineItemComponent {
7
- constructor() {
8
- this.onChange = new EventEmitter();
9
- }
10
- ngOnInit() {
11
- if (this.name === undefined || this.name.length === 0) {
12
- throw new Error('Inline filter requires a name.');
13
- }
14
- }
15
- get template() {
16
- return this.templates.length > 0
17
- ? this.templates.first
18
- : this.templateInput;
19
- }
20
- }
21
- SkyListFilterInlineItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterInlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- SkyListFilterInlineItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyListFilterInlineItemComponent, selector: "sky-list-filter-inline-item", inputs: { name: "name", value: "value", defaultValue: "defaultValue", filterFunction: ["filter", "filterFunction"], templateInput: ["template", "templateInput"] }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterInlineItemComponent, decorators: [{
24
- type: Component,
25
- args: [{
26
- selector: 'sky-list-filter-inline-item',
27
- template: '<ng-content></ng-content>',
28
- }]
29
- }], propDecorators: { name: [{
30
- type: Input
31
- }], value: [{
32
- type: Input
33
- }], defaultValue: [{
34
- type: Input
35
- }], filterFunction: [{
36
- type: Input,
37
- args: ['filter']
38
- }], templateInput: [{
39
- type: Input,
40
- args: ['template']
41
- }], templates: [{
42
- type: ContentChildren,
43
- args: [TemplateRef]
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXItaW5saW5lLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyL3NyYy9tb2R1bGVzL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1pbmxpbmUtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFHWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7O0FBSXZCOztHQUVHO0FBS0gsTUFBTSxPQUFPLGdDQUFnQztJQUo3QztRQTZDUyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7S0FnQjlEO0lBWFEsUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUs7WUFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekIsQ0FBQzs7OEhBeERVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLGlRQTJDMUIsV0FBVyw2QkE3Q2xCLDJCQUEyQjs0RkFFMUIsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQU9RLElBQUk7c0JBRFYsS0FBSztnQkFPQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFXQyxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBV1IsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxVQUFVO2dCQU1ULFNBQVM7c0JBRGhCLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgVGVtcGxhdGVSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgT25Jbml0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMaXN0SXRlbU1vZGVsIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmaWx0ZXIgaW4gdGhlIGxpc3QncyBpbmxpbmUgZmlsdGVyIGFyZWEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LWZpbHRlci1pbmxpbmUtaXRlbScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RGaWx0ZXJJbmxpbmVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZmlsdGVyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZmlsdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgZmlsdGVyLiBJZiB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxuICAgKiBpcyBzZXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUsIHRoZW4gdGhlIGZpbHRlciBpcyBub3QgYXBwbGllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0VmFsdWU6IGFueTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmdW5jdGlvbiB0byBhcHBseSB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBpdGVtIGlzIGZpbHRlcmVkLlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgYW4gaW4tbWVtb3J5IGRhdGEgcHJvdmlkZXIuIEZvciBpbmZvcm1hdGlvblxuICAgKiBhYm91dCBgTGlzdEl0ZW1Nb2RlbGAsIHNlZSB0aGVcbiAgICogW3NoYXJlZCBjbGFzc2VzIGZvciBsaXN0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1saXN0LWJ1aWxkZXItY29tbW9uL2RvY3MvbGlzdC1idWlsZGVyLWNvbW1vbikuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2ZpbHRlcicpXG4gIHB1YmxpYyBmaWx0ZXJGdW5jdGlvbjogKGl0ZW06IExpc3RJdGVtTW9kZWwsIGZpbHRlcjogYW55KSA9PiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRlbXBsYXRlIGZvciB0aGUgZmlsdGVyLiBUaGUgdGVtcGxhdGUgY2FuIGFjY2VzcyB0aGUgYGZpbHRlcmBcbiAgICogdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgYHZhbHVlYCBvZiB0aGUgZmlsdGVyIGNvbnRyb2wsIHdoaWNoIHNob3VsZCBiZSBib3VuZCB0b1xuICAgKiBgbmdNb2RlbGAsIGFuZCB0aGUgYGNoYW5nZWRgIGZ1bmN0aW9uLCB3aGljaCBzaG91bGQgYmUgY2FsbGVkIHdoZW4gdGhlIG1vZGVsIGNoYW5nZXMuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCd0ZW1wbGF0ZScpXG4gIHB1YmxpYyB0ZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKVxuICBwcml2YXRlIHRlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5uYW1lID09PSB1bmRlZmluZWQgfHwgdGhpcy5uYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmxpbmUgZmlsdGVyIHJlcXVpcmVzIGEgbmFtZS4nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcy5sZW5ndGggPiAwXG4gICAgICA/IHRoaXMudGVtcGxhdGVzLmZpcnN0XG4gICAgICA6IHRoaXMudGVtcGxhdGVJbnB1dDtcbiAgfVxufVxuIl19
@@ -1,72 +0,0 @@
1
- import { Component, ContentChildren, } from '@angular/core';
2
- import { take } from 'rxjs/operators';
3
- import { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';
4
- import { ListFilterModel } from './filter.model';
5
- import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
6
- import { SkyListFilterInlineModel } from './list-filter-inline.model';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../list/state/list-state.rxstate";
9
- import * as i2 from "../list/state/list-state.state-node";
10
- import * as i3 from "@skyux/lists";
11
- import * as i4 from "./list-filter-inline-item-renderer.component";
12
- import * as i5 from "@angular/common";
13
- /**
14
- * Creates an inline filter area for the list. Place each filter
15
- * in a `sky-list-filter-inline-item` component.
16
- */
17
- export class SkyListFilterInlineComponent {
18
- constructor(dispatcher, state) {
19
- this.dispatcher = dispatcher;
20
- this.state = state;
21
- this.inlineFilters = [];
22
- }
23
- ngAfterContentInit() {
24
- this.inlineFilters = this.filters.map((filter) => {
25
- return new SkyListFilterInlineModel({
26
- name: filter.name,
27
- filterFunction: filter.filterFunction,
28
- template: filter.template,
29
- value: filter.value,
30
- defaultValue: filter.defaultValue,
31
- });
32
- });
33
- this.inlineFilters.forEach((filter) => {
34
- filter.onChange.subscribe((value) => {
35
- this.applyFilters();
36
- });
37
- });
38
- this.dispatcher.filtersUpdate(this.getFilterModelFromInline(this.inlineFilters));
39
- }
40
- applyFilters() {
41
- this.state.pipe(take(1)).subscribe((currentState) => {
42
- if (currentState.paging.pageNumber &&
43
- currentState.paging.pageNumber !== 1) {
44
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
45
- }
46
- this.dispatcher.filtersUpdate(this.getFilterModelFromInline(this.inlineFilters));
47
- });
48
- }
49
- getFilterModelFromInline(inlineFilters) {
50
- return inlineFilters.map((filter) => {
51
- return new ListFilterModel({
52
- name: filter.name,
53
- value: filter.value,
54
- filterFunction: filter.filterFunction,
55
- defaultValue: filter.defaultValue,
56
- });
57
- });
58
- }
59
- }
60
- SkyListFilterInlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterInlineComponent, deps: [{ token: i1.ListStateDispatcher }, { token: i2.ListState }], target: i0.ɵɵFactoryTarget.Component });
61
- SkyListFilterInlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyListFilterInlineComponent, selector: "sky-list-filter-inline", queries: [{ propertyName: "filters", predicate: SkyListFilterInlineItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n", components: [{ type: i3.λ2, selector: "sky-filter-inline" }, { type: i3.λ3, selector: "sky-filter-inline-item" }, { type: i4.SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: ["template", "filter"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterInlineComponent, decorators: [{
63
- type: Component,
64
- args: [{
65
- selector: 'sky-list-filter-inline',
66
- templateUrl: './list-filter-inline.component.html',
67
- }]
68
- }], ctorParameters: function () { return [{ type: i1.ListStateDispatcher }, { type: i2.ListState }]; }, propDecorators: { filters: [{
69
- type: ContentChildren,
70
- args: [SkyListFilterInlineItemComponent]
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFNdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRXRFOzs7R0FHRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFNdkMsWUFDVSxVQUErQixFQUMvQixLQUFnQjtRQURoQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBUG5CLGtCQUFhLEdBQW9DLEVBQUUsQ0FBQztJQVF4RCxDQUFDO0lBRUcsa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQyxPQUFPLElBQUksd0JBQXdCLENBQUM7Z0JBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO2dCQUNyQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7Z0JBQ3pCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2FBQ2xDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUMzQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbEQsSUFDRSxZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVU7Z0JBQzlCLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLENBQUMsRUFDcEM7Z0JBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQzNCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQ2xELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsYUFBOEM7UUFFOUMsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEMsT0FBTyxJQUFJLGVBQWUsQ0FBQztnQkFDekIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ25CLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYztnQkFDckMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2FBQ2xDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEhBM0RVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHNGQUd0QixnQ0FBZ0MsNkJDaENuRCwwVUFXQTs0RkRrQmEsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxxQ0FBcUM7aUJBQ25EO2tJQUtTLE9BQU87c0JBRGQsZUFBZTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdEZpbHRlcklubGluZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtZmlsdGVyLWlubGluZS1pdGVtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xuXG5pbXBvcnQgeyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbiB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1wYWdlLW51bWJlci5hY3Rpb24nO1xuXG5pbXBvcnQgeyBTa3lMaXN0RmlsdGVySW5saW5lTW9kZWwgfSBmcm9tICcuL2xpc3QtZmlsdGVyLWlubGluZS5tb2RlbCc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbmxpbmUgZmlsdGVyIGFyZWEgZm9yIHRoZSBsaXN0LiBQbGFjZSBlYWNoIGZpbHRlclxuICogaW4gYSBgc2t5LWxpc3QtZmlsdGVyLWlubGluZS1pdGVtYCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LWZpbHRlci1pbmxpbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdEZpbHRlcklubGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwdWJsaWMgaW5saW5lRmlsdGVyczogQXJyYXk8U2t5TGlzdEZpbHRlcklubGluZU1vZGVsPiA9IFtdO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5TGlzdEZpbHRlcklubGluZUl0ZW1Db21wb25lbnQpXG4gIHByaXZhdGUgZmlsdGVyczogUXVlcnlMaXN0PFNreUxpc3RGaWx0ZXJJbmxpbmVJdGVtQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgcHJpdmF0ZSBzdGF0ZTogTGlzdFN0YXRlXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaW5saW5lRmlsdGVycyA9IHRoaXMuZmlsdGVycy5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBTa3lMaXN0RmlsdGVySW5saW5lTW9kZWwoe1xuICAgICAgICBuYW1lOiBmaWx0ZXIubmFtZSxcbiAgICAgICAgZmlsdGVyRnVuY3Rpb246IGZpbHRlci5maWx0ZXJGdW5jdGlvbixcbiAgICAgICAgdGVtcGxhdGU6IGZpbHRlci50ZW1wbGF0ZSxcbiAgICAgICAgdmFsdWU6IGZpbHRlci52YWx1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBmaWx0ZXIuZGVmYXVsdFZhbHVlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmlubGluZUZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICBmaWx0ZXIub25DaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5maWx0ZXJzVXBkYXRlKFxuICAgICAgdGhpcy5nZXRGaWx0ZXJNb2RlbEZyb21JbmxpbmUodGhpcy5pbmxpbmVGaWx0ZXJzKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXJzKCkge1xuICAgIHRoaXMuc3RhdGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGN1cnJlbnRTdGF0ZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgJiZcbiAgICAgICAgY3VycmVudFN0YXRlLnBhZ2luZy5wYWdlTnVtYmVyICE9PSAxXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uKE51bWJlcigxKSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZShcbiAgICAgICAgdGhpcy5nZXRGaWx0ZXJNb2RlbEZyb21JbmxpbmUodGhpcy5pbmxpbmVGaWx0ZXJzKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyTW9kZWxGcm9tSW5saW5lKFxuICAgIGlubGluZUZpbHRlcnM6IEFycmF5PFNreUxpc3RGaWx0ZXJJbmxpbmVNb2RlbD5cbiAgKSB7XG4gICAgcmV0dXJuIGlubGluZUZpbHRlcnMubWFwKChmaWx0ZXIpID0+IHtcbiAgICAgIHJldHVybiBuZXcgTGlzdEZpbHRlck1vZGVsKHtcbiAgICAgICAgbmFtZTogZmlsdGVyLm5hbWUsXG4gICAgICAgIHZhbHVlOiBmaWx0ZXIudmFsdWUsXG4gICAgICAgIGZpbHRlckZ1bmN0aW9uOiBmaWx0ZXIuZmlsdGVyRnVuY3Rpb24sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmlsdGVyLmRlZmF1bHRWYWx1ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxza3ktZmlsdGVyLWlubGluZT5cbiAgPHNreS1maWx0ZXItaW5saW5lLWl0ZW0gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBpbmxpbmVGaWx0ZXJzXCI+XG4gICAgPHNreS1saXN0LWZpbHRlci1pbmxpbmUtaXRlbS1yZW5kZXJlclxuICAgICAgW3RlbXBsYXRlXT1cImZpbHRlci50ZW1wbGF0ZVwiXG4gICAgICBbZmlsdGVyXT1cImZpbHRlclwiXG4gICAgPlxuICAgIDwvc2t5LWxpc3QtZmlsdGVyLWlubGluZS1pdGVtLXJlbmRlcmVyPlxuICA8L3NreS1maWx0ZXItaW5saW5lLWl0ZW0+XG48L3NreS1maWx0ZXItaW5saW5lPlxuIl19
@@ -1,21 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- /**
3
- * @internal
4
- */
5
- export class SkyListFilterInlineModel {
6
- constructor(data) {
7
- this.onChange = new EventEmitter();
8
- if (data) {
9
- this.name = data.name;
10
- this.filterFunction = data.filterFunction;
11
- this.value = data.value;
12
- this.template = data.template;
13
- this.defaultValue = data.defaultValue;
14
- }
15
- }
16
- changed(value) {
17
- this.value = value;
18
- this.onChange.emit(value);
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXItaW5saW5lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyL3NyYy9tb2R1bGVzL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1pbmxpbmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFBWSxJQUFVO1FBSGYsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBSTNELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUN2QztJQUNILENBQUM7SUFFTSxPQUFPLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0SXRlbU1vZGVsIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMaXN0RmlsdGVySW5saW5lTW9kZWwge1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZTogYW55O1xuICBwdWJsaWMgZmlsdGVyRnVuY3Rpb246IChpdGVtOiBMaXN0SXRlbU1vZGVsLCBmaWx0ZXI6IGFueSkgPT4gYm9vbGVhbjtcbiAgcHVibGljIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoZGF0YT86IGFueSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgICB0aGlzLmZpbHRlckZ1bmN0aW9uID0gZGF0YS5maWx0ZXJGdW5jdGlvbjtcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRhLnZhbHVlO1xuICAgICAgdGhpcy50ZW1wbGF0ZSA9IGRhdGEudGVtcGxhdGU7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VkKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -1,58 +0,0 @@
1
- import { Component, EventEmitter, Output, } from '@angular/core';
2
- import { map as observableMap, take } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../list/state/list-state.state-node";
5
- import * as i2 from "../list/state/list-state.rxstate";
6
- import * as i3 from "@skyux/lists";
7
- import * as i4 from "@angular/common";
8
- /**
9
- * Creates a filter summary based on the
10
- * [list component's](https://developer.blackbaud.com/skyux/components/list/overview#list-properties)
11
- * `appliedFilters` property. Place this component within the
12
- * [`sky-list-toolbar`](https://developer.blackbaud.com/skyux/components/list/toolbar) component.
13
- */
14
- export class SkyListFilterSummaryComponent {
15
- constructor(state, dispatcher) {
16
- this.state = state;
17
- this.dispatcher = dispatcher;
18
- /**
19
- * Emits a `ListFilterModel` when users select a summary item. A common use case is
20
- * to open a filter modal when this event is received.
21
- */
22
- this.summaryItemClick = new EventEmitter();
23
- }
24
- ngAfterContentInit() {
25
- // The setTimeout here is to ensure we avoid any ExpressionChangedAfterItHasBeenCheckedError issues.
26
- setTimeout(() => {
27
- this.appliedFilters = this.state.pipe(observableMap((state) => {
28
- return state.filters.filter((filter) => {
29
- return (filter.value !== '' &&
30
- filter.value !== undefined &&
31
- filter.value !== false &&
32
- filter.value !== filter.defaultValue);
33
- });
34
- }));
35
- });
36
- }
37
- filterSummaryItemDismiss(index) {
38
- this.appliedFilters.pipe(take(1)).subscribe((filters) => {
39
- filters.splice(index, 1);
40
- this.dispatcher.filtersUpdate(filters.slice());
41
- });
42
- }
43
- filterSummaryItemClick(item) {
44
- this.summaryItemClick.emit(item);
45
- }
46
- }
47
- SkyListFilterSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterSummaryComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
48
- SkyListFilterSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyListFilterSummaryComponent, selector: "sky-list-filter-summary", outputs: { summaryItemClick: "summaryItemClick" }, ngImport: i0, template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n", components: [{ type: i3.λ5, selector: "sky-filter-summary" }, { type: i3.λ4, selector: "sky-filter-summary-item", inputs: ["dismissible"], outputs: ["dismiss", "itemClick"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i4.AsyncPipe } });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFilterSummaryComponent, decorators: [{
50
- type: Component,
51
- args: [{
52
- selector: 'sky-list-filter-summary',
53
- templateUrl: './list-filter-summary.component.html',
54
- }]
55
- }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }]; }, propDecorators: { summaryItemClick: [{
56
- type: Output
57
- }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXItc3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saXN0LWJ1aWxkZXIvc3JjL21vZHVsZXMvbGlzdC1maWx0ZXJzL2xpc3QtZmlsdGVyLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyL3NyYy9tb2R1bGVzL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBUTVEOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDZCQUE2QjtJQVV4QyxZQUNVLEtBQWdCLEVBQ2hCLFVBQStCO1FBRC9CLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFYekM7OztXQUdHO1FBRUkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFPM0QsQ0FBQztJQUVHLGtCQUFrQjtRQUN2QixvR0FBb0c7UUFDcEcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ25DLGFBQWEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3JDLE9BQU8sQ0FDTCxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ25CLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUzt3QkFDMUIsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLO3dCQUN0QixNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxZQUFZLENBQ3JDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBYTtRQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0RCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxJQUFxQjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7OzJIQTFDVSw2QkFBNkI7K0dBQTdCLDZCQUE2QixrSEMzQjFDLDZWQVVBOzRGRGlCYSw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztpQkFDcEQ7a0lBT1EsZ0JBQWdCO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgbWFwIGFzIG9ic2VydmFibGVNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmaWx0ZXIgc3VtbWFyeSBiYXNlZCBvbiB0aGVcbiAqIFtsaXN0IGNvbXBvbmVudCdzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9vdmVydmlldyNsaXN0LXByb3BlcnRpZXMpXG4gKiBgYXBwbGllZEZpbHRlcnNgIHByb3BlcnR5LiBQbGFjZSB0aGlzIGNvbXBvbmVudCB3aXRoaW4gdGhlXG4gKiBbYHNreS1saXN0LXRvb2xiYXJgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC90b29sYmFyKSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LWZpbHRlci1zdW1tYXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtZmlsdGVyLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0RmlsdGVyU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAvKipcbiAgICogRW1pdHMgYSBgTGlzdEZpbHRlck1vZGVsYCB3aGVuIHVzZXJzIHNlbGVjdCBhIHN1bW1hcnkgaXRlbS4gQSBjb21tb24gdXNlIGNhc2UgaXNcbiAgICogdG8gb3BlbiBhIGZpbHRlciBtb2RhbCB3aGVuIHRoaXMgZXZlbnQgaXMgcmVjZWl2ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHN1bW1hcnlJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RGaWx0ZXJNb2RlbD4oKTtcblxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IE9ic2VydmFibGU8QXJyYXk8TGlzdEZpbHRlck1vZGVsPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdGF0ZTogTGlzdFN0YXRlLFxuICAgIHByaXZhdGUgZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlclxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAvLyBUaGUgc2V0VGltZW91dCBoZXJlIGlzIHRvIGVuc3VyZSB3ZSBhdm9pZCBhbnkgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBpc3N1ZXMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJzID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdGF0ZS5maWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICBmaWx0ZXIudmFsdWUgIT09ICcnICYmXG4gICAgICAgICAgICAgIGZpbHRlci52YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgIGZpbHRlci52YWx1ZSAhPT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgZmlsdGVyLnZhbHVlICE9PSBmaWx0ZXIuZGVmYXVsdFZhbHVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJTdW1tYXJ5SXRlbURpc21pc3MoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuYXBwbGllZEZpbHRlcnMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgIGZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5maWx0ZXJzVXBkYXRlKGZpbHRlcnMuc2xpY2UoKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3VtbWFyeUl0ZW1DbGljayhpdGVtOiBMaXN0RmlsdGVyTW9kZWwpIHtcbiAgICB0aGlzLnN1bW1hcnlJdGVtQ2xpY2suZW1pdChpdGVtKTtcbiAgfVxufVxuIiwiPHNreS1maWx0ZXItc3VtbWFyeT5cbiAgPHNreS1maWx0ZXItc3VtbWFyeS1pdGVtXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYXBwbGllZEZpbHRlcnMgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiXG4gICAgKGRpc21pc3MpPVwiZmlsdGVyU3VtbWFyeUl0ZW1EaXNtaXNzKGkpXCJcbiAgICAoaXRlbUNsaWNrKT1cImZpbHRlclN1bW1hcnlJdGVtQ2xpY2soaXRlbSlcIlxuICAgIFtkaXNtaXNzaWJsZV09XCJpdGVtLmRpc21pc3NpYmxlXCJcbiAgPlxuICAgIHt7IGl0ZW0ubGFiZWwgfHwgaXRlbS52YWx1ZSB9fVxuICA8L3NreS1maWx0ZXItc3VtbWFyeS1pdGVtPlxuPC9za3ktZmlsdGVyLXN1bW1hcnk+XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SkyFilterModule } from '@skyux/lists';
4
- import { SkyListFilterButtonComponent } from './list-filter-button.component';
5
- import { SkyListFilterSummaryComponent } from './list-filter-summary.component';
6
- import { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';
7
- import { SkyListFilterInlineComponent } from './list-filter-inline.component';
8
- import { SkyListFilterInlineItemRendererComponent } from './list-filter-inline-item-renderer.component';
9
- import * as i0 from "@angular/core";
10
- export class SkyListFiltersModule {
11
- }
12
- SkyListFiltersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- SkyListFiltersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFiltersModule, declarations: [SkyListFilterButtonComponent,
14
- SkyListFilterSummaryComponent,
15
- SkyListFilterInlineItemComponent,
16
- SkyListFilterInlineComponent,
17
- SkyListFilterInlineItemRendererComponent], imports: [CommonModule, SkyFilterModule], exports: [SkyListFilterButtonComponent,
18
- SkyListFilterSummaryComponent,
19
- SkyListFilterInlineItemComponent,
20
- SkyListFilterInlineComponent] });
21
- SkyListFiltersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFiltersModule, imports: [[CommonModule, SkyFilterModule]] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListFiltersModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- declarations: [
26
- SkyListFilterButtonComponent,
27
- SkyListFilterSummaryComponent,
28
- SkyListFilterInlineItemComponent,
29
- SkyListFilterInlineComponent,
30
- SkyListFilterInlineItemRendererComponent,
31
- ],
32
- imports: [CommonModule, SkyFilterModule],
33
- exports: [
34
- SkyListFilterButtonComponent,
35
- SkyListFilterSummaryComponent,
36
- SkyListFilterInlineItemComponent,
37
- SkyListFilterInlineComponent,
38
- ],
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWx0ZXJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQWtCeEcsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQWQ3Qiw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLGdDQUFnQztRQUNoQyw0QkFBNEI7UUFDNUIsd0NBQXdDLGFBRWhDLFlBQVksRUFBRSxlQUFlLGFBRXJDLDRCQUE0QjtRQUM1Qiw2QkFBNkI7UUFDN0IsZ0NBQWdDO1FBQ2hDLDRCQUE0QjttSEFHbkIsb0JBQW9CLFlBUnRCLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzs0RkFRN0Isb0JBQW9CO2tCQWhCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1Qiw2QkFBNkI7d0JBQzdCLGdDQUFnQzt3QkFDaEMsNEJBQTRCO3dCQUM1Qix3Q0FBd0M7cUJBQ3pDO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQyw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFNreUZpbHRlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5cbmltcG9ydCB7IFNreUxpc3RGaWx0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TGlzdEZpbHRlclN1bW1hcnlDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtZmlsdGVyLXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUxpc3RGaWx0ZXJJbmxpbmVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWZpbHRlci1pbmxpbmUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TGlzdEZpbHRlcklubGluZUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0RmlsdGVySW5saW5lSXRlbVJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWZpbHRlci1pbmxpbmUtaXRlbS1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lMaXN0RmlsdGVyQnV0dG9uQ29tcG9uZW50LFxuICAgIFNreUxpc3RGaWx0ZXJTdW1tYXJ5Q29tcG9uZW50LFxuICAgIFNreUxpc3RGaWx0ZXJJbmxpbmVJdGVtQ29tcG9uZW50LFxuICAgIFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQsXG4gICAgU2t5TGlzdEZpbHRlcklubGluZUl0ZW1SZW5kZXJlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5RmlsdGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUxpc3RGaWx0ZXJCdXR0b25Db21wb25lbnQsXG4gICAgU2t5TGlzdEZpbHRlclN1bW1hcnlDb21wb25lbnQsXG4gICAgU2t5TGlzdEZpbHRlcklubGluZUl0ZW1Db21wb25lbnQsXG4gICAgU2t5TGlzdEZpbHRlcklubGluZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdEZpbHRlcnNNb2R1bGUge31cbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, forwardRef, } from '@angular/core';
2
- import { getValue } from '@skyux/list-builder-common';
3
- import { distinctUntilChanged, map as observableMap, scan, } from 'rxjs/operators';
4
- import { ListPagingComponent } from '../list/list-paging.component';
5
- import { ListPagingSetMaxPagesAction } from '../list/state/paging/set-max-pages.action';
6
- import { ListPagingSetItemsPerPageAction } from '../list/state/paging/set-items-per-page.action';
7
- import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../list/state/list-state.state-node";
10
- import * as i2 from "../list/state/list-state.rxstate";
11
- import * as i3 from "@skyux/lists";
12
- import * as i4 from "@angular/common";
13
- /* istanbul ignore next */
14
- const listPagingComponentRef = forwardRef(() => SkyListPagingComponent);
15
- /**
16
- * Displays a pagination control for a SKY UX-themed list of data.
17
- */
18
- export class SkyListPagingComponent extends ListPagingComponent {
19
- constructor(state, dispatcher) {
20
- super(state, dispatcher);
21
- /**
22
- * Specifies the number of list items per page.
23
- * @default 10
24
- */
25
- this.pageSize = 10;
26
- /**
27
- * Specifies the maximum pages to display.
28
- * @default 5
29
- */
30
- this.maxPages = 5;
31
- /**
32
- * Specifies the current page number.
33
- * @default 1
34
- */
35
- this.pageNumber = 1;
36
- }
37
- ngOnInit() {
38
- this.currentPageNumber = this.state.pipe(observableMap((s) => s.paging.pageNumber));
39
- this.maxDisplayedPages = this.state.pipe(observableMap((s) => s.paging.maxDisplayedPages));
40
- this.itemsPerPage = this.state.pipe(observableMap((s) => s.paging.itemsPerPage));
41
- this.itemCount = this.state.pipe(observableMap((s) => {
42
- return s.items;
43
- }), scan((previousValue, newValue) => {
44
- if (previousValue.lastUpdate > newValue.lastUpdate) {
45
- return previousValue;
46
- }
47
- else {
48
- return newValue;
49
- }
50
- }), observableMap((result) => {
51
- return result.count;
52
- }), distinctUntilChanged());
53
- // subscribe to or use inputs
54
- getValue(this.pageSize, (pageSize) => this.dispatcher.next(new ListPagingSetItemsPerPageAction(Number(pageSize))));
55
- getValue(this.maxPages, (maxPages) => this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages))));
56
- getValue(this.pageNumber, (pageNumber) => this.dispatcher.next(new ListPagingSetPageNumberAction(Number(pageNumber))));
57
- }
58
- pageChange(currentPage) {
59
- // Paging must be updated after list data has been updated.
60
- // Adding a setTimeout will pull it out of the stream.
61
- setTimeout(() => {
62
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(currentPage)));
63
- });
64
- }
65
- }
66
- SkyListPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
67
- SkyListPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyListPagingComponent, selector: "sky-list-paging", inputs: { pageSize: "pageSize", maxPages: "maxPages", pageNumber: "pageNumber" }, providers: [
68
- { provide: ListPagingComponent, useExisting: listPagingComponentRef },
69
- ], usesInheritance: true, ngImport: i0, template: "<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n", components: [{ type: i3.λ7, selector: "sky-paging", inputs: ["currentPage", "itemCount", "maxPages", "pageSize", "pagingLabel"], outputs: ["currentPageChange"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingComponent, decorators: [{
71
- type: Component,
72
- args: [{
73
- selector: 'sky-list-paging',
74
- templateUrl: './list-paging.component.html',
75
- providers: [
76
- { provide: ListPagingComponent, useExisting: listPagingComponentRef },
77
- ],
78
- changeDetection: ChangeDetectionStrategy.OnPush,
79
- }]
80
- }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }]; }, propDecorators: { pageSize: [{
81
- type: Input
82
- }], maxPages: [{
83
- type: Input
84
- }], pageNumber: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyL3NyYy9tb2R1bGVzL2xpc3QtcGFnaW5nL2xpc3QtcGFnaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LXBhZ2luZy9saXN0LXBhZ2luZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYSxRQUFRLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFJaEYsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEdBQ0wsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUV4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVqRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBRTVGLDBCQUEwQjtBQUMxQixNQUFNLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRXhFOztHQUVHO0FBU0gsTUFBTSxPQUFPLHNCQUNYLFNBQVEsbUJBQW1CO0lBZ0MzQixZQUFZLEtBQWdCLEVBQUUsVUFBK0I7UUFDM0QsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQTlCM0I7OztXQUdHO1FBRUksYUFBUSxHQUFnQyxFQUFFLENBQUM7UUFFbEQ7OztXQUdH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LG1CQUFtQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtxQkFDdEU7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2tJQVVRLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBmb3J3YXJkUmVmLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBc3luY0xpc3QsIGdldFZhbHVlLCBMaXN0SXRlbU1vZGVsIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgc2Nhbixcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMaXN0UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC9saXN0LXBhZ2luZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RQYWdpbmdTZXRNYXhQYWdlc0FjdGlvbiB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1tYXgtcGFnZXMuYWN0aW9uJztcblxuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldEl0ZW1zUGVyUGFnZUFjdGlvbiB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1pdGVtcy1wZXItcGFnZS5hY3Rpb24nO1xuXG5pbXBvcnQgeyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbiB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1wYWdlLW51bWJlci5hY3Rpb24nO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgbGlzdFBhZ2luZ0NvbXBvbmVudFJlZiA9IGZvcndhcmRSZWYoKCkgPT4gU2t5TGlzdFBhZ2luZ0NvbXBvbmVudCk7XG5cbi8qKlxuICogRGlzcGxheXMgYSBwYWdpbmF0aW9uIGNvbnRyb2wgZm9yIGEgU0tZIFVYLXRoZW1lZCBsaXN0IG9mIGRhdGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXBhZ2luZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBhZ2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTGlzdFBhZ2luZ0NvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGxpc3RQYWdpbmdDb21wb25lbnRSZWYgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RQYWdpbmdDb21wb25lbnRcbiAgZXh0ZW5kcyBMaXN0UGFnaW5nQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBsaXN0IGl0ZW1zIHBlciBwYWdlLlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTaXplOiBPYnNlcnZhYmxlPG51bWJlcj4gfCBudW1iZXIgPSAxMDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHBhZ2VzIHRvIGRpc3BsYXkuXG4gICAqIEBkZWZhdWx0IDVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhQYWdlczogT2JzZXJ2YWJsZTxudW1iZXI+IHwgbnVtYmVyID0gNTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZU51bWJlcjogT2JzZXJ2YWJsZTxudW1iZXI+IHwgbnVtYmVyID0gMTtcblxuICBwdWJsaWMgY3VycmVudFBhZ2VOdW1iZXI6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBwdWJsaWMgbWF4RGlzcGxheWVkUGFnZXM6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBwdWJsaWMgaXRlbXNQZXJQYWdlOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgcHVibGljIGl0ZW1Db3VudDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIGNvbnN0cnVjdG9yKHN0YXRlOiBMaXN0U3RhdGUsIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIpIHtcbiAgICBzdXBlcihzdGF0ZSwgZGlzcGF0Y2hlcik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZU51bWJlciA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMucGFnaW5nLnBhZ2VOdW1iZXIpXG4gICAgKTtcblxuICAgIHRoaXMubWF4RGlzcGxheWVkUGFnZXMgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5tYXhEaXNwbGF5ZWRQYWdlcylcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpXG4gICAgKTtcblxuICAgIHRoaXMuaXRlbUNvdW50ID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4ge1xuICAgICAgICByZXR1cm4gcy5pdGVtcztcbiAgICAgIH0pLFxuICAgICAgc2NhbihcbiAgICAgICAgKFxuICAgICAgICAgIHByZXZpb3VzVmFsdWU6IEFzeW5jTGlzdDxMaXN0SXRlbU1vZGVsPixcbiAgICAgICAgICBuZXdWYWx1ZTogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+XG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2aW91c1ZhbHVlLmxhc3RVcGRhdGUgPiBuZXdWYWx1ZS5sYXN0VXBkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3VsdDogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHQuY291bnQ7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIG9yIHVzZSBpbnB1dHNcbiAgICBnZXRWYWx1ZSh0aGlzLnBhZ2VTaXplLCAocGFnZVNpemU6IG51bWJlcikgPT5cbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFBhZ2luZ1NldEl0ZW1zUGVyUGFnZUFjdGlvbihOdW1iZXIocGFnZVNpemUpKVxuICAgICAgKVxuICAgICk7XG4gICAgZ2V0VmFsdWUodGhpcy5tYXhQYWdlcywgKG1heFBhZ2VzOiBudW1iZXIpID0+XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldE1heFBhZ2VzQWN0aW9uKE51bWJlcihtYXhQYWdlcykpKVxuICAgICk7XG4gICAgZ2V0VmFsdWUodGhpcy5wYWdlTnVtYmVyLCAocGFnZU51bWJlcjogbnVtYmVyKSA9PlxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbihOdW1iZXIocGFnZU51bWJlcikpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYWdlQ2hhbmdlKGN1cnJlbnRQYWdlOiBudW1iZXIpIHtcbiAgICAvLyBQYWdpbmcgbXVzdCBiZSB1cGRhdGVkIGFmdGVyIGxpc3QgZGF0YSBoYXMgYmVlbiB1cGRhdGVkLlxuICAgIC8vIEFkZGluZyBhIHNldFRpbWVvdXQgd2lsbCBwdWxsIGl0IG91dCBvZiB0aGUgc3RyZWFtLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbihOdW1iZXIoY3VycmVudFBhZ2UpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHNreS1wYWdpbmdcbiAgW3BhZ2VTaXplXT1cIml0ZW1zUGVyUGFnZSB8IGFzeW5jXCJcbiAgW21heFBhZ2VzXT1cIm1heERpc3BsYXllZFBhZ2VzIHwgYXN5bmNcIlxuICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VOdW1iZXIgfCBhc3luY1wiXG4gIFtpdGVtQ291bnRdPVwiaXRlbUNvdW50IHwgYXN5bmNcIlxuICAoY3VycmVudFBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCJcbj5cbjwvc2t5LXBhZ2luZz5cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SkyListPagingComponent } from './list-paging.component';
4
- import { SkyPagingModule } from '@skyux/lists';
5
- import * as i0 from "@angular/core";
6
- export class SkyListPagingModule {
7
- }
8
- SkyListPagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyListPagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingModule, declarations: [SkyListPagingComponent], imports: [CommonModule, SkyPagingModule], exports: [SkyListPagingComponent] });
10
- SkyListPagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingModule, imports: [[CommonModule, SkyPagingModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListPagingModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [SkyListPagingComponent],
15
- imports: [CommonModule, SkyPagingModule],
16
- exports: [SkyListPagingComponent],
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlzdC1idWlsZGVyL3NyYy9tb2R1bGVzL2xpc3QtcGFnaW5nL2xpc3QtcGFnaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU8vQyxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBSmYsc0JBQXNCLGFBQzNCLFlBQVksRUFBRSxlQUFlLGFBQzdCLHNCQUFzQjtrSEFFckIsbUJBQW1CLFlBSHJCLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzs0RkFHN0IsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNreUxpc3RQYWdpbmdDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtcGFnaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQYWdpbmdNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lMaXN0UGFnaW5nQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5UGFnaW5nTW9kdWxlXSxcbiAgZXhwb3J0czogW1NreUxpc3RQYWdpbmdDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0UGFnaW5nTW9kdWxlIHt9XG4iXX0=
@@ -1,151 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
4
- import { ListFilterModel } from '../list-filters/filter.model';
5
- import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../list/state/list-state.state-node";
8
- import * as i2 from "../list/state/list-state.rxstate";
9
- import * as i3 from "@skyux/layout";
10
- import * as i4 from "./list-toolbar-item-renderer.component";
11
- import * as i5 from "@skyux/forms";
12
- import * as i6 from "@angular/common";
13
- import * as i7 from "@skyux/i18n";
14
- let uniqueId = 0;
15
- /**
16
- * @internal
17
- */
18
- export class SkyListMultiselectToolbarComponent {
19
- constructor(state, dispatcher) {
20
- this.state = state;
21
- this.dispatcher = dispatcher;
22
- this.showOnlySelected = false;
23
- this.multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;
24
- this.selectedIdMap = new Map();
25
- this.ngUnsubscribe = new Subject();
26
- }
27
- ngOnInit() {
28
- this.state
29
- .pipe(observableMap((t) => t.selected.item), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.selectedMapEqual))
30
- .subscribe((model) => {
31
- this.selectedIdMap = model.selectedIdMap;
32
- if (this.showOnlySelected) {
33
- this.reapplyFilter(true);
34
- }
35
- });
36
- // If 'show-selected' filter is programatically set from a child component (e.g. checkilst),
37
- // make sure the checked state of the 'show-selected' checkbox stays in sync.
38
- this.state
39
- .pipe(observableMap((t) => t.filters), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
40
- .subscribe((filters) => {
41
- const showSelectedFilter = filters.find((filter) => filter.name === 'show-selected');
42
- if (showSelectedFilter) {
43
- this.showOnlySelected = showSelectedFilter.value === 'true';
44
- }
45
- });
46
- }
47
- ngOnDestroy() {
48
- this.ngUnsubscribe.next();
49
- this.ngUnsubscribe.complete();
50
- }
51
- selectAll() {
52
- this.state
53
- .pipe(observableMap((state) => state.items.items), take(1))
54
- .subscribe((items) => {
55
- this.dispatcher.setSelected(items.map((item) => item.id), true);
56
- if (this.showOnlySelected) {
57
- this.reapplyFilter(this.showOnlySelected);
58
- }
59
- });
60
- }
61
- clearSelections() {
62
- this.state
63
- .pipe(observableMap((state) => state.items.items), take(1))
64
- .subscribe((items) => {
65
- this.dispatcher.setSelected(items.map((item) => item.id), false);
66
- if (this.showOnlySelected) {
67
- this.reapplyFilter(this.showOnlySelected);
68
- }
69
- });
70
- }
71
- changeVisibleItems(change) {
72
- this.showOnlySelected = change.checked;
73
- this.reapplyFilter(change.checked);
74
- }
75
- reapplyFilter(isSelected) {
76
- let self = this;
77
- this.state
78
- .pipe(observableMap((state) => state.filters), take(1))
79
- .subscribe((filters) => {
80
- filters = filters.filter((filter) => filter.name !== 'show-selected');
81
- filters.push(self.getShowSelectedFilter(isSelected));
82
- this.dispatcher.filtersUpdate(filters);
83
- });
84
- // If "show selected" is checked and paging is enabled, go to page one.
85
- /* istanbul ignore else */
86
- if (isSelected) {
87
- this.state.pipe(take(1)).subscribe((currentState) => {
88
- if (currentState.paging.pageNumber &&
89
- currentState.paging.pageNumber !== 1) {
90
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
91
- }
92
- });
93
- }
94
- this.dispatcher.toolbarSetDisabled(isSelected);
95
- }
96
- getShowSelectedFilter(isSelected) {
97
- return new ListFilterModel({
98
- name: 'show-selected',
99
- value: isSelected.toString(),
100
- filterFunction: (model, showOnlySelected) => {
101
- /* istanbul ignore else */
102
- if (showOnlySelected.toString() !== false.toString()) {
103
- return this.selectedIdMap.get(model.id);
104
- }
105
- },
106
- defaultValue: false.toString(),
107
- });
108
- }
109
- showSelectedValuesEqual(prev, next) {
110
- const prevShowSelectedFilter = prev.find((filter) => filter.name === 'show-selected');
111
- const nextShowSelectedFilter = next.find((filter) => filter.name === 'show-selected');
112
- // Both undefined.
113
- if (!prevShowSelectedFilter && !nextShowSelectedFilter) {
114
- return true;
115
- }
116
- // Only one undefined.
117
- if ((prevShowSelectedFilter && !nextShowSelectedFilter) ||
118
- (!prevShowSelectedFilter && nextShowSelectedFilter)) {
119
- return false;
120
- }
121
- // Defined, but with different "value".
122
- return prevShowSelectedFilter.value === nextShowSelectedFilter.value;
123
- }
124
- selectedMapEqual(prev, next) {
125
- if (prev.selectedIdMap.size !== next.selectedIdMap.size) {
126
- return false;
127
- }
128
- for (let i = 0; i < next.selectedIdMap.size; i++) {
129
- const key = Array.from(next.selectedIdMap.keys())[i];
130
- const value = next.selectedIdMap.get(key);
131
- /* istanbul ignore next */
132
- if (value !== prev.selectedIdMap.get(key)) {
133
- return false;
134
- }
135
- }
136
- return true;
137
- }
138
- }
139
- SkyListMultiselectToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListMultiselectToolbarComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
140
- SkyListMultiselectToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: { showOnlySelected: "showOnlySelected" }, ngImport: i0, template: "<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_mutliselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_mutliselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n", styles: [":host-context(sky-toolbar +) .sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search +) .sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"], components: [{ type: i3.λ37, selector: "sky-toolbar" }, { type: i3.λ38, selector: "sky-toolbar-section" }, { type: i3.λ39, selector: "sky-toolbar-item" }, { type: i4.SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { type: i3.λ40, selector: "sky-toolbar-view-actions" }, { type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i5.λ4, selector: "sky-checkbox-label" }], directives: [{ type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i7.SkyLibResourcesPipe } });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyListMultiselectToolbarComponent, decorators: [{
142
- type: Component,
143
- args: [{
144
- selector: 'sky-list-multiselect-toolbar',
145
- templateUrl: './list-multiselect-toolbar.component.html',
146
- styleUrls: ['./list-multiselect-toolbar.component.scss'],
147
- }]
148
- }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }]; }, propDecorators: { showOnlySelected: [{
149
- type: Input
150
- }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1tdWx0aXNlbGVjdC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1tdWx0aXNlbGVjdC10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpc3QtYnVpbGRlci9zcmMvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1tdWx0aXNlbGVjdC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxJQUFJLGFBQWEsRUFDcEIsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7O0FBUTVGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVqQjs7R0FFRztBQU1ILE1BQU0sT0FBTyxrQ0FBa0M7SUFVN0MsWUFDVSxLQUFnQixFQUNoQixVQUErQjtRQUQvQixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBVmxDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qix5QkFBb0IsR0FBRyxnQ0FBZ0MsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUVuRSxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRTNDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUtuQyxDQUFDO0lB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QUVELHVDQUF1QztRQUN2QyxPQUFPLHNCQUFzQixDQUFDLEtBQUssS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7SUFDdkUsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixJQUF1QixFQUN2QixJQUF1QjtRQUV2QixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFO1lBQ3ZELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QyxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O2dJQXJMVSxrQ0FBa0M7b0hBQWxDLGtDQUFrQyxzSENuQy9DLDJqREFpREE7NEZEZGEsa0NBQWtDO2tCQUw5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSwyQ0FBMkM7b0JBQ3hELFNBQVMsRUFBRSxDQUFDLDJDQUEyQyxDQUFDO2lCQUN6RDtrSUFHUSxnQkFBZ0I7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9wYWdpbmcvc2V0LXBhZ2UtbnVtYmVyLmFjdGlvbic7XG5cbmltcG9ydCB7IExpc3RTZWxlY3RlZE1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZWxlY3RlZC5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWxpc3QtbXVsdGlzZWxlY3QtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LW11bHRpc2VsZWN0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LW11bHRpc2VsZWN0LXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdE11bHRpc2VsZWN0VG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgbXVsdGlzZWxlY3RUb29sYmFySWQgPSBgc2t5LWxpc3QtbXVsdGlzZWxlY3QtdG9vbGJhci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwcml2YXRlIHNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RhdGU6IExpc3RTdGF0ZSxcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXJcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgodCkgPT4gdC5zZWxlY3RlZC5pdGVtKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKHRoaXMuc2VsZWN0ZWRNYXBFcXVhbClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG1vZGVsOiBMaXN0U2VsZWN0ZWRNb2RlbCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBtb2RlbC5zZWxlY3RlZElkTWFwO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3dPbmx5U2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gSWYgJ3Nob3ctc2VsZWN0ZWQnIGZpbHRlciBpcyBwcm9ncmFtYXRpY2FsbHkgc2V0IGZyb20gYSBjaGlsZCBjb21wb25lbnQgKGUuZy4gY2hlY2tpbHN0KSxcbiAgICAvLyBtYWtlIHN1cmUgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlICdzaG93LXNlbGVjdGVkJyBjaGVja2JveCBzdGF5cyBpbiBzeW5jLlxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LmZpbHRlcnMpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQodGhpcy5zaG93U2VsZWN0ZWRWYWx1ZXNFcXVhbClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNob3dTZWxlY3RlZEZpbHRlciA9IGZpbHRlcnMuZmluZChcbiAgICAgICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBzaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZXRTZWxlY3RlZChcbiAgICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZXRTZWxlY3RlZChcbiAgICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpLFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNob3dPbmx5U2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlVmlzaWJsZUl0ZW1zKGNoYW5nZTogU2t5Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgICB0aGlzLnJlYXBwbHlGaWx0ZXIoY2hhbmdlLmNoZWNrZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFwcGx5RmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBsZXQgc2VsZiA9IHRoaXM7XG5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLmZpbHRlcnMpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSkgPT4ge1xuICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgIT09ICdzaG93LXNlbGVjdGVkJyk7XG4gICAgICAgIGZpbHRlcnMucHVzaChzZWxmLmdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkKSk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5maWx0ZXJzVXBkYXRlKGZpbHRlcnMpO1xuICAgICAgfSk7XG5cbiAgICAvLyBJZiBcInNob3cgc2VsZWN0ZWRcIiBpcyBjaGVja2VkIGFuZCBwYWdpbmcgaXMgZW5hYmxlZCwgZ28gdG8gcGFnZSBvbmUuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5zdGF0ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY3VycmVudFN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgJiZcbiAgICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgIT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uKE51bWJlcigxKSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJTZXREaXNhYmxlZChpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pOiBMaXN0RmlsdGVyTW9kZWwge1xuICAgIHJldHVybiBuZXcgTGlzdEZpbHRlck1vZGVsKHtcbiAgICAgIG5hbWU6ICdzaG93LXNlbGVjdGVkJyxcbiAgICAgIHZhbHVlOiBpc1NlbGVjdGVkLnRvU3RyaW5nKCksXG4gICAgICBmaWx0ZXJGdW5jdGlvbjogKG1vZGVsOiBMaXN0SXRlbU1vZGVsLCBzaG93T25seVNlbGVjdGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChzaG93T25seVNlbGVjdGVkLnRvU3RyaW5nKCkgIT09IGZhbHNlLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZElkTWFwLmdldChtb2RlbC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dTZWxlY3RlZFZhbHVlc0VxdWFsKFxuICAgIHByZXY6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgIG5leHQ6IExpc3RGaWx0ZXJNb2RlbFtdXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByZXZTaG93U2VsZWN0ZWRGaWx0ZXIgPSBwcmV2LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnXG4gICAgKTtcbiAgICBjb25zdCBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyID0gbmV4dC5maW5kKFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJ1xuICAgICk7XG5cbiAgICAvLyBCb3RoIHVuZGVmaW5lZC5cbiAgICBpZiAoIXByZXZTaG93U2VsZWN0ZWRGaWx0ZXIgJiYgIW5leHRTaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIE9ubHkgb25lIHVuZGVmaW5lZC5cbiAgICBpZiAoXG4gICAgICAocHJldlNob3dTZWxlY3RlZEZpbHRlciAmJiAhbmV4dFNob3dTZWxlY3RlZEZpbHRlcikgfHxcbiAgICAgICghcHJldlNob3dTZWxlY3RlZEZpbHRlciAmJiBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIERlZmluZWQsIGJ1dCB3aXRoIGRpZmZlcmVudCBcInZhbHVlXCIuXG4gICAgcmV0dXJuIHByZXZTaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09IG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdGVkTWFwRXF1YWwoXG4gICAgcHJldjogTGlzdFNlbGVjdGVkTW9kZWwsXG4gICAgbmV4dDogTGlzdFNlbGVjdGVkTW9kZWxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKHByZXYuc2VsZWN0ZWRJZE1hcC5zaXplICE9PSBuZXh0LnNlbGVjdGVkSWRNYXAuc2l6ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmV4dC5zZWxlY3RlZElkTWFwLnNpemU7IGkrKykge1xuICAgICAgY29uc3Qga2V5ID0gQXJyYXkuZnJvbShuZXh0LnNlbGVjdGVkSWRNYXAua2V5cygpKVtpXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gbmV4dC5zZWxlY3RlZElkTWFwLmdldChrZXkpO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICh2YWx1ZSAhPT0gcHJldi5zZWxlY3RlZElkTWFwLmdldChrZXkpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPHNreS10b29sYmFyIGNsYXNzPVwic2t5LWxpc3QtbXVsdGlzZWxlY3QtdG9vbGJhclwiPlxuICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXIgW3RlbXBsYXRlXT1cInNlbGVjdEFsbFRlbXBsYXRlXCI+XG4gICAgICA8L3NreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlcj5cbiAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyIFt0ZW1wbGF0ZV09XCJjbGVhclNlbGVjdGlvbnNUZW1wbGF0ZVwiPlxuICAgICAgPC9za3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXI+XG4gICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2hvd1NlbGVjdGVkVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuPC9za3ktdG9vbGJhcj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RBbGxUZW1wbGF0ZT5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmtcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmlkXT1cIm11bHRpc2VsZWN0VG9vbGJhcklkICsgJy1zZWxlY3QtYWxsJ1wiXG4gICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICB7eyAnc2t5dXhfbGlzdF9tdXRsaXNlbGVjdF9zZWxlY3RfYWxsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2xlYXJTZWxlY3Rpb25zVGVtcGxhdGU+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5pZF09XCJtdWx0aXNlbGVjdFRvb2xiYXJJZCArICctY2xlYXItYWxsJ1wiXG4gICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9ucygpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICB7eyAnc2t5dXhfbGlzdF9tdWx0aXNlbGVjdF9jbGVhcl9hbGwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzaG93U2VsZWN0ZWRUZW1wbGF0ZT5cbiAgPHNreS1jaGVja2JveFxuICAgIFthdHRyLmlkXT1cIm11bHRpc2VsZWN0VG9vbGJhcklkICsgJy1zaG93LXNlbGVjdGVkJ1wiXG4gICAgW2NoZWNrZWRdPVwic2hvd09ubHlTZWxlY3RlZFwiXG4gICAgKGNoYW5nZSk9XCJjaGFuZ2VWaXNpYmxlSXRlbXMoJGV2ZW50KVwiXG4gID5cbiAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAge3sgJ3NreXV4X2xpc3RfbXV0bGlzZWxlY3Rfc2hvd19zZWxlY3RlZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgPC9za3ktY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuIl19