@theseam/ui-common 0.4.28-beta.4 → 0.4.28

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 (230) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +9 -61
  3. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  4. package/datatable/datatable.module.d.ts +20 -29
  5. package/datatable/models/table-column.d.ts +1 -22
  6. package/datatable/public-api.d.ts +0 -14
  7. package/datatable/services/columns-manager.service.d.ts +0 -7
  8. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  9. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
  10. package/esm2020/datatable/datatable/datatable.component.mjs +31 -240
  11. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
  12. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
  13. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  14. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
  15. package/esm2020/datatable/datatable.module.mjs +7 -49
  16. package/esm2020/datatable/models/table-column.mjs +1 -1
  17. package/esm2020/datatable/public-api.mjs +1 -15
  18. package/esm2020/datatable/services/columns-manager.service.mjs +2 -27
  19. package/esm2020/datatable/utils/create-action-menu-column.mjs +3 -4
  20. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
  21. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
  22. package/esm2020/framework/base-layout/base-layout.component.mjs +4 -14
  23. package/esm2020/framework/base-layout/base-layout.module.mjs +1 -6
  24. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +5 -21
  25. package/esm2020/framework/base-layout/index.mjs +1 -2
  26. package/esm2020/framework/public-api.mjs +1 -2
  27. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
  28. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +78 -28
  29. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -12
  30. package/esm2020/framework/side-nav/side-nav-tokens.mjs +5 -1
  31. package/esm2020/framework/side-nav/side-nav-utils.mjs +13 -3
  32. package/esm2020/framework/side-nav/side-nav.component.mjs +52 -119
  33. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  34. package/esm2020/framework/side-nav/side-nav.module.mjs +39 -9
  35. package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
  36. package/esm2020/framework/top-bar/index.mjs +1 -3
  37. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +4 -10
  38. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
  39. package/esm2020/framework/top-bar/top-bar.component.mjs +11 -55
  40. package/esm2020/framework/top-bar/top-bar.module.mjs +5 -15
  41. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  42. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
  43. package/esm2020/graphql/datatable/index.mjs +1 -4
  44. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  45. package/esm2020/layout/layout.service.mjs +2 -12
  46. package/esm2020/menu/menu-toggle.directive.mjs +2 -7
  47. package/esm2020/navigation-reload/navigation-reload.config.mjs +2 -0
  48. package/esm2020/navigation-reload/navigation-reload.provider.mjs +14 -0
  49. package/esm2020/navigation-reload/navigation-reload.service.mjs +54 -0
  50. package/esm2020/navigation-reload/public-api.mjs +4 -0
  51. package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +5 -0
  52. package/esm2020/popover/popover/popover.component.mjs +3 -7
  53. package/esm2020/popover/popover.directive.mjs +2 -6
  54. package/esm2020/table/public-api.mjs +1 -4
  55. package/esm2020/table/table/table.component.mjs +5 -90
  56. package/esm2020/table/table.module.mjs +5 -21
  57. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -5
  58. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  59. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  60. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  61. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  62. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  63. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  64. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +1 -1
  65. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
  66. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  67. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
  68. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  69. package/fesm2015/theseam-ui-common-datatable.mjs +62 -1035
  70. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  71. package/fesm2015/theseam-ui-common-framework.mjs +193 -910
  72. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  73. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  74. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  75. package/fesm2015/theseam-ui-common-graphql.mjs +1 -254
  76. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  77. package/fesm2015/theseam-ui-common-layout.mjs +2 -11
  78. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  79. package/fesm2015/theseam-ui-common-menu.mjs +1 -6
  80. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  81. package/fesm2015/theseam-ui-common-navigation-reload.mjs +75 -0
  82. package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -0
  83. package/fesm2015/theseam-ui-common-popover.mjs +3 -11
  84. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  85. package/fesm2015/theseam-ui-common-table-cell-types.mjs +2 -4
  86. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  87. package/fesm2015/theseam-ui-common-table.mjs +9 -201
  88. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  89. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  90. package/fesm2015/theseam-ui-common-widget.mjs +1 -1
  91. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  92. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
  93. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  94. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
  95. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  96. package/fesm2020/theseam-ui-common-datatable.mjs +62 -1019
  97. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  98. package/fesm2020/theseam-ui-common-framework.mjs +196 -912
  99. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  100. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  101. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  102. package/fesm2020/theseam-ui-common-graphql.mjs +1 -254
  103. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  104. package/fesm2020/theseam-ui-common-layout.mjs +2 -11
  105. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  106. package/fesm2020/theseam-ui-common-menu.mjs +1 -6
  107. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  108. package/fesm2020/theseam-ui-common-navigation-reload.mjs +74 -0
  109. package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -0
  110. package/fesm2020/theseam-ui-common-popover.mjs +3 -11
  111. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  112. package/fesm2020/theseam-ui-common-table-cell-types.mjs +2 -4
  113. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  114. package/fesm2020/theseam-ui-common-table.mjs +9 -199
  115. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  116. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  117. package/fesm2020/theseam-ui-common-widget.mjs +1 -1
  118. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  119. package/framework/base-layout/base-layout.component.d.ts +2 -4
  120. package/framework/base-layout/base-layout.component.scss +10 -18
  121. package/framework/base-layout/base-layout.module.d.ts +10 -11
  122. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +3 -8
  123. package/framework/base-layout/index.d.ts +0 -1
  124. package/framework/base-layout/styles/_variables.scss +0 -21
  125. package/framework/public-api.d.ts +0 -1
  126. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +20 -7
  127. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +16 -8
  128. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +3 -5
  129. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +6 -3
  130. package/framework/side-nav/side-nav-tokens.d.ts +8 -0
  131. package/framework/side-nav/side-nav-utils.d.ts +12 -6
  132. package/framework/side-nav/side-nav.component.d.ts +6 -16
  133. package/framework/side-nav/side-nav.component.scss +1 -0
  134. package/framework/side-nav/side-nav.models.d.ts +14 -9
  135. package/framework/side-nav/side-nav.module.d.ts +9 -1
  136. package/framework/side-nav/styles/_themes/light/_variables.scss +14 -24
  137. package/framework/side-nav/styles/_themes/primary/_variables.scss +0 -8
  138. package/framework/top-bar/index.d.ts +0 -2
  139. package/framework/top-bar/top-bar-item.directive.d.ts +1 -4
  140. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +2 -5
  141. package/framework/top-bar/top-bar.component.d.ts +3 -25
  142. package/framework/top-bar/top-bar.component.scss +2 -7
  143. package/framework/top-bar/top-bar.module.d.ts +8 -10
  144. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  145. package/graphql/datatable/index.d.ts +0 -3
  146. package/graphql/datatable/map-filter-states.d.ts +2 -2
  147. package/layout/layout.service.d.ts +1 -9
  148. package/menu/menu-toggle.directive.d.ts +1 -2
  149. package/navigation-reload/index.d.ts +5 -0
  150. package/navigation-reload/navigation-reload.config.d.ts +5 -0
  151. package/navigation-reload/navigation-reload.provider.d.ts +3 -0
  152. package/navigation-reload/navigation-reload.service.d.ts +13 -0
  153. package/navigation-reload/public-api.d.ts +3 -0
  154. package/package.json +11 -3
  155. package/popover/popover/popover.component.d.ts +1 -4
  156. package/popover/popover.directive.d.ts +1 -2
  157. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +14 -83
  158. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +3 -38
  159. package/table/public-api.d.ts +0 -3
  160. package/table/table/table.component.d.ts +3 -21
  161. package/table/table.module.d.ts +1 -4
  162. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
  163. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
  164. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
  165. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
  166. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
  167. package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
  168. package/datatable/models/action-item-column-position.d.ts +0 -13
  169. package/datatable/models/columns-data-filter.d.ts +0 -57
  170. package/datatable/models/columns-data-filters/models.d.ts +0 -65
  171. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
  172. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
  173. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
  174. package/datatable/models/columns-data-filters/utils.d.ts +0 -15
  175. package/datatable/models/datatable-config.d.ts +0 -97
  176. package/datatable/services/columns-filters.service.d.ts +0 -29
  177. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
  178. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
  179. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
  180. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
  181. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
  182. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
  183. package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
  184. package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
  185. package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
  186. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
  187. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
  188. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
  189. package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
  190. package/esm2020/datatable/models/datatable-config.mjs +0 -3
  191. package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
  192. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
  193. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
  194. package/esm2020/framework/nav/index.mjs +0 -6
  195. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
  196. package/esm2020/framework/nav/nav-utils.mjs +0 -107
  197. package/esm2020/framework/nav/nav.models.mjs +0 -2
  198. package/esm2020/framework/nav/nav.module.mjs +0 -67
  199. package/esm2020/framework/nav/nav.service.mjs +0 -204
  200. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
  201. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
  202. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
  203. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
  204. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
  205. package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
  206. package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
  207. package/esm2020/table/table-column.component.mjs +0 -68
  208. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
  209. package/framework/nav/_nav-theme.scss +0 -4
  210. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
  211. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +0 -50
  212. package/framework/nav/index.d.ts +0 -5
  213. package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
  214. package/framework/nav/nav-item/nav-item.component.scss +0 -203
  215. package/framework/nav/nav-utils.d.ts +0 -20
  216. package/framework/nav/nav.models.d.ts +0 -77
  217. package/framework/nav/nav.module.d.ts +0 -17
  218. package/framework/nav/nav.service.d.ts +0 -27
  219. package/framework/nav/styles/_themes/light/_variables.scss +0 -56
  220. package/framework/nav/styles/_themes/primary/_variables.scss +0 -56
  221. package/framework/nav/styles/_utilities.scss +0 -3
  222. package/framework/nav/styles/_variables.scss +0 -2
  223. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
  224. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
  225. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
  226. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
  227. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
  228. package/table/table-cell-tpl.directive.d.ts +0 -7
  229. package/table/table-column-header-tpl.directive.d.ts +0 -7
  230. package/table/table-column.component.d.ts +0 -24
