@theseam/ui-common 0.4.28 → 0.4.30

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 (616) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +61 -9
  3. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
  4. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
  5. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
  6. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
  7. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  8. package/datatable/datatable.module.d.ts +29 -20
  9. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
  10. package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
  11. package/datatable/models/action-item-column-position.d.ts +13 -0
  12. package/datatable/models/columns-data-filter.d.ts +57 -0
  13. package/datatable/models/columns-data-filters/models.d.ts +65 -0
  14. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
  15. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
  16. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
  17. package/datatable/models/columns-data-filters/utils.d.ts +15 -0
  18. package/datatable/models/datatable-config.d.ts +97 -0
  19. package/datatable/models/table-column.d.ts +22 -1
  20. package/datatable/public-api.d.ts +14 -0
  21. package/datatable/services/columns-filters.service.d.ts +29 -0
  22. package/datatable/services/columns-manager.service.d.ts +7 -0
  23. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
  25. package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
  31. package/esm2020/buttons/button/button.component.mjs +10 -10
  32. package/esm2020/buttons/buttons.module.mjs +5 -5
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
  35. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  36. package/esm2020/card/card-body/card-body.component.mjs +4 -4
  37. package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
  38. package/esm2020/card/card-header/card-header.component.mjs +4 -4
  39. package/esm2020/card/card.component.mjs +4 -4
  40. package/esm2020/card/card.module.mjs +5 -5
  41. package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
  42. package/esm2020/carousel/carousel.component.mjs +4 -4
  43. package/esm2020/carousel/carousel.module.mjs +5 -5
  44. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  45. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  46. package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
  47. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
  49. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
  50. package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
  51. package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
  52. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
  53. package/esm2020/data-filters/data-filters.module.mjs +5 -5
  54. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
  55. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
  56. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
  57. package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
  58. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
  59. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
  60. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
  61. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
  62. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
  63. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
  64. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
  78. package/esm2020/datatable/datatable.module.mjs +53 -11
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
  82. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
  83. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
  84. package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
  85. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
  86. package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
  87. package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
  88. package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
  89. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
  90. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
  91. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
  92. package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
  93. package/esm2020/datatable/models/datatable-config.mjs +3 -0
  94. package/esm2020/datatable/models/table-column.mjs +1 -1
  95. package/esm2020/datatable/public-api.mjs +15 -1
  96. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  97. package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
  98. package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
  99. package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
  100. package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
  101. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
  102. package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
  103. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
  104. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  105. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
  106. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
  107. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
  108. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
  109. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
  110. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
  111. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
  112. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
  113. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  114. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  115. package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
  116. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  117. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
  118. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
  119. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
  120. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
  121. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  122. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  123. package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
  124. package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
  125. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  126. package/esm2020/form-field/form-field.component.mjs +4 -4
  127. package/esm2020/form-field/form-field.module.mjs +5 -5
  128. package/esm2020/form-field/input.directive.mjs +4 -4
  129. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
  130. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  131. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
  132. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
  133. package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
  134. package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
  135. package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
  136. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
  137. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
  138. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
  139. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
  140. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
  141. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
  142. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
  143. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
  144. package/esm2020/framework/base-layout/index.mjs +2 -1
  145. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
  146. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
  147. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
  148. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
  149. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  150. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
  151. package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
  152. package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
  153. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  154. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
  155. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
  156. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
  157. package/esm2020/framework/nav/index.mjs +6 -0
  158. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
  159. package/esm2020/framework/nav/nav-utils.mjs +107 -0
  160. package/esm2020/framework/nav/nav.models.mjs +2 -0
  161. package/esm2020/framework/nav/nav.module.mjs +67 -0
  162. package/esm2020/framework/nav/nav.service.mjs +204 -0
  163. package/esm2020/framework/public-api.mjs +2 -1
  164. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
  165. package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
  166. package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
  167. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
  168. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
  169. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
  170. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
  171. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
  172. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
  174. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
  176. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
  177. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
  178. package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
  179. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  180. package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
  181. package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
  182. package/esm2020/framework/top-bar/index.mjs +3 -1
  183. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
  184. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
  185. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
  186. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
  187. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
  188. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
  189. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
  190. package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
  191. package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
  192. package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
  193. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
  194. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
  195. package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
  196. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
  197. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
  198. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
  199. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
  200. package/esm2020/google-maps/google-maps.module.mjs +5 -5
  201. package/esm2020/google-maps/google-maps.service.mjs +4 -4
  202. package/esm2020/google-maps/map-control.component.mjs +4 -4
  203. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  204. package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
  205. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  206. package/esm2020/graphql/datatable/index.mjs +4 -1
  207. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  208. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
  209. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
  210. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
  211. package/esm2020/icon/icon/icon.component.mjs +4 -4
  212. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
  213. package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
  214. package/esm2020/icon/icon.module.mjs +5 -5
  215. package/esm2020/layout/layout.module.mjs +5 -5
  216. package/esm2020/layout/layout.service.mjs +15 -5
  217. package/esm2020/loading/loading/loading.component.mjs +4 -4
  218. package/esm2020/loading/loading-overlay.service.mjs +4 -4
  219. package/esm2020/loading/loading.module.mjs +5 -5
  220. package/esm2020/menu/menu-divider.component.mjs +4 -4
  221. package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
  222. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  223. package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
  224. package/esm2020/menu/menu-item.component.mjs +4 -4
  225. package/esm2020/menu/menu-toggle.directive.mjs +9 -4
  226. package/esm2020/menu/menu.component.mjs +4 -4
  227. package/esm2020/menu/menu.module.mjs +5 -5
  228. package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
  229. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
  230. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
  231. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
  232. package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
  233. package/esm2020/modal/directives/modal.directive.mjs +4 -4
  234. package/esm2020/modal/modal/modal.component.mjs +4 -4
  235. package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
  236. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  237. package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
  238. package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
  239. package/esm2020/modal/modal.module.mjs +5 -5
  240. package/esm2020/modal/modal.service.mjs +4 -4
  241. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
  242. package/esm2020/navigation-reload/navigation-reload.service.mjs +5 -5
  243. package/esm2020/popover/popover/popover.component.mjs +9 -5
  244. package/esm2020/popover/popover.directive.mjs +8 -4
  245. package/esm2020/popover/popover.module.mjs +5 -5
  246. package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
  247. package/esm2020/progress/progress.module.mjs +5 -5
  248. package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
  249. package/esm2020/rich-text/rich-text.module.mjs +5 -5
  250. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
  251. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  252. package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
  253. package/esm2020/services/asset-loader.service.mjs +4 -4
  254. package/esm2020/services/font-loader.service.mjs +4 -4
  255. package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
  256. package/esm2020/services/router-helpers.service.mjs +4 -4
  257. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
  258. package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
  259. package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
  260. package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
  261. package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
  262. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  263. package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
  264. package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
  265. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
  266. package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
  267. package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
  268. package/esm2020/shared/shared.module.mjs +5 -5
  269. package/esm2020/storage/local-storage.service.mjs +4 -4
  270. package/esm2020/story-helpers/initial-route.service.mjs +4 -4
  271. package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
  272. package/esm2020/story-helpers/story-empty.component.mjs +4 -4
  273. package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
  274. package/esm2020/story-helpers/story-initial-route.mjs +5 -5
  275. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  276. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
  277. package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
  278. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
  279. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
  280. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
  281. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
  282. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  283. package/esm2020/tabbed/tabbed.module.mjs +5 -5
  284. package/esm2020/tabbed/tabbed.service.mjs +4 -4
  285. package/esm2020/table/public-api.mjs +4 -1
  286. package/esm2020/table/table/table.component.mjs +92 -7
  287. package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
  288. package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
  289. package/esm2020/table/table-column.component.mjs +68 -0
  290. package/esm2020/table/table.module.mjs +25 -9
  291. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
  292. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
  293. package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
  294. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
  295. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
  296. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
  297. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
  298. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
  299. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
  301. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
  302. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
  303. package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
  304. package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
  305. package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
  306. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  307. package/esm2020/tel-input/tel-input.module.mjs +5 -5
  308. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
  309. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
  310. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
  311. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
  312. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
  313. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
  314. package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
  315. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
  316. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
  317. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
  318. package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
  319. package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
  320. package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
  321. package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
  322. package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
  323. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
  324. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
  325. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
  326. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
  327. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  328. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  329. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  330. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  331. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  332. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  333. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
  334. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  335. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
  336. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
  337. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  338. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
  339. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
  340. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
  341. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
  342. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
  343. package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
  344. package/esm2020/widget/widget/widget.component.mjs +4 -4
  345. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
  346. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
  347. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
  348. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
  349. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
  350. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
  351. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
  352. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
  353. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
  354. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
  355. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
  356. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
  357. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
  358. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
  359. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
  360. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
  361. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
  362. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
  363. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
  364. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
  365. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
  366. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
  367. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
  368. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
  369. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
  370. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
  371. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
  372. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
  373. package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
  374. package/esm2020/widget/widget-registry.service.mjs +4 -4
  375. package/esm2020/widget/widget.module.mjs +5 -5
  376. package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
  377. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  378. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
  379. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  380. package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
  381. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  382. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  383. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  384. package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
  385. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  386. package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
  387. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
  389. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  390. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  391. package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
  392. package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
  393. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  394. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
  395. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
  397. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  399. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  401. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  403. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
  405. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
  407. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
  409. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
  411. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
  413. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-icon.mjs +13 -13
  415. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  416. package/fesm2015/theseam-ui-common-layout.mjs +18 -9
  417. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  419. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-menu.mjs +30 -25
  421. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-modal.mjs +43 -43
  423. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  424. package/fesm2015/theseam-ui-common-navigation-reload.mjs +4 -4
  425. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
  426. package/fesm2015/theseam-ui-common-popover.mjs +19 -11
  427. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  428. package/fesm2015/theseam-ui-common-progress.mjs +7 -7
  429. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  430. package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
  431. package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
  432. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
  433. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  434. package/fesm2015/theseam-ui-common-services.mjs +12 -12
  435. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  436. package/fesm2015/theseam-ui-common-shared.mjs +37 -37
  437. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  438. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  439. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  440. package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
  441. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  442. package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
  443. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  444. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  445. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  446. package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
  447. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  448. package/fesm2015/theseam-ui-common-table.mjs +207 -15
  449. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  450. package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
  451. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  452. package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
  453. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  454. package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
  455. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  456. package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
  457. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  458. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  459. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  460. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
  462. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
  464. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-widget.mjs +135 -135
  466. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
  468. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
  470. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  471. package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
  472. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  473. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  474. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  475. package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
  476. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  477. package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
  478. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  479. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
  480. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  481. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  482. package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
  483. package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
  484. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  485. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
  486. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  487. package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
  488. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  489. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  490. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  491. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  492. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  493. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  494. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  495. package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
  496. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  497. package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
  498. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  499. package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
  500. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  501. package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
  502. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  503. package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
  504. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  505. package/fesm2020/theseam-ui-common-icon.mjs +13 -13
  506. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  507. package/fesm2020/theseam-ui-common-layout.mjs +18 -9
  508. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  509. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  510. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  511. package/fesm2020/theseam-ui-common-menu.mjs +30 -25
  512. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  513. package/fesm2020/theseam-ui-common-modal.mjs +43 -43
  514. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-navigation-reload.mjs +4 -4
  516. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-popover.mjs +19 -11
  518. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-progress.mjs +7 -7
  520. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
  522. package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
  524. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-services.mjs +12 -12
  526. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-shared.mjs +37 -37
  528. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  530. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
  532. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
  534. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  536. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
  538. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-table.mjs +205 -15
  540. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
  542. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
  544. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
  546. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  552. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
  553. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  554. package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
  555. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  556. package/fesm2020/theseam-ui-common-widget.mjs +135 -135
  557. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  558. package/framework/base-layout/base-layout.component.d.ts +4 -2
  559. package/framework/base-layout/base-layout.component.scss +18 -10
  560. package/framework/base-layout/base-layout.module.d.ts +11 -10
  561. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
  562. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
  563. package/framework/base-layout/index.d.ts +1 -0
  564. package/framework/base-layout/styles/_variables.scss +21 -0
  565. package/framework/nav/_nav-theme.scss +4 -0
  566. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
  567. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
  568. package/framework/nav/index.d.ts +5 -0
  569. package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
  570. package/framework/nav/nav-item/nav-item.component.scss +203 -0
  571. package/framework/nav/nav-utils.d.ts +20 -0
  572. package/framework/nav/nav.models.d.ts +77 -0
  573. package/framework/nav/nav.module.d.ts +17 -0
  574. package/framework/nav/nav.service.d.ts +27 -0
  575. package/framework/nav/styles/_themes/light/_variables.scss +56 -0
  576. package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
  577. package/framework/nav/styles/_utilities.scss +3 -0
  578. package/framework/nav/styles/_variables.scss +2 -0
  579. package/framework/public-api.d.ts +1 -0
  580. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
  581. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
  582. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
  583. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
  584. package/framework/side-nav/side-nav.component.d.ts +13 -1
  585. package/framework/side-nav/side-nav.component.scss +0 -1
  586. package/framework/side-nav/side-nav.models.d.ts +7 -1
  587. package/framework/side-nav/side-nav.module.d.ts +1 -9
  588. package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
  589. package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
  590. package/framework/top-bar/index.d.ts +2 -0
  591. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
  592. package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
  593. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
  594. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
  595. package/framework/top-bar/top-bar.component.d.ts +25 -3
  596. package/framework/top-bar/top-bar.component.scss +7 -2
  597. package/framework/top-bar/top-bar.module.d.ts +10 -8
  598. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  599. package/graphql/datatable/index.d.ts +3 -0
  600. package/graphql/datatable/map-filter-states.d.ts +2 -2
  601. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
  602. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
  603. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
  604. package/layout/layout.service.d.ts +9 -1
  605. package/menu/menu-toggle.directive.d.ts +2 -1
  606. package/package.json +3 -3
  607. package/popover/popover/popover.component.d.ts +4 -1
  608. package/popover/popover.directive.d.ts +2 -1
  609. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
  610. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
  611. package/table/public-api.d.ts +3 -0
  612. package/table/table/table.component.d.ts +21 -3
  613. package/table/table-cell-tpl.directive.d.ts +7 -0
  614. package/table/table-column-header-tpl.directive.d.ts +7 -0
  615. package/table/table-column.component.d.ts +24 -0
  616. package/table/table.module.d.ts +4 -1
@@ -0,0 +1,113 @@
1
+ import { ColumnsDataFilter } from "../columns-data-filter";
2
+ import { FormControl, FormGroup } from "@angular/forms";
3
+ import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
4
+ import { Subject, map, startWith } from "rxjs";
5
+ import { THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES } from "./models";
6
+ import { getFormattedDateForComparison } from "./utils";
7
+ export class SearchDateColumnsDataFilter extends ColumnsDataFilter {
8
+ constructor(prop, initialValue, column) {
9
+ super(prop, initialValue, column);
10
+ this.name = THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME;
11
+ this._updateFilterValue = new Subject;
12
+ this.form = new FormGroup({
13
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
14
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
15
+ fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
16
+ toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
17
+ });
18
+ this.uid = `${this.name}--${prop}`;
19
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
20
+ this.options = {
21
+ dateType: this.column.filterOptions?.dateType || 'date'
22
+ };
23
+ }
24
+ dataFilter(data, filterValue, options) {
25
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
26
+ return data;
27
+ }
28
+ return this._dateSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
29
+ }
30
+ _isInvalidDate(dateString) {
31
+ return isNullOrUndefinedOrEmpty(dateString) || isNaN(new Date(dateString).valueOf());
32
+ }
33
+ _isInvalidSearchTerm(searchText, fromText, toText, comparator) {
34
+ if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(comparator) && this._isInvalidDate(searchText)) {
35
+ return true;
36
+ }
37
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(comparator) && (this._isInvalidDate(fromText) || this._isInvalidDate(toText))) {
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ _dateSearchDataFilter(prop, data, text, fromText, toText, comparator) {
43
+ if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
44
+ console.warn('No filter applied - invalid options.');
45
+ return data;
46
+ }
47
+ if (this._isInvalidSearchTerm(text, fromText, toText, comparator)) {
48
+ console.warn('No filter applied - invalid search terms.');
49
+ return data;
50
+ }
51
+ const useLocalTime = this.column.filterOptions?.useLocalTime === true;
52
+ const textDate = getFormattedDateForComparison(text, this.options.dateType, true);
53
+ const fromTextDate = getFormattedDateForComparison(fromText, this.options.dateType, true);
54
+ const toTextDate = getFormattedDateForComparison(toText, this.options.dateType, true);
55
+ return data.filter(item => {
56
+ let propDate = getFormattedDateForComparison(item[prop], this.options.dateType, useLocalTime);
57
+ if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
58
+ (comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
59
+ (comparator === 'lt' && propDate.valueOf() < textDate.valueOf()) ||
60
+ (comparator === 'lte' && propDate.valueOf() <= textDate.valueOf()) ||
61
+ (comparator === 'gt' && propDate.valueOf() > textDate.valueOf()) ||
62
+ (comparator === 'gte' && propDate.valueOf() >= textDate.valueOf()) ||
63
+ (comparator === 'eq' && propDate.valueOf() === textDate.valueOf()) ||
64
+ (comparator === 'between' && propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()) ||
65
+ (comparator === 'not-between' && !(propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()))) {
66
+ return true;
67
+ }
68
+ return false;
69
+ });
70
+ }
71
+ filter(data) {
72
+ return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
73
+ }
74
+ filterState() {
75
+ return {
76
+ name: this.name,
77
+ state: {
78
+ prop: this.prop,
79
+ formValue: this.form.value,
80
+ options: this.options
81
+ }
82
+ };
83
+ }
84
+ applyFilter() {
85
+ this._updateFilterValue.next();
86
+ }
87
+ clearFilter() {
88
+ this.form.setValue({
89
+ searchType: 'eq',
90
+ searchText: null,
91
+ fromText: null,
92
+ toText: null
93
+ });
94
+ this._updateFilterValue.next();
95
+ }
96
+ isDefault() {
97
+ const formValue = this.form.value;
98
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
99
+ return true;
100
+ }
101
+ if (THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
102
+ return false;
103
+ }
104
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
105
+ return false;
106
+ }
107
+ else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
108
+ return false;
109
+ }
110
+ return true;
111
+ }
112
+ }
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC1kYXRlLmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBOEssNENBQTRDLEVBQTBDLGtEQUFrRCxFQUFFLG1EQUFtRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNiLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsaUJBQTZMO0lBYTVPLFlBQ0UsSUFBWSxFQUNaLFlBQXlELEVBQ3pELE1BQW9GO1FBRXBGLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBakJuQixTQUFJLEdBQUcsNENBQTRDLENBQUE7UUFVM0QsdUJBQWtCLEdBQUcsSUFBSSxPQUFhLENBQUE7UUFTNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQWdELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFD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S0FBSyxDQUFBO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbnNEYXRhRmlsdGVyLCBDb2x1bW5zRGF0YUZpbHRlclN0YXRlIH0gZnJvbSBcIi4uL2NvbHVtbnMtZGF0YS1maWx0ZXJcIjtcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVyc1wiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSwgbm90TnVsbE9yVW5kZWZpbmVkLCBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5IH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWcsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1NFQVJDSF9OQU1FLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfU0VMRUNUX1NFQVJDSF9UWVBFUyB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIGV4dGVuZHMgQ29sdW1uc0RhdGFGaWx0ZXI8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWc+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWUgPSBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfTkFNRVxuXG4gIHB1YmxpYyByZWFkb25seSB1aWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBmb3JtOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVxuXG4gIHB1YmxpYyBmaWx0ZXJTdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8RGF0YUZpbHRlclN0YXRlPlxuXG4gIHB1YmxpYyBvcHRpb25zOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9uc1xuXG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlclZhbHVlID0gbmV3IFN1YmplY3Q8dm9pZD5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wOiBzdHJpbmcsXG4gICAgaW5pdGlhbFZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLFxuICAgIGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbjxhbnksIGFueSwgVGhlU2VhbURhdGF0YWJsZURhdGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnPlxuICApIHtcbiAgICBzdXBlcihwcm9wLCBpbml0aWFsVmFsdWUsIGNvbHVtbilcblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgc2VhcmNoVHlwZTogbmV3IEZvcm1Db250cm9sPFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hUeXBlIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVHlwZSA6ICdlcScpLFxuICAgICAgc2VhcmNoVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnNlYXJjaFRleHQgOiBudWxsKSxcbiAgICAgIGZyb21UZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuZnJvbVRleHQgOiBudWxsKSxcbiAgICAgIHRvVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnRvVGV4dCA6IG51bGwpLFxuICAgIH0pXG5cbiAgICB0aGlzLnVpZCA9IGAke3RoaXMubmFtZX0tLSR7cHJvcH1gXG5cbiAgICB0aGlzLmZpbHRlclN0YXRlQ2hhbmdlcyA9IHRoaXMuX3VwZGF0ZUZpbHRlclZhbHVlLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZpbHRlclN0YXRlKCkpXG4gICAgKVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgZGF0ZVR5cGU6IHRoaXMuY29sdW1uLmZpbHRlck9wdGlvbnM/LmRhdGVUeXBlIHx8ICdkYXRlJ1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkYXRhRmlsdGVyKGRhdGE6IGFueVtdLCBmaWx0ZXJWYWx1ZTogUGFydGlhbDxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlPiwgb3B0aW9uczogYW55KTogYW55W10ge1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXJWYWx1ZSkgfHwgdGhpcy5pc0RlZmF1bHQoKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0ZVNlYXJjaERhdGFGaWx0ZXIodGhpcy5wcm9wLCBkYXRhLCBmaWx0ZXJWYWx1ZS5zZWFyY2hUZXh0LCBmaWx0ZXJWYWx1ZS5mcm9tVGV4dCwgZmlsdGVyVmFsdWUudG9UZXh0LCBmaWx0ZXJWYWx1ZS5zZWFyY2hUeXBlIHx8IG51bGwpXG4gIH1cblxuICBwcml2YXRlIF9pc0ludmFsaWREYXRlKGRhdGVTdHJpbmc6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGRhdGVTdHJpbmcpIHx8IGlzTmFOKG5ldyBEYXRlKGRhdGVTdHJpbmcpLnZhbHVlT2YoKSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW52YWxpZFNlYXJjaFRlcm0oc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoY29tcGFyYXRvcikgJiYgdGhpcy5faXNJbnZhbGlkRGF0ZShzZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGNvbXBhcmF0b3IpICYmICh0aGlzLl9pc0ludmFsaWREYXRlKGZyb21UZXh0KSB8fCB0aGlzLl9pc0ludmFsaWREYXRlKHRvVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZVNlYXJjaERhdGFGaWx0ZXIocHJvcDogc3RyaW5nLCBkYXRhOiBhbnlbXSwgdGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUgfCBudWxsKSB7XG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDw9IDAgfHwgaXNOdWxsT3JVbmRlZmluZWQoY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIG9wdGlvbnMuJylcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzSW52YWxpZFNlYXJjaFRlcm0odGV4dCwgZnJvbVRleHQsIHRvVGV4dCwgY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIHNlYXJjaCB0ZXJtcy4nKVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICBjb25zdCB1c2VMb2NhbFRpbWUgPSB0aGlzLmNvbHVtbi5maWx0ZXJPcHRpb25zPy51c2VMb2NhbFRpbWUgPT09IHRydWVcblxuICAgIGNvbnN0IHRleHREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24odGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuICAgIGNvbnN0IGZyb21UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKGZyb21UZXh0LCB0aGlzLm9wdGlvbnMuZGF0ZVR5cGUsIHRydWUpXG4gICAgY29uc3QgdG9UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKHRvVGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuXG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgbGV0IHByb3BEYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24oaXRlbVtwcm9wXSwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB1c2VMb2NhbFRpbWUpXG5cbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdibGFuaycgJiYgKGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pIHx8IGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShgJHtpdGVtW3Byb3BdfWApKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmxhbmsnICYmIG5vdE51bGxPclVuZGVmaW5lZChpdGVtW3Byb3BdKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGAke2l0ZW1bcHJvcF19YCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHQnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdsdGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZ3QnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZXEnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA9PT0gdGV4dERhdGUudmFsdWVPZigpKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ2JldHdlZW4nICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSBmcm9tVGV4dERhdGUudmFsdWVPZigpICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0b1RleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmV0d2VlbicgJiYgIShwcm9wRGF0ZS52YWx1ZU9mKCkgPj0gZnJvbVRleHREYXRlLnZhbHVlT2YoKSAmJiBwcm9wRGF0ZS52YWx1ZU9mKCkgPD0gdG9UZXh0RGF0ZS52YWx1ZU9mKCkpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBzdGF0ZToge1xuICAgICAgICBwcm9wOiB0aGlzLnByb3AsXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIHNlYXJjaFR5cGU6ICdlcScsXG4gICAgICBzZWFyY2hUZXh0OiBudWxsLFxuICAgICAgZnJvbVRleHQ6IG51bGwsXG4gICAgICB0b1RleHQ6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUxFQ1RfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5zZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUy5pbmNsdWRlcyhmb3JtVmFsdWUuc2VhcmNoVHlwZSkgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuZnJvbVRleHQpICYmIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkoZm9ybVZhbHVlLnRvVGV4dCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxufVxuIl19
@@ -0,0 +1,104 @@
1
+ import { ColumnsDataFilter } from "../columns-data-filter";
2
+ import { FormControl, FormGroup } from "@angular/forms";
3
+ import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
4
+ import { Subject, map, startWith } from "rxjs";
5
+ import { THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES } from "./models";
6
+ export class SearchNumericColumnsDataFilter extends ColumnsDataFilter {
7
+ constructor(prop, initialValue, column) {
8
+ super(prop, initialValue, column);
9
+ this.name = THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME;
10
+ this._updateFilterValue = new Subject;
11
+ this.form = new FormGroup({
12
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
13
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
14
+ fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
15
+ toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
16
+ });
17
+ this.uid = `${this.name}--${prop}`;
18
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
19
+ }
20
+ dataFilter(data, filterValue, options) {
21
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
22
+ return data;
23
+ }
24
+ return this.numberSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
25
+ }
26
+ _isInvalidSearchTerm(searchText, fromText, toText, comparator) {
27
+ if (isNaN(searchText) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(comparator)) {
28
+ return true;
29
+ }
30
+ else if ((isNaN(fromText) || isNaN(toText)) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(comparator)) {
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ numberSearchDataFilter(prop, data, text, fromText, toText, comparator) {
36
+ if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
37
+ console.warn('No filter applied - invalid options.');
38
+ return data;
39
+ }
40
+ const textNumeric = notNullOrUndefinedOrEmpty(text) ? parseFloat(text) : NaN;
41
+ const toTextNumeric = notNullOrUndefinedOrEmpty(toText) ? parseFloat(toText) : NaN;
42
+ const fromTextNumeric = notNullOrUndefinedOrEmpty(fromText) ? parseFloat(fromText) : NaN;
43
+ if (this._isInvalidSearchTerm(textNumeric, fromTextNumeric, toTextNumeric, comparator)) {
44
+ console.warn('No filter applied - invalid search terms.');
45
+ return data;
46
+ }
47
+ return data.filter(item => {
48
+ let propNumeric = parseFloat(item[prop]);
49
+ if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
50
+ (comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
51
+ (comparator === 'lt' && propNumeric < textNumeric) ||
52
+ (comparator === 'lte' && propNumeric <= textNumeric) ||
53
+ (comparator === 'gt' && propNumeric > textNumeric) ||
54
+ (comparator === 'gte' && propNumeric >= textNumeric) ||
55
+ (comparator === 'eq' && propNumeric === textNumeric) ||
56
+ (comparator === 'between' && propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric) ||
57
+ (comparator === 'not-between' && !(propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric))) {
58
+ return true;
59
+ }
60
+ return false;
61
+ });
62
+ }
63
+ filter(data) {
64
+ return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
65
+ }
66
+ filterState() {
67
+ return {
68
+ name: this.name,
69
+ state: {
70
+ prop: this.prop,
71
+ formValue: this.form.value
72
+ }
73
+ };
74
+ }
75
+ applyFilter() {
76
+ this._updateFilterValue.next();
77
+ }
78
+ clearFilter() {
79
+ this.form.setValue({
80
+ searchType: 'eq',
81
+ searchText: null,
82
+ fromText: null,
83
+ toText: null
84
+ });
85
+ this._updateFilterValue.next();
86
+ }
87
+ isDefault() {
88
+ const formValue = this.form.value;
89
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
90
+ return true;
91
+ }
92
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
93
+ return false;
94
+ }
95
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
96
+ return false;
97
+ }
98
+ else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
99
+ return false;
100
+ }
101
+ return true;
102
+ }
103
+ }
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC1udW1lcmljLmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBNkYsK0NBQStDLEVBQTZDLHFEQUFxRCxFQUFFLHNEQUFzRCxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpYLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxpQkFBdUg7SUFhekssWUFDRSxJQUFZLEVBQ1osWUFBNEQsRUFDNUQsTUFBOEI7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFqQm5CLFNBQUksR0FBRywrQ0FBK0MsQ0FBQTtRQVU5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQWEsQ0FBQTtRQVM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBbUQsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNoSixVQUFVLEVBQUUs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LENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoSixPQUFPLEtBQUssQ0FBQTtTQUNiO2FBQ0ksSUFBSSxzREFBc0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUwsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uc0RhdGFGaWx0ZXIsIENvbHVtbnNEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiLi4vY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJTdGF0ZSB9IGZyb20gXCJAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCwgaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5LCBub3ROdWxsT3JVbmRlZmluZWQsIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUUsIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hUeXBlLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19URVhUX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19TRUxFQ1RfU0VBUkNIX1RZUEVTIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hOdW1lcmljQ29sdW1uc0RhdGFGaWx0ZXIgZXh0ZW5kcyBDb2x1bW5zRGF0YUZpbHRlcjxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybSwgdW5kZWZpbmVkPiB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lID0gVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUVcblxuICBwdWJsaWMgcmVhZG9ubHkgdWlkOiBzdHJpbmdcblxuICBwdWJsaWMgZm9ybTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPERhdGFGaWx0ZXJTdGF0ZT5cblxuICBwdWJsaWMgb3B0aW9uczogYW55XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRmlsdGVyVmFsdWUgPSBuZXcgU3ViamVjdDx2b2lkPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3A6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hGb3JtU3RhdGUsXG4gICAgY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uXG4gICkge1xuICAgIHN1cGVyKHByb3AsIGluaXRpYWxWYWx1ZSwgY29sdW1uKVxuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBzZWFyY2hUeXBlOiBuZXcgRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5zZWFyY2hUeXBlIDogJ2VxJyksXG4gICAgICBzZWFyY2hUZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVGV4dCA6IG51bGwpLFxuICAgICAgZnJvbVRleHQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5mcm9tVGV4dCA6IG51bGwpLFxuICAgICAgdG9UZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUudG9UZXh0IDogbnVsbCksXG4gICAgfSlcblxuICAgIHRoaXMudWlkID0gYCR7dGhpcy5uYW1lfS0tJHtwcm9wfWBcblxuICAgIHRoaXMuZmlsdGVyU3RhdGVDaGFuZ2VzID0gdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuZmlsdGVyU3RhdGUoKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZGF0YUZpbHRlcihkYXRhOiBhbnlbXSwgZmlsdGVyVmFsdWU6IFBhcnRpYWw8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm1TdGF0ZT4sIG9wdGlvbnM6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyVmFsdWUpIHx8IHRoaXMuaXNEZWZhdWx0KCkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubnVtYmVyU2VhcmNoRGF0YUZpbHRlcih0aGlzLnByb3AsIGRhdGEsIGZpbHRlclZhbHVlLnNlYXJjaFRleHQsIGZpbHRlclZhbHVlLmZyb21UZXh0LCBmaWx0ZXJWYWx1ZS50b1RleHQsIGZpbHRlclZhbHVlLnNlYXJjaFR5cGUgfHwgbnVsbClcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW52YWxpZFNlYXJjaFRlcm0oc2VhcmNoVGV4dDogbnVtYmVyLCBmcm9tVGV4dDogbnVtYmVyLCB0b1RleHQ6IG51bWJlciwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoaXNOYU4oc2VhcmNoVGV4dCkgJiYgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoY29tcGFyYXRvcikpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKChpc05hTihmcm9tVGV4dCkgfHwgaXNOYU4odG9UZXh0KSkgJiYgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGNvbXBhcmF0b3IpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBudW1iZXJTZWFyY2hEYXRhRmlsdGVyKHByb3A6IHN0cmluZywgZGF0YTogYW55W10sIHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGZyb21UZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCB0b1RleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGNvbXBhcmF0b3I6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hUeXBlIHwgbnVsbCkge1xuICAgIGlmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA8PSAwIHx8IGlzTnVsbE9yVW5kZWZpbmVkKGNvbXBhcmF0b3IpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIGZpbHRlciBhcHBsaWVkIC0gaW52YWxpZCBvcHRpb25zLicpXG4gICAgICByZXR1cm4gZGF0YVxuICAgIH1cblxuICAgIGNvbnN0IHRleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0ZXh0KSA/IHBhcnNlRmxvYXQodGV4dCkgOiBOYU5cbiAgICBjb25zdCB0b1RleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0b1RleHQpID8gcGFyc2VGbG9hdCh0b1RleHQpIDogTmFOXG4gICAgY29uc3QgZnJvbVRleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmcm9tVGV4dCkgPyBwYXJzZUZsb2F0KGZyb21UZXh0KSA6IE5hTlxuXG4gICAgaWYgKHRoaXMuX2lzSW52YWxpZFNlYXJjaFRlcm0odGV4dE51bWVyaWMsIGZyb21UZXh0TnVtZXJpYywgdG9UZXh0TnVtZXJpYywgY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIHNlYXJjaCB0ZXJtcy4nKVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBsZXQgcHJvcE51bWVyaWMgPSBwYXJzZUZsb2F0KGl0ZW1bcHJvcF0pXG5cbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdibGFuaycgJiYgKGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pIHx8IGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShgJHtpdGVtW3Byb3BdfWApKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmxhbmsnICYmIG5vdE51bGxPclVuZGVmaW5lZChpdGVtW3Byb3BdKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGAke2l0ZW1bcHJvcF19YCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHQnICYmIHByb3BOdW1lcmljIDwgdGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHRlJyAmJiBwcm9wTnVtZXJpYyA8PSB0ZXh0TnVtZXJpYykgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndCcgJiYgcHJvcE51bWVyaWMgPiB0ZXh0TnVtZXJpYykgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndGUnICYmIHByb3BOdW1lcmljID49IHRleHROdW1lcmljKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ2VxJyAmJiBwcm9wTnVtZXJpYyA9PT0gdGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnYmV0d2VlbicgJiYgcHJvcE51bWVyaWMgPj0gZnJvbVRleHROdW1lcmljICYmIHByb3BOdW1lcmljIDw9IHRvVGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbm90LWJldHdlZW4nICYmICEocHJvcE51bWVyaWMgPj0gZnJvbVRleHROdW1lcmljICYmIHByb3BOdW1lcmljIDw9IHRvVGV4dE51bWVyaWMpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIHByb3A6IHRoaXMucHJvcCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLmZvcm0udmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIHNlYXJjaFR5cGU6ICdlcScsXG4gICAgICBzZWFyY2hUZXh0OiBudWxsLFxuICAgICAgZnJvbVRleHQ6IG51bGwsXG4gICAgICB0b1RleHQ6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1NFTEVDVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpICYmIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkoZm9ybVZhbHVlLnNlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5mcm9tVGV4dCkgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUudG9UZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { ColumnsDataFilter } from "../columns-data-filter";
2
+ import { FormControl, FormGroup } from "@angular/forms";
3
+ import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
4
+ import { Subject, map, startWith } from "rxjs";
5
+ import { THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES } from "./models";
6
+ export class SearchTextColumnsDataFilter extends ColumnsDataFilter {
7
+ constructor(prop, initialValue, column) {
8
+ super(prop, initialValue, column);
9
+ this.name = THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME;
10
+ this._updateFilterValue = new Subject;
11
+ this.form = new FormGroup({
12
+ searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'contains'),
13
+ searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
14
+ // caseSensitive: new FormControl<boolean | null>(notNullOrUndefined(initialValue) ? initialValue.caseSensitive : null),
15
+ });
16
+ this.uid = `${this.name}--${prop}`;
17
+ this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
18
+ }
19
+ dataFilter(data, filterValue, options) {
20
+ if (isNullOrUndefined(filterValue) || this.isDefault()) {
21
+ return data;
22
+ }
23
+ return this._textSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.searchType || null);
24
+ }
25
+ _textSearchDataFilter(prop, data, text, comparator) {
26
+ if (!data || data.length < 0 || isNullOrUndefined(comparator)) {
27
+ return data;
28
+ }
29
+ return data.filter(item => {
30
+ let value1 = `${notNullOrUndefined(item[prop]) ? item[prop] : ''}`;
31
+ let value2 = text || '';
32
+ // if (!options.caseSensitive) {
33
+ // value1 = value1.toLowerCase()
34
+ // value2 = value2.toLowerCase()
35
+ // }
36
+ value1 = value1.toLowerCase();
37
+ value2 = value2.toLowerCase();
38
+ if ((comparator === 'eq' && value1 === value2) ||
39
+ (comparator === 'neq' && value1 !== value2) ||
40
+ (comparator === 'contains' && value1.indexOf(value2) !== -1) ||
41
+ (comparator === 'ncontains' && value1.indexOf(value2) === -1) ||
42
+ (comparator === 'blank' && isNullOrUndefinedOrEmpty(value1)) ||
43
+ (comparator === 'not-blank' && notNullOrUndefinedOrEmpty(value1))) {
44
+ return true;
45
+ }
46
+ return false;
47
+ });
48
+ }
49
+ filter(data) {
50
+ return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
51
+ }
52
+ filterState() {
53
+ return {
54
+ name: this.name,
55
+ state: {
56
+ prop: this.prop,
57
+ formValue: this.form.value,
58
+ }
59
+ };
60
+ }
61
+ applyFilter() {
62
+ this._updateFilterValue.next();
63
+ }
64
+ clearFilter() {
65
+ this.form.setValue({
66
+ searchType: 'contains',
67
+ searchText: null,
68
+ // caseSensitive: null
69
+ });
70
+ this._updateFilterValue.next();
71
+ }
72
+ isDefault() {
73
+ const formValue = this.form.value;
74
+ if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
75
+ return true;
76
+ }
77
+ else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
78
+ return false;
79
+ }
80
+ else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
81
+ return false;
82
+ }
83
+ return true;
84
+ }
85
+ }
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRleHQuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC10ZXh0LmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBdUYsNENBQTRDLEVBQTBDLGtEQUFrRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9TLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxpQkFBc0c7SUFhckosWUFDRSxJQUFZLEVBQ1osWUFBeUQsRUFDekQsTUFBOEI7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFqQm5CLFNBQUksR0FBRyw0Q0FBNEMsQ0FBQTtRQVUzRCx1QkFBa0IsR0FBRyxJQUFJLE9BQWEsQ0FBQTtRQVM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBZ0Qsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNuSixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQWdCLGtC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TCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7YUFDM0I7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLHNCQUFzQjtTQUN2QixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUVqQyxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQTtTQUNaO2FBQ0ksSUFBSSxrREFBa0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3SSxPQUFPLEtBQUssQ0FBQTtTQUNiO2FBQ0ksSUFBSSxvREFBb0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVGLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbnNEYXRhRmlsdGVyLCBDb2x1bW5zRGF0YUZpbHRlclN0YXRlIH0gZnJvbSBcIi4uL2NvbHVtbnMtZGF0YS1maWx0ZXJcIjtcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVyc1wiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSwgbm90TnVsbE9yVW5kZWZpbmVkLCBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5IH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm0sIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9OQU1FLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfVEVYVF9TRUFSQ0hfVFlQRVMsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFTEVDVF9TRUFSQ0hfVFlQRVMgfSBmcm9tIFwiLi9tb2RlbHNcIjtcblxuZXhwb3J0IGNsYXNzIFNlYXJjaFRleHRDb2x1bW5zRGF0YUZpbHRlciBleHRlbmRzIENvbHVtbnNEYXRhRmlsdGVyPFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtU3RhdGUsIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtPiB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lID0gVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfU0VBUkNIX05BTUVcblxuICBwdWJsaWMgcmVhZG9ubHkgdWlkOiBzdHJpbmdcblxuICBwdWJsaWMgZm9ybTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPERhdGFGaWx0ZXJTdGF0ZT5cblxuICBwdWJsaWMgb3B0aW9uczogYW55XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRmlsdGVyVmFsdWUgPSBuZXcgU3ViamVjdDx2b2lkPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3A6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtU3RhdGUsXG4gICAgY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uXG4gICkge1xuICAgIHN1cGVyKHByb3AsIGluaXRpYWxWYWx1ZSwgY29sdW1uKVxuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBzZWFyY2hUeXBlOiBuZXcgRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaFR5cGUgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5zZWFyY2hUeXBlIDogJ2NvbnRhaW5zJyksXG4gICAgICBzZWFyY2hUZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVGV4dCA6IG51bGwpLFxuICAgICAgLy8gY2FzZVNlbnNpdGl2ZTogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4gfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5jYXNlU2Vuc2l0aXZlIDogbnVsbCksXG4gICAgfSlcblxuICAgIHRoaXMudWlkID0gYCR7dGhpcy5uYW1lfS0tJHtwcm9wfWBcblxuICAgIHRoaXMuZmlsdGVyU3RhdGVDaGFuZ2VzID0gdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuZmlsdGVyU3RhdGUoKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZGF0YUZpbHRlcihkYXRhOiBhbnlbXSwgZmlsdGVyVmFsdWU6IFBhcnRpYWw8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1TdGF0ZT4sIG9wdGlvbnM6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyVmFsdWUpIHx8IHRoaXMuaXNEZWZhdWx0KCkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3RleHRTZWFyY2hEYXRhRmlsdGVyKHRoaXMucHJvcCwgZGF0YSwgZmlsdGVyVmFsdWUuc2VhcmNoVGV4dCwgZmlsdGVyVmFsdWUuc2VhcmNoVHlwZSB8fCBudWxsKVxuICB9XG5cbiAgcHJpdmF0ZSBfdGV4dFNlYXJjaERhdGFGaWx0ZXIocHJvcDogc3RyaW5nLCBkYXRhOiBhbnlbXSwgdGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaFR5cGUgfCBudWxsKSB7XG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDwgMCB8fCBpc051bGxPclVuZGVmaW5lZChjb21wYXJhdG9yKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBsZXQgdmFsdWUxID0gYCR7bm90TnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pID8gaXRlbVtwcm9wXSA6ICcnfWBcbiAgICAgIGxldCB2YWx1ZTIgPSB0ZXh0IHx8ICcnXG5cbiAgICAgIC8vIGlmICghb3B0aW9ucy5jYXNlU2Vuc2l0aXZlKSB7XG4gICAgICAvLyAgIHZhbHVlMSA9IHZhbHVlMS50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyAgIHZhbHVlMiA9IHZhbHVlMi50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyB9XG5cbiAgICAgIHZhbHVlMSA9IHZhbHVlMS50b0xvd2VyQ2FzZSgpXG4gICAgICB2YWx1ZTIgPSB2YWx1ZTIudG9Mb3dlckNhc2UoKVxuXG4gICAgICBpZiAoXG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZXEnICYmIHZhbHVlMSA9PT0gdmFsdWUyKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25lcScgJiYgdmFsdWUxICE9PSB2YWx1ZTIpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnY29udGFpbnMnICYmIHZhbHVlMS5pbmRleE9mKHZhbHVlMikgIT09IC0xKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25jb250YWlucycgJiYgdmFsdWUxLmluZGV4T2YodmFsdWUyKSA9PT0gLTEpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnYmxhbmsnICYmIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh2YWx1ZTEpKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25vdC1ibGFuaycgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh2YWx1ZTEpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoRm9ybVN0YXRlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIHByb3A6IHRoaXMucHJvcCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLmZvcm0udmFsdWUsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlclZhbHVlLm5leHQoKVxuICB9XG5cbiAgcHVibGljIGNsZWFyRmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBzZWFyY2hUeXBlOiAnY29udGFpbnMnLFxuICAgICAgc2VhcmNoVGV4dDogbnVsbCxcbiAgICAgIC8vIGNhc2VTZW5zaXRpdmU6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5zZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFTEVDVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { notNullOrUndefined } from "@theseam/ui-common/utils";
2
+ import { SearchDateColumnsDataFilter } from "./search-date.columns-data-filter";
3
+ import { SearchNumericColumnsDataFilter } from "./search-numeric.columns-data-filter";
4
+ import { SearchTextColumnsDataFilter } from "./search-text.columns-data-filter";
5
+ import { THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME } from "./models";
6
+ export const THESEAM_COLUMNS_DATA_FILTERS_DEFAULT = [
7
+ { name: THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, class: SearchTextColumnsDataFilter },
8
+ { name: THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, class: SearchNumericColumnsDataFilter },
9
+ { name: THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, class: SearchDateColumnsDataFilter },
10
+ ];
11
+ export const getFormattedDateForComparison = (date, dateType, setToLocalTime = false) => {
12
+ const dateObj = new Date(notNullOrUndefined(date) ? date : '');
13
+ if (dateType === 'datetime-local') {
14
+ // reset seconds and ms, since they can't be specified from the search input
15
+ dateObj.setSeconds(0);
16
+ dateObj.setMilliseconds(0);
17
+ }
18
+ else if (dateType === 'date') {
19
+ if (setToLocalTime) {
20
+ // set date from input type="date" to current timezone, to match expected behavior
21
+ dateObj.setMinutes(dateObj.getMinutes() + dateObj.getTimezoneOffset());
22
+ }
23
+ // reset hours/minutes/seconds/ms, since they can't be specified from the search input
24
+ dateObj.setHours(0, 0, 0, 0);
25
+ }
26
+ return dateObj;
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQThDLDRDQUE0QyxFQUFFLCtDQUErQyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5OLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHO0lBQ2xELEVBQUUsSUFBSSxFQUFFLDRDQUE0QyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtJQUMxRixFQUFFLElBQUksRUFBRSwrQ0FBK0MsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7SUFDaEcsRUFBRSxJQUFJLEVBQUUsNENBQTRDLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFO0NBQ2xGLENBQUE7QUFFVixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQStDLEVBQUUsUUFBb0QsRUFBRSxpQkFBMEIsS0FBSyxFQUFRLEVBQUU7SUFDNUwsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFOUQsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLEVBQUU7UUFDakMsNEVBQTRFO1FBQzVFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUMzQjtTQUNJLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtRQUM1QixJQUFJLGNBQWMsRUFBRTtZQUNsQixrRkFBa0Y7WUFDbEYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtTQUN2RTtRQUVELHNGQUFzRjtRQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0tBQzdCO0lBRUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLWRhdGUuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgU2VhcmNoTnVtZXJpY0NvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgU2VhcmNoVGV4dENvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLXRleHQuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaERhdGVUeXBlLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfTkFNRSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUUsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9OQU1FIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJTX0RFRkFVTFQgPSBbXG4gIHsgbmFtZTogVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfU0VBUkNIX05BTUUsIGNsYXNzOiBTZWFyY2hUZXh0Q29sdW1uc0RhdGFGaWx0ZXIgfSxcbiAgeyBuYW1lOiBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19TRUFSQ0hfTkFNRSwgY2xhc3M6IFNlYXJjaE51bWVyaWNDb2x1bW5zRGF0YUZpbHRlciB9LFxuICB7IG5hbWU6IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1NFQVJDSF9OQU1FLCBjbGFzczogU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIH0sXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBnZXRGb3JtYXR0ZWREYXRlRm9yQ29tcGFyaXNvbiA9IChkYXRlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCwgZGF0ZVR5cGU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hEYXRlVHlwZSwgc2V0VG9Mb2NhbFRpbWU6IGJvb2xlYW4gPSBmYWxzZSk6IERhdGUgPT4ge1xuICBjb25zdCBkYXRlT2JqID0gbmV3IERhdGUobm90TnVsbE9yVW5kZWZpbmVkKGRhdGUpID8gZGF0ZSA6ICcnKVxuXG4gIGlmIChkYXRlVHlwZSA9PT0gJ2RhdGV0aW1lLWxvY2FsJykge1xuICAgIC8vIHJlc2V0IHNlY29uZHMgYW5kIG1zLCBzaW5jZSB0aGV5IGNhbid0IGJlIHNwZWNpZmllZCBmcm9tIHRoZSBzZWFyY2ggaW5wdXRcbiAgICBkYXRlT2JqLnNldFNlY29uZHMoMClcbiAgICBkYXRlT2JqLnNldE1pbGxpc2Vjb25kcygwKVxuICB9XG4gIGVsc2UgaWYgKGRhdGVUeXBlID09PSAnZGF0ZScpIHtcbiAgICBpZiAoc2V0VG9Mb2NhbFRpbWUpIHtcbiAgICAgIC8vIHNldCBkYXRlIGZyb20gaW5wdXQgdHlwZT1cImRhdGVcIiB0byBjdXJyZW50IHRpbWV6b25lLCB0byBtYXRjaCBleHBlY3RlZCBiZWhhdmlvclxuICAgICAgZGF0ZU9iai5zZXRNaW51dGVzKGRhdGVPYmouZ2V0TWludXRlcygpICsgZGF0ZU9iai5nZXRUaW1lem9uZU9mZnNldCgpKVxuICAgIH1cblxuICAgIC8vIHJlc2V0IGhvdXJzL21pbnV0ZXMvc2Vjb25kcy9tcywgc2luY2UgdGhleSBjYW4ndCBiZSBzcGVjaWZpZWQgZnJvbSB0aGUgc2VhcmNoIGlucHV0XG4gICAgZGF0ZU9iai5zZXRIb3VycygwLCAwLCAwLCAwKVxuICB9XG5cbiAgcmV0dXJuIGRhdGVPYmpcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const THESEAM_DATATABLE_CONFIG = new InjectionToken('TheSeamDatatableConfig');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2RhdGF0YWJsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQTZHL0MsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gXCJAdGhlc2VhbS91aS1jb21tb24vaWNvblwiO1xuaW1wb3J0IHsgQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uIH0gZnJvbSBcIi4vYWN0aW9uLWl0ZW0tY29sdW1uLXBvc2l0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZU1lc3NhZ2VzIHtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgdG8gc2hvdyB3aGVuIGFycmF5IGlzIHByZXNlbnRlZCwgYnV0IGNvbnRhaW5zIG5vIHZhbHVlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ05vIHJlY29yZHMgZm91bmQnXG4gICAqL1xuICBlbXB0eU1lc3NhZ2U6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBGb290ZXIgdG90YWwgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3RvdGFsJ1xuICAgKi9cbiAgdG90YWxNZXNzYWdlOiBzdHJpbmdcblxuICAvKipcbiAgICogRm9vdGVyIHNlbGVjdGVkIG1lc3NhZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdzZWxlY3RlZCdcbiAgICovXG4gIHNlbGVjdGVkTWVzc2FnZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJVcGRhdGVNZXRob2QgPSAndmFsdWVDaGFuZ2VzJyB8ICdzdWJtaXQnXG5cbi8qKlxuICogQSBjb25maWcgb2JqZWN0IHRoYXQgY2FuIGJlIGluamVjdGVkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9qZWN0XG4gKiB0byBhcHBseSBzcGVjaWZpYyBUaGVTZWFtRGF0YXRhYmxlIHNldHRpbmdzIHNpdGUtd2lkZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaGVTZWFtRGF0YXRhYmxlQ29uZmlnIHtcblxuICAvKipcbiAgICogU2VlIGBUaGVTZWFtRGF0YXRhYmxlTWVzc2FnZXNgLlxuICAgKi9cbiAgbWVzc2FnZXM/OiBQYXJ0aWFsPFRoZVNlYW1EYXRhdGFibGVNZXNzYWdlcz4gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gaGVhZGVyIGhlaWdodCBpbiBwaXhlbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUwXG4gICAqL1xuICBoZWFkZXJIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIFJvdyBoZWlnaHQgaW4gcGl4ZWxzLCBuZWNlc3NhcnkgZm9yIGNhbGN1bGF0aW5nIHNjcm9sbCBoZWlnaHQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUwXG4gICAqL1xuICByb3dIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gZm9vdGVyIGhlaWdodCBpbiBwaXhlbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDQwXG4gICAqL1xuICBmb290ZXJIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIENTUyBjbGFzc2VzIGZvciB2YXJpb3VzIGljb24gYnV0dG9ucy5cbiAgICpcbiAgICogQGRlZmF1bHRcbiAgICogICBzb3J0QXNjZW5kaW5nOiAnZGF0YXRhYmxlLWljb24tdXAnLFxuICAgKiAgIHNvcnREZXNjZW5kaW5nOiAnZGF0YXRhYmxlLWljb24tZG93bicsXG4gICAqICAgcGFnZXJMZWZ0QXJyb3c6ICdkYXRhdGFibGUtaWNvbi1sZWZ0JyxcbiAgICogICBwYWdlclJpZ2h0QXJyb3c6ICdkYXRhdGFibGUtaWNvbi1yaWdodCcsXG4gICAqICAgcGFnZXJQcmV2aW91czogJ2RhdGF0YWJsZS1pY29uLXByZXYnLFxuICAgKiAgIHBhZ2VyTmV4dDogJ2RhdGF0YWJsZS1pY29uLXNraXAnXG4gICAqL1xuICBjc3NDbGFzc2VzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuXG4gIC8qKlxuICAgKiBJY29uIHRvIGRpc3BsYXkgdG8gdGhlIGxlZnQgb2YgdGhlIGNvbHVtbiBoZWFkZXJcbiAgICogd2hlbiBhIGNvbHVtbiBpcyBtYXJrZWQgXCJmaWx0ZXJhYmxlXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhRmlsdGVyXG4gICAqL1xuICBjb2x1bW5GaWx0ZXJJY29uPzogU2VhbUljb25cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGF0IGtpbmQgb2YgYWN0aW9uIGNhdXNlcyBhIGZpbHRlciBjb2x1bW4gdG8gYmUgYXBwbGllZC5cbiAgICpcbiAgICogYHZhbHVlQ2hhbmdlc2A6IEZpbHRlciBpcyBhcHBsaWVkIG9uIGZvcm0gYHZhbHVlQ2hhbmdlc2AgZXZlbnQsIHdpdGggYW4gb3B0aW9uYWwgZGVib3VuY2Ugc2V0IG9uIGBjb2x1bW5GaWx0ZXJVcGRhdGVEZWJvdW5jZWAuXG4gICAqXG4gICAqIGBzdWJtaXRgOiBGaWx0ZXIgaXMgYXBwbGllZCBvbiBmb3JtIHN1Ym1pdC4gTm8gZGVib3VuY2UgaXMgYXBwbGllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ2YWx1ZUNoYW5nZXNcIlxuICAgKi9cbiAgY29sdW1uRmlsdGVyVXBkYXRlTWV0aG9kPzogVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlclVwZGF0ZU1ldGhvZFxuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlYm91bmNlIGEgZmlsdGVyIGZvcm0gaW5wdXQgYmVmb3JlIGFwcGx5aW5nIHRoZSBmaWx0ZXIgY2hhbmdlLlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBgY29sdW1uRmlsdGVyVXBkYXRlTWV0aG9kYCBpcyBgdmFsdWVDaGFuZ2VzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgNDAwXG4gICAqL1xuICBjb2x1bW5GaWx0ZXJVcGRhdGVEZWJvdW5jZT86IG51bWJlclxuXG4gIC8qKlxuICAgKiBTZXRzIHBvc2l0aW9uIGJlaGF2aW9yIGZvciBvcHRpb25hbCBBY3Rpb24gTWVudSBCdXR0b24gY29sdW1uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmcm96ZW5SaWdodFxuICAgKi9cbiAgYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uPzogQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG59XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0RBVEFUQUJMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGhlU2VhbURhdGF0YWJsZUNvbmZpZz4oJ1RoZVNlYW1EYXRhdGFibGVDb25maWcnKVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgdHlwZSBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uPFQgZXh0ZW5kcyBUYWJsZUNlbGxUeXBlTmFtZSA9IGFueSwgQyBleHRlbmRzIFRhYmxlQ2VsbFR5cGVDb25maWc8VD4gPSBhbnk+ID1cbiAgVGFibGVDb2x1bW4gJlxuICBUYWJsZUNlbGxUeXBlQ29sdW1uPFQsIEM+ICZcbiAgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGVcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyYWJsZUNvbmZpZyA9IGFueT4ge1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGEgc3BlY2lmaWMgZmlsdGVyIHR5cGUuXG4gICAqL1xuICBmaWx0ZXJPcHRpb25zPzogVFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgbmFtZSBvbiB3aGljaCB0byBydW4gdGhlIGZpbHRlci5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gY29sdW1uIHByb3AuXG4gICAqL1xuICBmaWx0ZXJQcm9wPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGZpbHRlcihzKSB0byBzaG93IGluIHRoZSBmaWx0ZXIgbWVudS5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCB3aWxsIGxvb2sgdG8gY2VsbFR5cGUgdG8gZGV0ZXJtaW5lIGRlZmF1bHQgZmlsdGVyKHMpLlxuICAgKi9cbiAgZmlsdGVyVHlwZT86IHN0cmluZ1xuXG59XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW48VCBleHRlbmRzIFRhYmxlQ2VsbFR5cGVOYW1lID0gYW55LCBDIGV4dGVuZHMgVGFibGVDZWxsVHlwZUNvbmZpZzxUPiA9IGFueSwgRiBleHRlbmRzIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnID0gYW55PiA9XG4gIFRhYmxlQ29sdW1uICZcbiAgVGFibGVDZWxsVHlwZUNvbHVtbjxULCBDPiAmXG4gIFRhYmxlQ2VsbFR5cGVFeHBvcnRQcm9wcyAmXG4gIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5IaWRhYmxlICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlcmFibGU8Rj5cbiJdfQ==
@@ -2,6 +2,10 @@ export * from './datatable/datatable.component';
2
2
  export * from './datatable-action-menu/datatable-action-menu.component';
3
3
  export * from './datatable-action-menu-item/datatable-action-menu-item.component';
4
4
  export * from './datatable-column/datatable-column.component';
5
+ export * from './datatable-column-filter-menu/datatable-column-filter-menu.component';
6
+ export * from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
7
+ export * from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
8
+ export * from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
5
9
  export * from './datatable-column-preferences/datatable-column-preferences.component';
6
10
  export * from './datatable-column-preferences-button/datatable-column-preferences-button.component';
7
11
  export * from './datatable-export-button/datatable-export-button.component';
@@ -18,9 +22,18 @@ export * from './datatable-row-detail/datatable-row-detail.directive';
18
22
  export * from './directives/datatable-action-menu-item.directive';
19
23
  export * from './directives/datatable-action-menu-toggle.directive';
20
24
  export * from './directives/datatable-cell-tpl.directive';
25
+ export * from './directives/datatable-column-filter-tpl.directive';
26
+ export * from './directives/datatable-column-filter.directive';
21
27
  export * from './directives/datatable-filter.directive';
22
28
  export * from './directives/datatable-row-action-item.directive';
29
+ export * from './models/columns-data-filter';
30
+ export * from './models/columns-data-filters/search-date.columns-data-filter';
31
+ export * from './models/columns-data-filters/search-numeric.columns-data-filter';
32
+ export * from './models/columns-data-filters/search-text.columns-data-filter';
33
+ export * from './models/columns-data-filters/models';
34
+ export * from './models/columns-data-filters/utils';
23
35
  export * from './models/datatable-accessor';
36
+ export * from './models/datatable-config';
24
37
  export * from './models/datatable-data-source';
25
38
  export * from './models/datatable-gql-data-source';
26
39
  export * from './models/menubar-item-data';
@@ -31,6 +44,7 @@ export * from './models/table-column';
31
44
  export * from './models/sort-event';
32
45
  export * from './models/sort-item';
33
46
  export * from './models/table-column';
47
+ export * from './services/columns-filters.service';
34
48
  export * from './services/datatable-column-changes.service';
35
49
  export * from './services/datatable-preferences.service';
36
50
  export * from './services/datatable-scrollbar-helper.service';
@@ -38,4 +52,4 @@ export * from './tokens/datatable-preferences-accessor';
38
52
  export * from './tokens/menubar-item-data';
39
53
  export * from './utils/with-stored-column-info';
40
54
  export * from './datatable.module';
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsK0VBQStFLENBQUE7QUFDN0YsY0FBYywyRUFBMkUsQ0FBQTtBQUN6RixjQUFjLDZFQUE2RSxDQUFBO0FBQzNGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFFckUsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUVyQyxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQTtBQUU3RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNEJBQTRCLENBQUE7QUFFMUMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUUvQyxjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWFjdGlvbi1tZW51L2RhdGF0YWJsZS1hY3Rpb24tbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtL2RhdGF0YWJsZS1hY3Rpb24tbWVudS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi9kYXRhdGFibGUtY29sdW1uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy9kYXRhdGFibGUtY29sdW1uLXByZWZlcmVuY2VzLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24vZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi9kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1mb290ZXIvZGF0YXRhYmxlLWZvb3Rlci10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXIuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXIvZGF0YXRhYmxlLW1lbnUtYmFyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWxlZnQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC9kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLXJpZ2h0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy9kYXRhdGFibGUtbWVudS1iYXItcm93LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQvZGF0YXRhYmxlLW1lbnUtYmFyLXRleHQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC10cGwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtcm93LWRldGFpbC9kYXRhdGFibGUtcm93LWRldGFpbC5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LXRvZ2dsZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNlbGwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZmlsdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtcm93LWFjdGlvbi1pdGVtLmRpcmVjdGl2ZSdcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWFjY2Vzc29yJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZGF0YXRhYmxlLWdxbC1kYXRhLXNvdXJjZSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL21lbnViYXItaXRlbS1kYXRhJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcGFnZS1pbmZvJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtZXZlbnQnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9zb3J0LWl0ZW0nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy90YWJsZS1jb2x1bW4nXG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDJGQUEyRixDQUFBO0FBQ3pHLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyx1RUFBdUUsQ0FBQTtBQUNyRixjQUFjLHFGQUFxRixDQUFBO0FBQ25HLGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrRUFBK0UsQ0FBQTtBQUM3RixjQUFjLDJFQUEyRSxDQUFBO0FBQ3pGLGNBQWMsNkVBQTZFLENBQUE7QUFDM0YsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyx1REFBdUQsQ0FBQTtBQUVyRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLGtFQUFrRSxDQUFBO0FBQ2hGLGNBQWMsK0RBQStELENBQUE7QUFDN0UsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLHVCQUF1QixDQUFBO0FBRXJDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDRCQUE0QixDQUFBO0FBRTFDLGNBQWMsaUNBQWlDLENBQUE7QUFFL0MsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMvZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWZvb3Rlci9kYXRhdGFibGUtZm9vdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1yb3cvZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LWl0ZW0uZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS10b2dnbGUuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLXJvdy1hY3Rpb24taXRlbS5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9zZWFyY2gtZGF0ZS5jb2x1bW5zLWRhdGEtZmlsdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvc2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC10ZXh0LmNvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZGF0YS1zb3VyY2UnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZ3FsLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbWVudWJhci1pdGVtLWRhdGEnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wYWdlLWluZm8nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcy1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3ByZWZlcmVuY2VzJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc29ydC1ldmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtaXRlbSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb2x1bW5zLWZpbHRlcnMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
@@ -128,9 +128,9 @@ export class ColumnsAlterationsManagerService {
128
128
  this._changesSubject.next(event);
129
129
  }
130
130
  }