@@ -1,16 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { TheSeamColumnsDataFilterNumericSearchForm, TheSeamColumnsDataFilterNumericSearchType } from '../models/columns-data-filters/models';
4
- import * as i0 from "@angular/core";
5
- export declare class DatatableColumnFilterSearchNumericComponent implements OnInit {
6
- searchTypes: {
7
- label: string;
8
- value: TheSeamColumnsDataFilterNumericSearchType;
9
- }[];
10
- filterForm: TheSeamColumnsDataFilterNumericSearchForm | undefined;
11
- showSearchInput$: Observable<boolean> | undefined;
12
- showRangeInputs$: Observable<boolean> | undefined;
13
- ngOnInit(): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterSearchNumericComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterSearchNumericComponent, "seam-datatable-column-filter-search-numeric", never, { "filterForm": "filterForm"; }, {}, never, never, false, never>;
16
- }
@@ -1,15 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { TheSeamColumnsDataFilterTextSearchForm, TheSeamColumnsDataFilterTextSearchType } from '../models/columns-data-filters/models';
4
- import * as i0 from "@angular/core";
5
- export declare class DatatableColumnFilterSearchTextComponent implements OnInit {
6
- searchTypes: {
7
- label: string;
8
- value: TheSeamColumnsDataFilterTextSearchType;
9
- }[];
10
- filterForm: TheSeamColumnsDataFilterTextSearchForm | undefined;
11
- showTextbox$: Observable<boolean> | undefined;
12
- ngOnInit(): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterSearchTextComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DatatableColumnFilterSearchTextComponent, "seam-datatable-column-filter-search-text", never, { "filterForm": "filterForm"; }, {}, never, never, false, never>;
15
- }
@@ -1,8 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class DatatableColumnFilterTplDirective {
4
- template: TemplateRef<any>;
5
- constructor(template: TemplateRef<any>);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DatatableColumnFilterTplDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableColumnFilterTplDirective, "[seamDatatableColumnFilterTpl]", never, {}, {}, never, never, false, never>;
8
- }
@@ -1,10 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TheSeamDatatableColumnFilterDirective {
4
- filterName: string | undefined | null;
5
- _templateInput: TemplateRef<any> | undefined | null;
6
- _templateQuery: TemplateRef<any> | undefined | null;
7
- get template(): TemplateRef<any> | undefined | null;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamDatatableColumnFilterDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheSeamDatatableColumnFilterDirective, "seam-datatable-column-filter", never, { "filterName": "filterName"; "_templateInput": "template"; }, {}, ["_templateQuery"], never, false, never>;
10
- }
@@ -1,13 +0,0 @@
1
- declare const ActionItemColumnPosition: readonly ["frozenLeft", "frozenRight", "staticLeft", "staticRight"];
2
- /**
3
- * If `frozenLeft`, action item column will be fixed to the left side of the table.
4
- *
5
- * If `frozenRight`, action item column will be fixed to the right side of the table.
6
- *
7
- * If `staticLeft`, action item column will be the first static column on the left side of the table.
8
- *
9
- * If `staticRight`, action item column will be the last static column on the right side of the table.
10
- */
11
- export type ActionItemColumnPosition = typeof ActionItemColumnPosition[number];
12
- export declare function isActionItemColumnPosition(input: unknown): input is ActionItemColumnPosition;
13
- export {};
@@ -1,57 +0,0 @@
1
- import { DataFilter, DataFilterState } from '@theseam/ui-common/data-filters';
2
- import { TheSeamDatatableColumn, TheSeamDatatableColumnFilterableConfig } from './table-column';
3
- import { Observable } from 'rxjs';
4
- import { FormGroup } from '@angular/forms';
5
- import { InjectionToken } from '@angular/core';
6
- export interface ColumnsDataFilterStateState<T = any, O = any> {
7
- prop?: string;
8
- formValue?: Partial<T>;
9
- options?: O;
10
- [key: string]: any;
11
- }
12
- export interface ColumnsDataFilterState<T = any, O = any> extends DataFilterState {
13
- state: ColumnsDataFilterStateState<T, O>;
14
- }
15
- export declare abstract class ColumnsDataFilter<TInitial = any, TForm = FormGroup, TOptions = any, TConfig extends TheSeamDatatableColumnFilterableConfig = any> implements DataFilter {
16
- readonly prop: string;
17
- readonly initialValue: TInitial;
18
- readonly column: TheSeamDatatableColumn<any, any, TConfig>;
19
- /**
20
- * Name used when referencing filter by string.
21
- */
22
- abstract readonly name: string;
23
- /**
24
- * Unique value to prevent a filter being used more than once if it ends up
25
- * being registered more than once.
26
- */
27
- abstract readonly uid: string;
28
- abstract readonly form: TForm;
29
- /**
30
- * Listens for changes in the filter value and emits the current state of the filter.
31
- */
32
- abstract readonly filterStateChanges: Observable<DataFilterState>;
33
- abstract readonly options: TOptions;
34
- constructor(prop: string, initialValue: TInitial, column: TheSeamDatatableColumn<any, any, TConfig>);
35
- /**
36
- * Takes rows, filter form value, and an optional config object, and returns filtered rows.
37
- */
38
- abstract dataFilter(data: any[], filterValue: TInitial, options: any): any[];
39
- /**
40
- * Listens for changes in the filter value and filters the data based on the conditions set.
41
- */
42
- abstract filter<T>(data: T[]): Observable<T[]>;
43
- /**
44
- * Returns the current state of the filter.
45
- */
46
- abstract filterState(): ColumnsDataFilterState<TInitial, TOptions>;
47
- /**
48
- * Returns the form value back to the default.
49
- */
50
- abstract applyFilter(): void;
51
- /**
52
- * Returns the form value back to the default.
53
- */
54
- abstract clearFilter(): void;
55
- abstract isDefault(): boolean;
56
- }
57
- export declare const THESEAM_COLUMNS_DATA_FILTER: InjectionToken<ColumnsDataFilter<any, any, any, any>>;
@@ -1,65 +0,0 @@
1
- import { FormControl, FormGroup } from "@angular/forms";
2
- import { TheSeamDatatableColumnFilterableConfig } from "../table-column";
3
- export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME: "search-date";
4
- export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES: readonly ["lt", "lte", "gt", "gte", "eq", "blank", "not-blank", "between", "not-between"];
5
- export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES: string[];
6
- export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES: string[];
7
- export declare const THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES: string[];
8
- export type TheSeamColumnsDataFilterDateSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES[number];
9
- export type TheSeamColumnsDataFilterDateSearchForm = FormGroup<{
10
- searchType: FormControl<TheSeamColumnsDataFilterDateSearchType | null>;
11
- searchText: FormControl<string | null>;
12
- fromText: FormControl<string | null>;
13
- toText: FormControl<string | null>;
14
- }>;
15
- export interface TheSeamColumnsDataFilterDateSearchFormState {
16
- searchType: TheSeamColumnsDataFilterDateSearchType | null;
17
- searchText: string | null;
18
- fromText: string | null;
19
- toText: string | null;
20
- }
21
- export type TheSeamColumnsDataFilterDateSearchDateType = 'date' | 'datetime-local';
22
- export interface TheSeamDatatableDateColumnFilterableConfig extends TheSeamDatatableColumnFilterableConfig {
23
- /**
24
- * The input type to use for the date filter form.
25
- */
26
- dateType?: TheSeamColumnsDataFilterDateSearchDateType;
27
- /**
28
- * When set to true, assumes provided date is in local time.
29
- */
30
- useLocalTime?: boolean;
31
- }
32
- export interface TheSeamColumnsDataFilterDateSearchOptions {
33
- dateType: TheSeamColumnsDataFilterDateSearchDateType;
34
- }
35
- export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME: "search-numeric";
36
- export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES: readonly ["gt", "lt", "eq", "gte", "lte", "blank", "not-blank", "between", "not-between"];
37
- export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES: string[];
38
- export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES: string[];
39
- export declare const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES: string[];
40
- export type TheSeamColumnsDataFilterNumericSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES[number];
41
- export type TheSeamColumnsDataFilterNumericSearchForm = FormGroup<{
42
- searchType: FormControl<TheSeamColumnsDataFilterNumericSearchType | null>;
43
- searchText: FormControl<string | null>;
44
- fromText: FormControl<string | null>;
45
- toText: FormControl<string | null>;
46
- }>;
47
- export type TheSeamColumnsDataFilterNumericSearchFormState = {
48
- searchType: TheSeamColumnsDataFilterNumericSearchType | null;
49
- searchText: string | null;
50
- fromText: string | null;
51
- toText: string | null;
52
- };
53
- export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME: "search-text";
54
- export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES: readonly ["contains", "ncontains", "eq", "neq", "blank", "not-blank"];
55
- export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES: string[];
56
- export declare const THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES: string[];
57
- export type TheSeamColumnsDataFilterTextSearchType = typeof THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES[number];
58
- export type TheSeamColumnsDataFilterTextSearchForm = FormGroup<{
59
- searchType: FormControl<TheSeamColumnsDataFilterTextSearchType | null>;
60
- searchText: FormControl<string | null>;
61
- }>;
62
- export type TheSeamColumnsDataFilterTextSearchFormState = {
63
- searchType: TheSeamColumnsDataFilterTextSearchType | null;
64
- searchText: string | null;
65
- };
@@ -1,23 +0,0 @@
1
- import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
2
- import { TheSeamDatatableColumn } from "../table-column";
3
- import { DataFilterState } from "@theseam/ui-common/data-filters";
4
- import { Observable } from "rxjs";
5
- import { TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchForm, TheSeamColumnsDataFilterDateSearchOptions, TheSeamDatatableDateColumnFilterableConfig } from "./models";
6
- export declare class SearchDateColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchForm, TheSeamColumnsDataFilterDateSearchOptions, TheSeamDatatableDateColumnFilterableConfig> {
7
- readonly name: "search-date";
8
- readonly uid: string;
9
- form: TheSeamColumnsDataFilterDateSearchForm;
10
- filterStateChanges: Observable<DataFilterState>;
11
- options: TheSeamColumnsDataFilterDateSearchOptions;
12
- private _updateFilterValue;
13
- constructor(prop: string, initialValue: TheSeamColumnsDataFilterDateSearchFormState, column: TheSeamDatatableColumn<any, any, TheSeamDatatableDateColumnFilterableConfig>);
14
- dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterDateSearchFormState>, options: any): any[];
15
- private _isInvalidDate;
16
- private _isInvalidSearchTerm;
17
- private _dateSearchDataFilter;
18
- filter(data: any[]): Observable<any[]>;
19
- filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchOptions>;
20
- applyFilter(): void;
21
- clearFilter(): void;
22
- isDefault(): boolean;
23
- }
@@ -1,22 +0,0 @@
1
- import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
2
- import { TheSeamDatatableColumn } from "../table-column";
3
- import { DataFilterState } from "@theseam/ui-common/data-filters";
4
- import { Observable } from "rxjs";
5
- import { TheSeamColumnsDataFilterNumericSearchFormState, TheSeamColumnsDataFilterNumericSearchForm } from "./models";
6
- export declare class SearchNumericColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterNumericSearchFormState, TheSeamColumnsDataFilterNumericSearchForm, undefined> {
7
- readonly name: "search-numeric";
8
- readonly uid: string;
9
- form: TheSeamColumnsDataFilterNumericSearchForm;
10
- filterStateChanges: Observable<DataFilterState>;
11
- options: any;
12
- private _updateFilterValue;
13
- constructor(prop: string, initialValue: TheSeamColumnsDataFilterNumericSearchFormState, column: TheSeamDatatableColumn);
14
- dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterNumericSearchFormState>, options: any): any[];
15
- private _isInvalidSearchTerm;
16
- private numberSearchDataFilter;
17
- filter(data: any[]): Observable<any[]>;
18
- filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterNumericSearchFormState>;
19
- applyFilter(): void;
20
- clearFilter(): void;
21
- isDefault(): boolean;
22
- }
@@ -1,21 +0,0 @@
1
- import { ColumnsDataFilter, ColumnsDataFilterState } from "../columns-data-filter";
2
- import { TheSeamDatatableColumn } from "../table-column";
3
- import { DataFilterState } from "@theseam/ui-common/data-filters";
4
- import { Observable } from "rxjs";
5
- import { TheSeamColumnsDataFilterTextSearchFormState, TheSeamColumnsDataFilterTextSearchForm } from "./models";
6
- export declare class SearchTextColumnsDataFilter extends ColumnsDataFilter<TheSeamColumnsDataFilterTextSearchFormState, TheSeamColumnsDataFilterTextSearchForm> {
7
- readonly name: "search-text";
8
- readonly uid: string;
9
- form: TheSeamColumnsDataFilterTextSearchForm;
10
- filterStateChanges: Observable<DataFilterState>;
11
- options: any;
12
- private _updateFilterValue;
13
- constructor(prop: string, initialValue: TheSeamColumnsDataFilterTextSearchFormState, column: TheSeamDatatableColumn);
14
- dataFilter(data: any[], filterValue: Partial<TheSeamColumnsDataFilterTextSearchFormState>, options: any): any[];
15
- private _textSearchDataFilter;
16
- filter(data: any[]): Observable<any[]>;
17
- filterState(): ColumnsDataFilterState<TheSeamColumnsDataFilterTextSearchFormState>;
18
- applyFilter(): void;
19
- clearFilter(): void;
20
- isDefault(): boolean;
21
- }
@@ -1,15 +0,0 @@
1
- import { SearchDateColumnsDataFilter } from "./search-date.columns-data-filter";
2
- import { SearchNumericColumnsDataFilter } from "./search-numeric.columns-data-filter";
3
- import { SearchTextColumnsDataFilter } from "./search-text.columns-data-filter";
4
- import { TheSeamColumnsDataFilterDateSearchDateType } from "./models";
5
- export declare const THESEAM_COLUMNS_DATA_FILTERS_DEFAULT: readonly [{
6
- readonly name: "search-text";
7
- readonly class: typeof SearchTextColumnsDataFilter;
8
- }, {
9
- readonly name: "search-numeric";
10
- readonly class: typeof SearchNumericColumnsDataFilter;
11
- }, {
12
- readonly name: "search-date";
13
- readonly class: typeof SearchDateColumnsDataFilter;
14
- }];
15
- export declare const getFormattedDateForComparison: (date: string | number | Date | null | undefined, dateType: TheSeamColumnsDataFilterDateSearchDateType, setToLocalTime?: boolean) => Date;
@@ -1,97 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- import { SeamIcon } from "@theseam/ui-common/icon";
3
- import { ActionItemColumnPosition } from "./action-item-column-position";
4
- export interface TheSeamDatatableMessages {
5
- /**
6
- * Message to show when array is presented, but contains no values.
7
- *
8
- * @default 'No records found'
9
- */
10
- emptyMessage: string;
11
- /**
12
- * Footer total message.
13
- *
14
- * @default 'total'
15
- */
16
- totalMessage: string;
17
- /**
18
- * Footer selected message.
19
- *
20
- * @default 'selected'
21
- */
22
- selectedMessage: string;
23
- }
24
- export type TheSeamDatatableColumnFilterUpdateMethod = 'valueChanges' | 'submit';
25
- /**
26
- * A config object that can be injected at the top level of a project
27
- * to apply specific TheSeamDatatable settings site-wide.
28
- */
29
- export interface TheSeamDatatableConfig {
30
- /**
31
- * See `TheSeamDatatableMessages`.
32
- */
33
- messages?: Partial<TheSeamDatatableMessages> | undefined | null;
34
- /**
35
- * Minimum header height in pixels.
36
- *
37
- * @default 50
38
- */
39
- headerHeight?: number | undefined | null;
40
- /**
41
- * Row height in pixels, necessary for calculating scroll height.
42
- *
43
- * @default 50
44
- */
45
- rowHeight?: number | undefined | null;
46
- /**
47
- * Minimum footer height in pixels.
48
- *
49
- * @default 40
50
- */
51
- footerHeight?: number | undefined | null;
52
- /**
53
- * CSS classes for various icon buttons.
54
- *
55
- * @default
56
- * sortAscending: 'datatable-icon-up',
57
- * sortDescending: 'datatable-icon-down',
58
- * pagerLeftArrow: 'datatable-icon-left',
59
- * pagerRightArrow: 'datatable-icon-right',
60
- * pagerPrevious: 'datatable-icon-prev',
61
- * pagerNext: 'datatable-icon-skip'
62
- */
63
- cssClasses?: {
64
- [key: string]: string;
65
- };
66
- /**
67
- * Icon to display to the left of the column header
68
- * when a column is marked "filterable".
69
- *
70
- * @default faFilter
71
- */
72
- columnFilterIcon?: SeamIcon;
73
- /**
74
- * Determines what kind of action causes a filter column to be applied.
75
- *
76
- * `valueChanges`: Filter is applied on form `valueChanges` event, with an optional debounce set on `columnFilterUpdateDebounce`.
77
- *
78
- * `submit`: Filter is applied on form submit. No debounce is applied.
79
- *
80
- * @default "valueChanges"
81
- */
82
- columnFilterUpdateMethod?: TheSeamDatatableColumnFilterUpdateMethod;
83
- /**
84
- * Number of milliseconds to debounce a filter form input before applying the filter change.
85
- * Only applicable when `columnFilterUpdateMethod` is `valueChanges`.
86
- *
87
- * @default 400
88
- */
89
- columnFilterUpdateDebounce?: number;
90
- /**
91
- * Sets position behavior for optional Action Menu Button column.
92
- *
93
- * @default frozenRight
94
- */
95
- actionItemColumnPosition?: ActionItemColumnPosition;
96
- }
97
- export declare const THESEAM_DATATABLE_CONFIG: InjectionToken<TheSeamDatatableConfig>;
@@ -1,29 +0,0 @@
1
- import { TheSeamDatatableColumn } from '../models/table-column';
2
- import { DataFilterContainer } from '@theseam/ui-common/data-filters';
3
- import { ColumnsDataFilter } from '../models/columns-data-filter';
4
- import { TheSeamDatatableColumnFilterDirective } from '../directives/datatable-column-filter.directive';
5
- import * as i0 from "@angular/core";
6
- export declare class ColumnsFiltersService implements DataFilterContainer {
7
- private readonly _customColumnsDataFilters?;
8
- private readonly _columnFilterTemplates;
9
- readonly columnFilterTemplates$: import("rxjs").Observable<TheSeamDatatableColumnFilterDirective[]>;
10
- private readonly _columnsFilters;
11
- readonly columnsFilters$: import("rxjs").Observable<ColumnsDataFilter<any, import("@angular/forms").FormGroup<any>, any, any>[]>;
12
- readonly columnActiveFilterProps$: import("rxjs").Observable<any[]>;
13
- constructor(_customColumnsDataFilters?: {
14
- name: string;
15
- class: any;
16
- }[] | undefined);
17
- registerColumnFilters(columns: TheSeamDatatableColumn[]): void;
18
- setFilterTemplates(tpls: TheSeamDatatableColumnFilterDirective[]): void;
19
- createColumnDataFilter(column: TheSeamDatatableColumn, initialValue: any): ColumnsDataFilter | null;
20
- private _getColumnsDataFilter;
21
- private _getColumnsDataFilterType;
22
- getColumnFilterProp(column: TheSeamDatatableColumn | null | undefined): string | null;
23
- getColumnFilter(prop: string | null): ColumnsDataFilter | undefined;
24
- filters(): ColumnsDataFilter[];
25
- addFilter(filter: ColumnsDataFilter): void;
26
- removeFilter(filter: ColumnsDataFilter): void;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsFiltersService, [{ optional: true; }]>;
28
- static ɵprov: i0.ɵɵInjectableDeclaration<ColumnsFiltersService>;
29
- }
@@ -1,55 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { notNullOrUndefined } from '@theseam/ui-common/utils';
4
- import { debounceTime, map, tap } from 'rxjs';
5
- import { InputNumber } from '@theseam/ui-common/core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../services/columns-filters.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@theseam/ui-common/buttons";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "../datatable-column-filter-search-text/datatable-column-filter-search-text.component";
12
- import * as i6 from "../datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component";
13
- import * as i7 from "../datatable-column-filter-search-date/datatable-column-filter-search-date.component";
14
- export class DatatableColumnFilterMenuComponent {
15
- constructor(_columnsFilters) {
16
- this._columnsFilters = _columnsFilters;
17
- this.closePopover = new EventEmitter();
18
- }
19
- ngOnInit() {
20
- this.columnFilterProp = this._columnsFilters.getColumnFilterProp(this.column);
21
- this.columnFilter = this._columnsFilters.getColumnFilter(this.columnFilterProp);
22
- if (notNullOrUndefined(this.columnFilter)) {
23
- this._filterForm = this.columnFilter.form;
24
- }
25
- this.customFilterTemplate$ = this._columnsFilters.columnFilterTemplates$.pipe(map(templates => templates.find(t => t.filterName === this.columnFilter?.name)));
26
- if (this.updateMethod === 'valueChanges' && notNullOrUndefined(this._filterForm)) {
27
- this._filterForm.valueChanges.pipe(debounceTime(this.debounce || 0), tap(() => this.columnFilter?.applyFilter())).subscribe();
28
- }
29
- }
30
- submit() {
31
- this.columnFilter?.applyFilter();
32
- this.closePopover.emit();
33
- }
34
- clearFilter() {
35
- this.columnFilter?.clearFilter();
36
- }
37
- }
38
- DatatableColumnFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterMenuComponent, deps: [{ token: i1.ColumnsFiltersService }], target: i0.ɵɵFactoryTarget.Component });
39
- DatatableColumnFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnFilterMenuComponent, selector: "seam-datatable-column-filter-menu", inputs: { column: "column", updateMethod: "updateMethod", debounce: "debounce" }, outputs: { closePopover: "closePopover" }, ngImport: i0, template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date [filterForm]=\"_filterForm\" [options]=\"columnFilter.options\"></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: _filterForm, filterForm: _filterForm, options: columnFilter.options, column: column, columnFilter: columnFilter }\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\">\n <div class=\"d-flex align-items-center\" [class.justify-content-between]=\"updateMethod === 'submit'\" [class.text-right]=\"updateMethod === 'valueChanges'\">\n <button seamButton size=\"sm\" class=\"text-primary p-0\" (click)=\"clearFilter()\" [disabled]=\"columnFilter?.isDefault() === true\">Clear</button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\">\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.DatatableColumnFilterSearchTextComponent, selector: "seam-datatable-column-filter-search-text", inputs: ["filterForm"] }, { kind: "component", type: i6.DatatableColumnFilterSearchNumericComponent, selector: "seam-datatable-column-filter-search-numeric", inputs: ["filterForm"] }, { kind: "component", type: i7.DatatableColumnFilterSearchDateComponent, selector: "seam-datatable-column-filter-search-date", inputs: ["options", "filterForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
40
- __decorate([
41
- InputNumber()
42
- ], DatatableColumnFilterMenuComponent.prototype, "debounce", void 0);
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterMenuComponent, decorators: [{
44
- type: Component,
45
- args: [{ selector: 'seam-datatable-column-filter-menu', template: "<ng-container *ngIf=\"_filterForm && columnFilter\">\n <form [formGroup]=\"_filterForm\" (ngSubmit)=\"submit()\">\n <ng-container [ngSwitch]=\"columnFilter.name\">\n <div *ngSwitchCase=\"'search-text'\">\n <seam-datatable-column-filter-search-text [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-text>\n </div>\n <div *ngSwitchCase=\"'search-numeric'\">\n <seam-datatable-column-filter-search-numeric [filterForm]=\"_filterForm\"></seam-datatable-column-filter-search-numeric>\n </div>\n <div *ngSwitchCase=\"'search-date'\">\n <seam-datatable-column-filter-search-date [filterForm]=\"_filterForm\" [options]=\"columnFilter.options\"></seam-datatable-column-filter-search-date>\n </div>\n <div *ngSwitchDefault>\n <ng-container *ngIf=\"customFilterTemplate$ | async as filterTpl\">\n <ng-container *ngIf=\"filterTpl.template\">\n <ng-container\n [ngTemplateOutlet]=\"filterTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: _filterForm, filterForm: _filterForm, options: columnFilter.options, column: column, columnFilter: columnFilter }\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n <hr class=\"mb-1\">\n <div class=\"d-flex align-items-center\" [class.justify-content-between]=\"updateMethod === 'submit'\" [class.text-right]=\"updateMethod === 'valueChanges'\">\n <button seamButton size=\"sm\" class=\"text-primary p-0\" (click)=\"clearFilter()\" [disabled]=\"columnFilter?.isDefault() === true\">Clear</button>\n <button\n *ngIf=\"updateMethod === 'submit'\"\n seamButton\n size=\"sm\"\n class=\"text-primary p-0\"\n type=\"submit\"\n [disabled]=\"columnFilter?.isDefault() === true\">\n Apply\n </button>\n </div>\n </form>\n</ng-container>\n" }]
46
- }], ctorParameters: function () { return [{ type: i1.ColumnsFiltersService }]; }, propDecorators: { column: [{
47
- type: Input
48
- }], updateMethod: [{
49
- type: Input
50
- }], debounce: [{
51
- type: Input
52
- }], closePopover: [{
53
- type: Output
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQU03RCxPQUFPLEVBQWMsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFBOzs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLGtDQUFrQztJQWtCN0MsWUFDbUIsZUFBc0M7UUFBdEMsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBSC9DLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUl4QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUU3RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRS9FLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUE7U0FDMUM7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQzNFLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDaEYsQ0FBQTtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxjQUFjLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLEVBQ2hDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQzVDLENBQUMsU0FBUyxFQUFFLENBQUE7U0FDZDtJQUNILENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQTtRQUVoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUE7SUFDbEMsQ0FBQzs7K0hBbkRVLGtDQUFrQzttSEFBbEMsa0NBQWtDLHNNQ2pCL0MsbzVEQXVDQTtBRGQwQjtJQUFkLFdBQVcsRUFBRTtvRUFBb0M7MkZBUmhELGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxtQ0FBbUM7NEdBUXBDLE1BQU07c0JBQWQsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVrQixRQUFRO3NCQUEvQixLQUFLO2dCQVFJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDb2x1bW5zRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb2x1bW5zLWZpbHRlcnMuc2VydmljZSdcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBDb2x1bW5zRGF0YUZpbHRlciB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVyJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZGVib3VuY2VUaW1lLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyVXBkYXRlTWV0aG9kIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGF0YWJsZS1jb25maWcnXG5pbXBvcnQgeyBJbnB1dE51bWJlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlQ29sdW1uRmlsdGVyTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgX2ZpbHRlckZvcm06IEZvcm1Hcm91cDxhbnk+IHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KCkgY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpIHVwZGF0ZU1ldGhvZDogVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlclVwZGF0ZU1ldGhvZCB8IG51bGwgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSBkZWJvdW5jZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBjb2x1bW5GaWx0ZXJQcm9wOiBzdHJpbmcgfCBudWxsIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBjb2x1bW5GaWx0ZXI6IENvbHVtbnNEYXRhRmlsdGVyPGFueSwgYW55PiB8IG51bGwgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgY3VzdG9tRmlsdGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgQE91dHB1dCgpIGNsb3NlUG9wb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbnNGaWx0ZXJzOiBDb2x1bW5zRmlsdGVyc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uRmlsdGVyUHJvcCA9IHRoaXMuX2NvbHVtbnNGaWx0ZXJzLmdldENvbHVtbkZpbHRlclByb3AodGhpcy5jb2x1bW4pXG5cbiAgICB0aGlzLmNvbHVtbkZpbHRlciA9IHRoaXMuX2NvbHVtbnNGaWx0ZXJzLmdldENvbHVtbkZpbHRlcih0aGlzLmNvbHVtbkZpbHRlclByb3ApXG5cbiAgICBpZiAobm90TnVsbE9yVW5kZWZpbmVkKHRoaXMuY29sdW1uRmlsdGVyKSkge1xuICAgICAgdGhpcy5fZmlsdGVyRm9ybSA9IHRoaXMuY29sdW1uRmlsdGVyLmZvcm1cbiAgICB9XG5cbiAgICB0aGlzLmN1c3RvbUZpbHRlclRlbXBsYXRlJCA9IHRoaXMuX2NvbHVtbnNGaWx0ZXJzLmNvbHVtbkZpbHRlclRlbXBsYXRlcyQucGlwZShcbiAgICAgIG1hcCh0ZW1wbGF0ZXMgPT4gdGVtcGxhdGVzLmZpbmQodCA9PiB0LmZpbHRlck5hbWUgPT09IHRoaXMuY29sdW1uRmlsdGVyPy5uYW1lKSlcbiAgICApXG5cbiAgICBpZiAodGhpcy51cGRhdGVNZXRob2QgPT09ICd2YWx1ZUNoYW5nZXMnICYmIG5vdE51bGxPclVuZGVmaW5lZCh0aGlzLl9maWx0ZXJGb3JtKSkge1xuICAgICAgdGhpcy5fZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UgfHwgMCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbHVtbkZpbHRlcj8uYXBwbHlGaWx0ZXIoKSlcbiAgICAgICkuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCkge1xuICAgIHRoaXMuY29sdW1uRmlsdGVyPy5hcHBseUZpbHRlcigpXG5cbiAgICB0aGlzLmNsb3NlUG9wb3Zlci5lbWl0KClcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLmNvbHVtbkZpbHRlcj8uY2xlYXJGaWx0ZXIoKVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfZmlsdGVyRm9ybSAmJiBjb2x1bW5GaWx0ZXJcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJfZmlsdGVyRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbkZpbHRlci5uYW1lXCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoLXRleHQnXCI+XG4gICAgICAgIDxzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0IFtmaWx0ZXJGb3JtXT1cIl9maWx0ZXJGb3JtXCI+PC9zZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoLW51bWVyaWMnXCI+XG4gICAgICAgIDxzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljIFtmaWx0ZXJGb3JtXT1cIl9maWx0ZXJGb3JtXCI+PC9zZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoLWRhdGUnXCI+XG4gICAgICAgIDxzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlIFtmaWx0ZXJGb3JtXT1cIl9maWx0ZXJGb3JtXCIgW29wdGlvbnNdPVwiY29sdW1uRmlsdGVyLm9wdGlvbnNcIj48L3NlYW0tZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLWRhdGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUZpbHRlclRlbXBsYXRlJCB8IGFzeW5jIGFzIGZpbHRlclRwbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJUcGwudGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsdGVyVHBsLnRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBfZmlsdGVyRm9ybSwgZmlsdGVyRm9ybTogX2ZpbHRlckZvcm0sIG9wdGlvbnM6IGNvbHVtbkZpbHRlci5vcHRpb25zLCBjb2x1bW46IGNvbHVtbiwgY29sdW1uRmlsdGVyOiBjb2x1bW5GaWx0ZXIgfVwiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8aHIgY2xhc3M9XCJtYi0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbY2xhc3MuanVzdGlmeS1jb250ZW50LWJldHdlZW5dPVwidXBkYXRlTWV0aG9kID09PSAnc3VibWl0J1wiIFtjbGFzcy50ZXh0LXJpZ2h0XT1cInVwZGF0ZU1ldGhvZCA9PT0gJ3ZhbHVlQ2hhbmdlcydcIj5cbiAgICAgIDxidXR0b24gc2VhbUJ1dHRvbiBzaXplPVwic21cIiBjbGFzcz1cInRleHQtcHJpbWFyeSBwLTBcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXIoKVwiIFtkaXNhYmxlZF09XCJjb2x1bW5GaWx0ZXI/LmlzRGVmYXVsdCgpID09PSB0cnVlXCI+Q2xlYXI8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJ1cGRhdGVNZXRob2QgPT09ICdzdWJtaXQnXCJcbiAgICAgICAgc2VhbUJ1dHRvblxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBwLTBcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbHVtbkZpbHRlcj8uaXNEZWZhdWx0KCkgPT09IHRydWVcIj5cbiAgICAgICAgQXBwbHlcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { map, startWith } from 'rxjs';
3
- import { notNullOrUndefined } from '@theseam/ui-common/utils';
4
- import { ControlContainer, FormGroupDirective } from '@angular/forms';
5
- import { THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES } from '../models/columns-data-filters/models';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@theseam/ui-common/shared";
9
- import * as i3 from "@theseam/ui-common/form-field";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "@ng-select/ng-select";
12
- export class DatatableColumnFilterSearchDateComponent {
13
- constructor() {
14
- this.searchTypes = [
15
- { label: 'Before', value: 'lt' },
16
- { label: 'Before or on', value: 'lte' },
17
- { label: 'On', value: 'eq' },
18
- { label: 'After', value: 'gt' },
19
- { label: 'After or on', value: 'gte' },
20
- { label: 'Between', value: 'between' },
21
- { label: 'Not between', value: 'not-between' },
22
- { label: 'Blank', value: 'blank' },
23
- { label: 'Not blank', value: 'not-blank' },
24
- ];
25
- }
26
- ngOnInit() {
27
- if (notNullOrUndefined(this.options?.dateType)) {
28
- this.dateFormat = this.options?.dateType;
29
- }
30
- this.showSearchInput$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith(this.filterForm?.controls.searchType.value), map(searchType => THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(searchType || '')));
31
- this.showRangeInputs$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith(this.filterForm?.controls.searchType.value), map(searchType => THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(searchType || '')));
32
- }
33
- }
34
- DatatableColumnFilterSearchDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- DatatableColumnFilterSearchDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnFilterSearchDateComponent, selector: "seam-datatable-column-filter-search-date", inputs: { options: "options", filterForm: "filterForm" }, ngImport: i0, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }, { kind: "directive", type: i2.NgSelectExtraDirective, selector: "ng-select" }, { kind: "component", type: i3.TheSeamFormFieldComponent, selector: "seam-form-field", inputs: ["inline", "label", "labelPosition", "labelClass", "maxErrors", "numPaddingErrors", "labelId", "helpText", "helpTextId"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], viewProviders: [
36
- {
37
- provide: ControlContainer,
38
- useExisting: FormGroupDirective
39
- }
40
- ] });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchDateComponent, decorators: [{
42
- type: Component,
43
- args: [{ selector: 'seam-datatable-column-filter-search-date', viewProviders: [
44
- {
45
- provide: ControlContainer,
46
- useExisting: FormGroupDirective
47
- }
48
- ], template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n\n <ng-container *ngIf=\"showSearchInput$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n </ng-container>\n\n <ng-container *ngIf=\"showRangeInputs$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput [type]=\"dateFormat\" formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n" }]
49
- }], propDecorators: { options: [{
50
- type: Input
51
- }], filterForm: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtZGF0ZS9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3hELE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JFLE9BQU8sRUFBeUssbURBQW1ELEVBQUUsa0RBQWtELEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTs7Ozs7OztBQWF0VSxNQUFNLE9BQU8sd0NBQXdDO0lBWHJEO1FBYUUsZ0JBQVcsR0FBdUU7WUFDaEYsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDaEMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDdkMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDNUIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDL0IsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDdEMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDdEMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7WUFDOUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDbEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7U0FDM0MsQ0FBQTtLQTJCRjtJQWZDLFFBQVE7UUFDTixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQTtTQUN6QztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDNUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFDckQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0RBQWtELENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNqRyxDQUFBO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM1RSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUNyRCxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxtREFBbUQsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ2xHLENBQUE7SUFDSCxDQUFDOztxSUF0Q1Usd0NBQXdDO3lIQUF4Qyx3Q0FBd0MsMElDakJyRCxnbENBMkJBLHkzRURqQmlCO1FBQ2I7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFdBQVcsRUFBRSxrQkFBa0I7U0FDaEM7S0FDRjsyRkFFVSx3Q0FBd0M7a0JBWHBELFNBQVM7K0JBQ0UsMENBQTBDLGlCQUdyQzt3QkFDYjs0QkFDRSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixXQUFXLEVBQUUsa0JBQWtCO3lCQUNoQztxQkFDRjs4QkFnQlEsT0FBTztzQkFBZixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRGF0ZVR5cGUsIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hGb3JtLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9ucywgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvbW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLWRhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaERhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHNlYXJjaFR5cGVzOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSB9W10gPSBbXG4gICAgeyBsYWJlbDogJ0JlZm9yZScsIHZhbHVlOiAnbHQnIH0sXG4gICAgeyBsYWJlbDogJ0JlZm9yZSBvciBvbicsIHZhbHVlOiAnbHRlJyB9LFxuICAgIHsgbGFiZWw6ICdPbicsIHZhbHVlOiAnZXEnIH0sXG4gICAgeyBsYWJlbDogJ0FmdGVyJywgdmFsdWU6ICdndCcgfSxcbiAgICB7IGxhYmVsOiAnQWZ0ZXIgb3Igb24nLCB2YWx1ZTogJ2d0ZScgfSxcbiAgICB7IGxhYmVsOiAnQmV0d2VlbicsIHZhbHVlOiAnYmV0d2VlbicgfSxcbiAgICB7IGxhYmVsOiAnTm90IGJldHdlZW4nLCB2YWx1ZTogJ25vdC1iZXR3ZWVuJyB9LFxuICAgIHsgbGFiZWw6ICdCbGFuaycsIHZhbHVlOiAnYmxhbmsnIH0sXG4gICAgeyBsYWJlbDogJ05vdCBibGFuaycsIHZhbHVlOiAnbm90LWJsYW5rJyB9LFxuICBdXG5cbiAgQElucHV0KCkgb3B0aW9uczogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaE9wdGlvbnMgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKSBmaWx0ZXJGb3JtOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybSB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRGF0ZVR5cGUgfCB1bmRlZmluZWRcblxuICBwdWJsaWMgc2hvd1NlYXJjaElucHV0JDogT2JzZXJ2YWJsZTxib29sZWFuPiB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBzaG93UmFuZ2VJbnB1dHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKG5vdE51bGxPclVuZGVmaW5lZCh0aGlzLm9wdGlvbnM/LmRhdGVUeXBlKSkge1xuICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gdGhpcy5vcHRpb25zPy5kYXRlVHlwZVxuICAgIH1cblxuICAgIHRoaXMuc2hvd1NlYXJjaElucHV0JCA9IHRoaXMuZmlsdGVyRm9ybT8uY29udHJvbHMuc2VhcmNoVHlwZS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmZpbHRlckZvcm0/LmNvbnRyb2xzLnNlYXJjaFR5cGUudmFsdWUpLFxuICAgICAgbWFwKHNlYXJjaFR5cGUgPT4gVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoc2VhcmNoVHlwZSB8fCAnJykpXG4gICAgKVxuXG4gICAgdGhpcy5zaG93UmFuZ2VJbnB1dHMkID0gdGhpcy5maWx0ZXJGb3JtPy5jb250cm9scy5zZWFyY2hUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZmlsdGVyRm9ybT8uY29udHJvbHMuc2VhcmNoVHlwZS52YWx1ZSksXG4gICAgICBtYXAoc2VhcmNoVHlwZSA9PiBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9SQU5HRV9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoc2VhcmNoVHlwZSB8fCAnJykpXG4gICAgKVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyRm9ybVwiPlxuICA8c2VhbS1mb3JtLWZpZWxkIFtudW1QYWRkaW5nRXJyb3JzXT1cIjBcIiBjbGFzcz1cIm1iLTJcIj5cbiAgICA8bmctc2VsZWN0XG4gICAgICBzZWFtSW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFR5cGVcIlxuICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBzZWFyY2ggdHlwZVwiXG4gICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICBbaXRlbXNdPVwic2VhcmNoVHlwZXNcIj48L25nLXNlbGVjdD5cbiAgPC9zZWFtLWZvcm0tZmllbGQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTZWFyY2hJbnB1dCQgfCBhc3luY1wiPlxuICAgIDxzZWFtLWZvcm0tZmllbGQgW251bVBhZGRpbmdFcnJvcnNdPVwiMFwiIGNsYXNzPVwibWItMlwiPlxuICAgICAgPGlucHV0IHNlYW1JbnB1dCBbdHlwZV09XCJkYXRlRm9ybWF0XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoVGV4dFwiIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBzZWFyY2hcIiBzZWFtQXV0b0ZvY3VzPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1JhbmdlSW5wdXRzJCB8IGFzeW5jXCI+XG4gICAgPHNlYW0tZm9ybS1maWVsZCBbbnVtUGFkZGluZ0Vycm9yc109XCIwXCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgICA8aW5wdXQgc2VhbUlucHV0IFt0eXBlXT1cImRhdGVGb3JtYXRcIiBmb3JtQ29udHJvbE5hbWU9XCJmcm9tVGV4dFwiIHBsYWNlaG9sZGVyPVwiUmFuZ2UgU3RhcnRcIiBzZWFtQXV0b0ZvY3VzPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkPlxuXG4gICAgPHNlYW0tZm9ybS1maWVsZCBbbnVtUGFkZGluZ0Vycm9yc109XCIwXCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgICA8aW5wdXQgc2VhbUlucHV0IFt0eXBlXT1cImRhdGVGb3JtYXRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0b1RleHRcIiBwbGFjZWhvbGRlcj1cIlJhbmdlIEVuZFwiPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19