131
- ColumnsAlterationsManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ColumnsAlterationsManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
132
- ColumnsAlterationsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ColumnsAlterationsManagerService });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ColumnsAlterationsManagerService, decorators: [{
131
+ ColumnsAlterationsManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
132
+ ColumnsAlterationsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService, decorators: [{
134
134
  type: Injectable
135
135
  }], ctorParameters: function () { return []; } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1hbHRlcmF0aW9ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtYWx0ZXJhdGlvbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUs3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQTtBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQTs7QUFZL0YsTUFBTSxPQUFPLGdDQUFnQztJQU8zQztRQUxpQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFrQyxDQUFBO1FBQ3hFLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQTtRQUs1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLENBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksR0FBRyxDQUFDLFdBQWdDLEVBQUUsT0FBaUM7UUFDNUUsa0NBQWtDO1FBQ2xDLE1BQU0sT0FBTyxHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2pHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZ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RSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUEwQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU07U0FDUDtRQUVELE1BQU0sS0FBSyxHQUFtQztZQUM1QyxPQUFPO1NBQ1IsQ0FBQTtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7OzZIQWxKVSxnQ0FBZ0M7aUlBQWhDLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDb2x1bW5zQWx0ZXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVBY2Nlc3NvciB9IGZyb20gJy4uL21vZGVscy9kYXRhdGFibGUtYWNjZXNzb3InXG5pbXBvcnQgeyBIaWRlQ29sdW1uQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9oaWRlLWNvbHVtbi5jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBTb3J0Q29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9zb3J0LmNvbHVtbnMtYWx0ZXJhdGlvbidcbmltcG9ydCB7IFdpZHRoQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy93aWR0aC5jb2x1bW5zLWFsdGVyYXRpb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCB7XG4gIHR5cGU6ICdhZGRlZCcgfCAncmVtb3ZlZCdcbiAgYWx0ZXJhdGlvbjogQ29sdW1uc0FsdGVyYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkRXZlbnQge1xuICBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW11cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNBbHRlcmF0aW9uc01hbmFnZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudD4oKVxuICBwcml2YXRlIF9hbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSA9IFtdXG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IE9ic2VydmFibGU8Q29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2hhbmdlcyA9IHRoaXMuX2NoYW5nZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IENvbHVtbnNBbHRlcmF0aW9uW10ge1xuICAgIHJldHVybiBbIC4uLnRoaXMuX2FsdGVyYXRpb25zIF1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFsdGVyYXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gY29sdW1ucy5cbiAgICpcbiAgICogSWYgYW4gYWx0ZXJhdGlvbiB3aXRoIHRoZSBzYW1lIGBpZGAgYWxyZWFkeSBleGlzdHMgdGhlbiB0aGUgZXhpc3RpbmdcbiAgICogYWx0ZXJhdGlvbiB3aWxsIGJlIHJlbW92ZWQgYW5kIHRoZSBuZXcgb25lIGFkZGVkLlxuICAgKlxuICAgKiBOT1RFOiBXaGVuIHRoZXJlIGlzIGEgZHVwbGljYXRlIGFsdGVyYXRpb24gdGhlIG9sZCBhbHRlcmF0aW9uIGlzIHJlbW92ZWQsXG4gICAqIGluc3RlYWQgb2YgdXBkYXRlZCwgdG8gbWFpbnRhaW4gdGhlIG9yZGVyIGFsdGVyYXRpb25zIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgcHVibGljIGFkZChhbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICAvLyBjb25zb2xlLmxvZygnYWRkJywgYWx0ZXJhdGlvbnMpXG4gICAgY29uc3QgcmVtb3ZlZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gdGhpcy5yZW1vdmUoYWx0ZXJhdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gWyAuLi50aGlzLl9hbHRlcmF0aW9ucywgLi4uYWx0ZXJhdGlvbnMgXVxuXG4gICAgY29uc3QgY2hhbmdlczogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gW1xuICAgICAgLi4ucmVtb3ZlZCxcbiAgICAgIC4uLmFsdGVyYXRpb25zLm1hcChhID0+IHtcbiAgICAgICAgY29uc3QgcmVjb3JkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkID0ge1xuICAgICAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogYVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRcbiAgICAgIH0pXG4gICAgXVxuXG4gICAgaWYgKG5vdE51bGxPclVuZGVmaW5lZChvcHRpb25zPy5lbWl0RXZlbnQpICYmICFvcHRpb25zPy5lbWl0RXZlbnQpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VzXG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdENoYW5nZXMoY2hhbmdlcylcblxuICAgIHJldHVybiBjaGFuZ2VzXG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGFsdGVyYXRpb25zOiBDb2x1bW5zQWx0ZXJhdGlvbltdLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBhbHRlcmF0aW9ucylcbiAgICBjb25zdCByZW1vdmVkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBhbHRlcmF0aW9ucy5maW5kSW5kZXgoeSA9PiB5LmlkID09PSB4LmlkKSAhPT0gLTFcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBjb25zdCBldmVudFJlY29yZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCA9IHtcbiAgICAgICAgICB0eXBlOiAncmVtb3ZlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogeFxuICAgICAgICB9XG4gICAgICAgIHJlbW92ZWQucHVzaChldmVudFJlY29yZClcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZm91bmRcbiAgICB9KVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZWQnLCByZW1vdmVkLCB0aGlzLl9hbHRlcmF0aW9ucylcblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gcmVtb3ZlZFxuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKHJlbW92ZWQpXG5cbiAgICByZXR1cm4gcmVtb3ZlZFxuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSwgZGF0YXRhYmxlOiBUaGVTZWFtRGF0YXRhYmxlQWNjZXNzb3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5fYWx0ZXJhdGlvbnMpIHtcbiAgICAgIGEuYXBwbHkoY29sdW1ucywgZGF0YXRhYmxlKVxuICAgIH1cblxuICAgIHRoaXMuX3JlbW92ZU5vblBlcnNpc3RhbnQoKVxuICB9XG5cbiAgLy8gVE9ETzogTWFrZSBhd2FyZSBvZiBvcmlnaW5hbCBjb2x1bW4gb3JkZXIgYW5kIHByb3BlcnRpZXMuIFRoaXMgaXMgdHJpY2t5LFxuICAvLyBiZWNhdXNlIHRoZSBkYXRhdGFibGUgZG9lcyBub3QgZGVhbCB3aXRoIGltbXV0YWJsZSBjb2x1bW4vcm93IHJlY29yZHMgYW5kXG4gIC8vIGl0IGlzIGhhcmQgdG8ga25vdyB3aGVyZSBjaGFuZ2VzIGhhcHBlbmVkLiBKdXN0IHNlcmlhbGl6aW5nIHRoZSBjb2x1bW5zXG4gIC8vIGlucHV0IGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UgdGhlIGNvbHVtbnMgaW5wdXQgaXMgY2FsbGVkIGFueXRpbWUgdGhlIHVzZXJcbiAgLy8gbWFrZXMgYSBjb2x1bW4gY2hhbmdlLiBXZSBjYW4gcHJvYmFibHkgY29tZSB1cCB3aXRoIGEgbW9zdGx5IGFjY3VyYXRlXG4gIC8vIGltcGxlbWVudGF0aW9uLCBzdWNoIGFzIFwicmVzZXQgb3JpZ2luYWwgY29sdW1ucyBjYWNoZSB3aGVuIHByZWZlcmVuY2VzS2V5XG4gIC8vIGNoYW5nZXNcIiBvciBcIm51bWJlciBvZiBjb2x1bW5zIGNoYW5nZVwiLiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhvc2UgcnVsZXMsXG4gIC8vIGJ1dCB3aXRoIHNvbWUgdGVzdGluZy9leHBlcmltZW50aW5nIEkgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGEgXCJnb29kIGVub3VnaFwiXG4gIC8vIHNvbHV0aW9uLlxuICAvL1xuICAvLyBUT0RPOiBGaW5kIGEgZ2VuZXJpYyB3YXkgdG8gY2xlYXIgYWx0ZXJhdGlvbnMuIEkgd291bGQgbGlrZSB0byBhZGQgYW5cbiAgLy8gYHVuYXBwbHlgIG1ldGhvZCB0byBgQ29sdW1uc0FsdGVyYXRpb25gLCBidXQgc2luY2UgdGhlIGFsdGVyYXRpb25zXG4gIC8vIHRoZW1zZWx2ZXMgYXJlIG5vdCB0b28gZ2VuZXJpYyBpdCBtYXkgYmUgdHJpY2t5LlxuICBwdWJsaWMgY2xlYXIob3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICBjb25zdCBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIGZvciAoY29uc3QgY29sQWx0IG9mIHRoaXMuX2FsdGVyYXRpb25zKSB7XG4gICAgICBzd2l0Y2ggKGNvbEFsdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2hpZGUtY29sdW1uJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgSGlkZUNvbHVtbkNvbHVtbnNBbHRlcmF0aW9uKHsgY29sdW1uUHJvcDogY29sQWx0LnN0YXRlLmNvbHVtblByb3AsIGhpZGRlbjogZmFsc2UgfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ29yZGVyJzoge1xuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLnJlbW92ZShbIGNvbEFsdCBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NvcnQnOiB7XG4gICAgICAgICAgY29uc3QgYWx0ZXJhdGlvbiA9IG5ldyBTb3J0Q29sdW1uc0FsdGVyYXRpb24oeyBzb3J0czogW10gfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3dpZHRoJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgV2lkdGhDb2x1bW5zQWx0ZXJhdGlvbih7IGNvbHVtblByb3A6IGNvbEFsdC5zdGF0ZS5jb2x1bW5Qcm9wLCBjYW5BdXRvUmVzaXplOiB0cnVlIH0sIGZhbHNlKVxuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLmFkZChbIGFsdGVyYXRpb24gXSkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gY2hhbmdlc1xuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKGNoYW5nZXMpXG5cbiAgICByZXR1cm4gY2hhbmdlc1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTm9uUGVyc2lzdGFudCgpOiB2b2lkIHtcbiAgICBjb25zdCBub25QZXJzaXN0ZW50ID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4gIXgucGVyc2lzdGVudClcbiAgICB0aGlzLnJlbW92ZShub25QZXJzaXN0ZW50LCB7IGVtaXRFdmVudDogZmFsc2UgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2VzKGNoYW5nZXM6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRSZWNvcmRbXSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudCA9IHtcbiAgICAgIGNoYW5nZXNcbiAgICB9XG5cbiAgICB0aGlzLl9jaGFuZ2VzU3ViamVjdC5uZXh0KGV2ZW50KVxuICB9XG5cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1hbHRlcmF0aW9ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtYWx0ZXJhdGlvbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUs3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQTtBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQTs7QUFZL0YsTUFBTSxPQUFPLGdDQUFnQztJQU8zQztRQUxpQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFrQyxDQUFBO1FBQ3hFLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQTtRQUs1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLENBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksR0FBRyxDQUFDLFdBQWdDLEVBQUUsT0FBaUM7UUFDNUUsa0NBQWtDO1FBQ2xDLE1BQU0sT0FBTyxHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2pHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUUsQ0FBQTtRQUU1RCxNQUFNLE9BQU8sR0FBc0M7WUFDakQsR0FBRyxPQUFPO1lBQ1YsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBb0M7b0JBQzlDLElBQUksRUFBRSxPQUFPO29CQUNiLFVBQVUsRUFBRSxDQUFDO2lCQUNkLENBQUE7Z0JBQ0QsT0FBTyxNQUFNLENBQUE7WUFDZixDQUFDLENBQUM7U0FDSCxDQUFBO1FBRUQsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ2pFLE9BQU8sT0FBTyxDQUFBO1NBQ2Y7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTFCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBZ0MsRUFBRSxPQUFpQztRQUMvRSxxQ0FBcUM7UUFDckMsTUFBTSxPQUFPLEdBQXNDLEVBQUUsQ0FBQTtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUM5RCxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLFdBQVcsR0FBb0M7b0JBQ25ELElBQUksRUFBRSxTQUFTO29CQUNmLFVBQVUsRUFBRSxDQUFDO2lCQUNkLENBQUE7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTthQUMxQjtZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtRQUVGLHFEQUFxRDtRQUVyRCxJQUFJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFpQyxFQUFFLFNBQW1DO1FBQ2pGLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtTQUM1QjtRQUVELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsNEVBQTRFO0lBQzVFLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDRFQUE0RTtJQUM1RSw2RUFBNkU7SUFDN0UsOEVBQThFO0lBQzlFLFlBQVk7SUFDWixFQUFFO0lBQ0Ysd0VBQXdFO0lBQ3hFLHFFQUFxRTtJQUNyRSxtREFBbUQ7SUFDNUMsS0FBSyxDQUFDLE9BQWlDO1FBQzVDLE1BQU0sT0FBTyxHQUFzQyxFQUFFLENBQUE7UUFDckQsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDbkIsS0FBSyxhQUFhLENBQUMsQ0FBQztvQkFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7b0JBQ2pILE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUMsQ0FBQyxDQUFBO29CQUN6QyxNQUFLO2lCQUNOO2dCQUNELEtBQUssT0FBTyxDQUFDLENBQUM7b0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBRSxNQUFNLENBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ3hDLE1BQUs7aUJBQ047Z0JBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQztvQkFDWCxNQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDLENBQUMsQ0FBQTtvQkFDekMsTUFBSztpQkFDTjtnQkFDRCxLQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksc0JBQXNCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNsSCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDLENBQUMsQ0FBQTtvQkFDekMsTUFBSztpQkFDTjthQUNGO1NBQ0Y7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUEwQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU07U0FDUDtRQUVELE1BQU0sS0FBSyxHQUFtQztZQUM1QyxPQUFPO1NBQ1IsQ0FBQTtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7OzhIQWxKVSxnQ0FBZ0M7a0lBQWhDLGdDQUFnQzs0RkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDb2x1bW5zQWx0ZXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVBY2Nlc3NvciB9IGZyb20gJy4uL21vZGVscy9kYXRhdGFibGUtYWNjZXNzb3InXG5pbXBvcnQgeyBIaWRlQ29sdW1uQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9oaWRlLWNvbHVtbi5jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBTb3J0Q29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9zb3J0LmNvbHVtbnMtYWx0ZXJhdGlvbidcbmltcG9ydCB7IFdpZHRoQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy93aWR0aC5jb2x1bW5zLWFsdGVyYXRpb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCB7XG4gIHR5cGU6ICdhZGRlZCcgfCAncmVtb3ZlZCdcbiAgYWx0ZXJhdGlvbjogQ29sdW1uc0FsdGVyYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkRXZlbnQge1xuICBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW11cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNBbHRlcmF0aW9uc01hbmFnZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudD4oKVxuICBwcml2YXRlIF9hbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSA9IFtdXG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IE9ic2VydmFibGU8Q29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2hhbmdlcyA9IHRoaXMuX2NoYW5nZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IENvbHVtbnNBbHRlcmF0aW9uW10ge1xuICAgIHJldHVybiBbIC4uLnRoaXMuX2FsdGVyYXRpb25zIF1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFsdGVyYXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gY29sdW1ucy5cbiAgICpcbiAgICogSWYgYW4gYWx0ZXJhdGlvbiB3aXRoIHRoZSBzYW1lIGBpZGAgYWxyZWFkeSBleGlzdHMgdGhlbiB0aGUgZXhpc3RpbmdcbiAgICogYWx0ZXJhdGlvbiB3aWxsIGJlIHJlbW92ZWQgYW5kIHRoZSBuZXcgb25lIGFkZGVkLlxuICAgKlxuICAgKiBOT1RFOiBXaGVuIHRoZXJlIGlzIGEgZHVwbGljYXRlIGFsdGVyYXRpb24gdGhlIG9sZCBhbHRlcmF0aW9uIGlzIHJlbW92ZWQsXG4gICAqIGluc3RlYWQgb2YgdXBkYXRlZCwgdG8gbWFpbnRhaW4gdGhlIG9yZGVyIGFsdGVyYXRpb25zIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgcHVibGljIGFkZChhbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICAvLyBjb25zb2xlLmxvZygnYWRkJywgYWx0ZXJhdGlvbnMpXG4gICAgY29uc3QgcmVtb3ZlZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gdGhpcy5yZW1vdmUoYWx0ZXJhdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gWyAuLi50aGlzLl9hbHRlcmF0aW9ucywgLi4uYWx0ZXJhdGlvbnMgXVxuXG4gICAgY29uc3QgY2hhbmdlczogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gW1xuICAgICAgLi4ucmVtb3ZlZCxcbiAgICAgIC4uLmFsdGVyYXRpb25zLm1hcChhID0+IHtcbiAgICAgICAgY29uc3QgcmVjb3JkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkID0ge1xuICAgICAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogYVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRcbiAgICAgIH0pXG4gICAgXVxuXG4gICAgaWYgKG5vdE51bGxPclVuZGVmaW5lZChvcHRpb25zPy5lbWl0RXZlbnQpICYmICFvcHRpb25zPy5lbWl0RXZlbnQpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VzXG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdENoYW5nZXMoY2hhbmdlcylcblxuICAgIHJldHVybiBjaGFuZ2VzXG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGFsdGVyYXRpb25zOiBDb2x1bW5zQWx0ZXJhdGlvbltdLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBhbHRlcmF0aW9ucylcbiAgICBjb25zdCByZW1vdmVkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBhbHRlcmF0aW9ucy5maW5kSW5kZXgoeSA9PiB5LmlkID09PSB4LmlkKSAhPT0gLTFcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBjb25zdCBldmVudFJlY29yZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCA9IHtcbiAgICAgICAgICB0eXBlOiAncmVtb3ZlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogeFxuICAgICAgICB9XG4gICAgICAgIHJlbW92ZWQucHVzaChldmVudFJlY29yZClcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZm91bmRcbiAgICB9KVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZWQnLCByZW1vdmVkLCB0aGlzLl9hbHRlcmF0aW9ucylcblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gcmVtb3ZlZFxuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKHJlbW92ZWQpXG5cbiAgICByZXR1cm4gcmVtb3ZlZFxuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSwgZGF0YXRhYmxlOiBUaGVTZWFtRGF0YXRhYmxlQWNjZXNzb3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5fYWx0ZXJhdGlvbnMpIHtcbiAgICAgIGEuYXBwbHkoY29sdW1ucywgZGF0YXRhYmxlKVxuICAgIH1cblxuICAgIHRoaXMuX3JlbW92ZU5vblBlcnNpc3RhbnQoKVxuICB9XG5cbiAgLy8gVE9ETzogTWFrZSBhd2FyZSBvZiBvcmlnaW5hbCBjb2x1bW4gb3JkZXIgYW5kIHByb3BlcnRpZXMuIFRoaXMgaXMgdHJpY2t5LFxuICAvLyBiZWNhdXNlIHRoZSBkYXRhdGFibGUgZG9lcyBub3QgZGVhbCB3aXRoIGltbXV0YWJsZSBjb2x1bW4vcm93IHJlY29yZHMgYW5kXG4gIC8vIGl0IGlzIGhhcmQgdG8ga25vdyB3aGVyZSBjaGFuZ2VzIGhhcHBlbmVkLiBKdXN0IHNlcmlhbGl6aW5nIHRoZSBjb2x1bW5zXG4gIC8vIGlucHV0IGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UgdGhlIGNvbHVtbnMgaW5wdXQgaXMgY2FsbGVkIGFueXRpbWUgdGhlIHVzZXJcbiAgLy8gbWFrZXMgYSBjb2x1bW4gY2hhbmdlLiBXZSBjYW4gcHJvYmFibHkgY29tZSB1cCB3aXRoIGEgbW9zdGx5IGFjY3VyYXRlXG4gIC8vIGltcGxlbWVudGF0aW9uLCBzdWNoIGFzIFwicmVzZXQgb3JpZ2luYWwgY29sdW1ucyBjYWNoZSB3aGVuIHByZWZlcmVuY2VzS2V5XG4gIC8vIGNoYW5nZXNcIiBvciBcIm51bWJlciBvZiBjb2x1bW5zIGNoYW5nZVwiLiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhvc2UgcnVsZXMsXG4gIC8vIGJ1dCB3aXRoIHNvbWUgdGVzdGluZy9leHBlcmltZW50aW5nIEkgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGEgXCJnb29kIGVub3VnaFwiXG4gIC8vIHNvbHV0aW9uLlxuICAvL1xuICAvLyBUT0RPOiBGaW5kIGEgZ2VuZXJpYyB3YXkgdG8gY2xlYXIgYWx0ZXJhdGlvbnMuIEkgd291bGQgbGlrZSB0byBhZGQgYW5cbiAgLy8gYHVuYXBwbHlgIG1ldGhvZCB0byBgQ29sdW1uc0FsdGVyYXRpb25gLCBidXQgc2luY2UgdGhlIGFsdGVyYXRpb25zXG4gIC8vIHRoZW1zZWx2ZXMgYXJlIG5vdCB0b28gZ2VuZXJpYyBpdCBtYXkgYmUgdHJpY2t5LlxuICBwdWJsaWMgY2xlYXIob3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICBjb25zdCBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIGZvciAoY29uc3QgY29sQWx0IG9mIHRoaXMuX2FsdGVyYXRpb25zKSB7XG4gICAgICBzd2l0Y2ggKGNvbEFsdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2hpZGUtY29sdW1uJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgSGlkZUNvbHVtbkNvbHVtbnNBbHRlcmF0aW9uKHsgY29sdW1uUHJvcDogY29sQWx0LnN0YXRlLmNvbHVtblByb3AsIGhpZGRlbjogZmFsc2UgfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ29yZGVyJzoge1xuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLnJlbW92ZShbIGNvbEFsdCBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NvcnQnOiB7XG4gICAgICAgICAgY29uc3QgYWx0ZXJhdGlvbiA9IG5ldyBTb3J0Q29sdW1uc0FsdGVyYXRpb24oeyBzb3J0czogW10gfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3dpZHRoJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgV2lkdGhDb2x1bW5zQWx0ZXJhdGlvbih7IGNvbHVtblByb3A6IGNvbEFsdC5zdGF0ZS5jb2x1bW5Qcm9wLCBjYW5BdXRvUmVzaXplOiB0cnVlIH0sIGZhbHNlKVxuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLmFkZChbIGFsdGVyYXRpb24gXSkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gY2hhbmdlc1xuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKGNoYW5nZXMpXG5cbiAgICByZXR1cm4gY2hhbmdlc1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTm9uUGVyc2lzdGFudCgpOiB2b2lkIHtcbiAgICBjb25zdCBub25QZXJzaXN0ZW50ID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4gIXgucGVyc2lzdGVudClcbiAgICB0aGlzLnJlbW92ZShub25QZXJzaXN0ZW50LCB7IGVtaXRFdmVudDogZmFsc2UgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2VzKGNoYW5nZXM6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRSZWNvcmRbXSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudCA9IHtcbiAgICAgIGNoYW5nZXNcbiAgICB9XG5cbiAgICB0aGlzLl9jaGFuZ2VzU3ViamVjdC5uZXh0KGV2ZW50KVxuICB9XG5cbn1cbiJdfQ==