@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,48 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { map, startWith } from 'rxjs';
3
- import { ControlContainer, FormGroupDirective } from '@angular/forms';
4
- import { THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES } from '../models/columns-data-filters/models';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@theseam/ui-common/shared";
8
- import * as i3 from "@theseam/ui-common/form-field";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "@ng-select/ng-select";
11
- export class DatatableColumnFilterSearchNumericComponent {
12
- constructor() {
13
- this.searchTypes = [
14
- { label: 'Less than (<)', value: 'lt' },
15
- { label: 'Less than or equal to (<=)', value: 'lte' },
16
- { label: 'Equal to (=)', value: 'eq' },
17
- { label: 'Greater than (>)', value: 'gt' },
18
- { label: 'Greater than or equal to (>=)', value: 'gte' },
19
- { label: 'Between', value: 'between' },
20
- { label: 'Not between', value: 'not-between' },
21
- { label: 'Blank', value: 'blank' },
22
- { label: 'Not blank', value: 'not-blank' },
23
- ];
24
- }
25
- ngOnInit() {
26
- this.showSearchInput$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith(this.filterForm?.controls.searchType.value), map(searchType => THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(searchType || '')));
27
- this.showRangeInputs$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith(this.filterForm?.controls.searchType.value), map(searchType => THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(searchType || '')));
28
- }
29
- }
30
- DatatableColumnFilterSearchNumericComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchNumericComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- DatatableColumnFilterSearchNumericComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnFilterSearchNumericComponent, selector: "seam-datatable-column-filter-search-numeric", inputs: { 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 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 formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput 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: [
32
- {
33
- provide: ControlContainer,
34
- useExisting: FormGroupDirective
35
- }
36
- ] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchNumericComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'seam-datatable-column-filter-search-numeric', viewProviders: [
40
- {
41
- provide: ControlContainer,
42
- useExisting: FormGroupDirective
43
- }
44
- ], 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 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 formControlName=\"fromText\" placeholder=\"Range Start\" seamAutoFocus>\n </seam-form-field>\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"toText\" placeholder=\"Range End\">\n </seam-form-field>\n </ng-container>\n</ng-container>\n" }]
45
- }], propDecorators: { filterForm: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtbnVtZXJpYy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtbnVtZXJpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3hELE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JFLE9BQU8sRUFBd0Ysc0RBQXNELEVBQUUscURBQXFELEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTs7Ozs7OztBQWEzUCxNQUFNLE9BQU8sMkNBQTJDO0lBWHhEO1FBYUUsZ0JBQVcsR0FBMEU7WUFDbkYsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDdkMsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUNyRCxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUN0QyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzFDLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDeEQsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDdEMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7WUFDOUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDbEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7U0FDM0MsQ0FBQTtLQW1CRjtJQVhDLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzVFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3JELEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLHFEQUFxRCxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDcEcsQ0FBQTtRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDNUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFDckQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsc0RBQXNELENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNyRyxDQUFBO0lBQ0gsQ0FBQzs7d0lBOUJVLDJDQUEyQzs0SEFBM0MsMkNBQTJDLHlIQ2hCeEQsNGdDQTBCQSx5M0VEakJpQjtRQUNiO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDO0tBQ0Y7MkZBRVUsMkNBQTJDO2tCQVh2RCxTQUFTOytCQUNFLDZDQUE2QyxpQkFHeEM7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsV0FBVyxFQUFFLGtCQUFrQjt5QkFDaEM7cUJBQ0Y7OEJBZ0JRLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1JBTkdFX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfVEVYVF9TRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvbW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1udW1lcmljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaE51bWVyaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHNlYXJjaFR5cGVzOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoVHlwZSB9W10gPSBbXG4gICAgeyBsYWJlbDogJ0xlc3MgdGhhbiAoPCknLCB2YWx1ZTogJ2x0JyB9LFxuICAgIHsgbGFiZWw6ICdMZXNzIHRoYW4gb3IgZXF1YWwgdG8gKDw9KScsIHZhbHVlOiAnbHRlJyB9LFxuICAgIHsgbGFiZWw6ICdFcXVhbCB0byAoPSknLCB2YWx1ZTogJ2VxJyB9LFxuICAgIHsgbGFiZWw6ICdHcmVhdGVyIHRoYW4gKD4pJywgdmFsdWU6ICdndCcgfSxcbiAgICB7IGxhYmVsOiAnR3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICg+PSknLCB2YWx1ZTogJ2d0ZScgfSxcbiAgICB7IGxhYmVsOiAnQmV0d2VlbicsIHZhbHVlOiAnYmV0d2VlbicgfSxcbiAgICB7IGxhYmVsOiAnTm90IGJldHdlZW4nLCB2YWx1ZTogJ25vdC1iZXR3ZWVuJyB9LFxuICAgIHsgbGFiZWw6ICdCbGFuaycsIHZhbHVlOiAnYmxhbmsnIH0sXG4gICAgeyBsYWJlbDogJ05vdCBibGFuaycsIHZhbHVlOiAnbm90LWJsYW5rJyB9LFxuICBdXG5cbiAgQElucHV0KCkgZmlsdGVyRm9ybTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm0gfCB1bmRlZmluZWRcblxuICBwdWJsaWMgc2hvd1NlYXJjaElucHV0JDogT2JzZXJ2YWJsZTxib29sZWFuPiB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBzaG93UmFuZ2VJbnB1dHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U2VhcmNoSW5wdXQkID0gdGhpcy5maWx0ZXJGb3JtPy5jb250cm9scy5zZWFyY2hUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZmlsdGVyRm9ybT8uY29udHJvbHMuc2VhcmNoVHlwZS52YWx1ZSksXG4gICAgICBtYXAoc2VhcmNoVHlwZSA9PiBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19URVhUX1NFQVJDSF9UWVBFUy5pbmNsdWRlcyhzZWFyY2hUeXBlIHx8ICcnKSlcbiAgICApXG5cbiAgICB0aGlzLnNob3dSYW5nZUlucHV0cyQgPSB0aGlzLmZpbHRlckZvcm0/LmNvbnRyb2xzLnNlYXJjaFR5cGUudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5maWx0ZXJGb3JtPy5jb250cm9scy5zZWFyY2hUeXBlLnZhbHVlKSxcbiAgICAgIG1hcChzZWFyY2hUeXBlID0+IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1JBTkdFX1NFQVJDSF9UWVBFUy5pbmNsdWRlcyhzZWFyY2hUeXBlIHx8ICcnKSlcbiAgICApXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJGb3JtXCI+XG4gIDxzZWFtLWZvcm0tZmllbGQgW251bVBhZGRpbmdFcnJvcnNdPVwiMFwiIGNsYXNzPVwibWItMlwiPlxuICAgIDxuZy1zZWxlY3RcbiAgICAgIHNlYW1JbnB1dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoVHlwZVwiXG4gICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHNlYXJjaCB0eXBlXCJcbiAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgIFtpdGVtc109XCJzZWFyY2hUeXBlc1wiPjwvbmctc2VsZWN0PlxuICA8L3NlYW0tZm9ybS1maWVsZD5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1NlYXJjaElucHV0JCB8IGFzeW5jXCI+XG4gICAgPHNlYW0tZm9ybS1maWVsZCBbbnVtUGFkZGluZ0Vycm9yc109XCIwXCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgICA8aW5wdXQgc2VhbUlucHV0IGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFRleHRcIiBwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCIgc2VhbUF1dG9Gb2N1cz5cbiAgICA8L3NlYW0tZm9ybS1maWVsZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dSYW5nZUlucHV0cyQgfCBhc3luY1wiPlxuICAgIDxzZWFtLWZvcm0tZmllbGQgW251bVBhZGRpbmdFcnJvcnNdPVwiMFwiIGNsYXNzPVwibWItMlwiPlxuICAgICAgPGlucHV0IHNlYW1JbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmcm9tVGV4dFwiIHBsYWNlaG9sZGVyPVwiUmFuZ2UgU3RhcnRcIiBzZWFtQXV0b0ZvY3VzPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkPlxuICAgIDxzZWFtLWZvcm0tZmllbGQgW251bVBhZGRpbmdFcnJvcnNdPVwiMFwiIGNsYXNzPVwibWItMlwiPlxuICAgICAgPGlucHV0IHNlYW1JbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0b1RleHRcIiBwbGFjZWhvbGRlcj1cIlJhbmdlIEVuZFwiPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,44 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { map, startWith } from 'rxjs';
3
- import { ControlContainer, FormGroupDirective } from '@angular/forms';
4
- import { THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES } from '../models/columns-data-filters/models';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@theseam/ui-common/shared";
8
- import * as i3 from "@theseam/ui-common/form-field";
9
- import * as i4 from "@angular/forms";
10
- import * as i5 from "@ng-select/ng-select";
11
- export class DatatableColumnFilterSearchTextComponent {
12
- constructor() {
13
- this.searchTypes = [
14
- { label: 'Contains', value: 'contains' },
15
- { label: 'Does not contain', value: 'ncontains' },
16
- { label: 'Matches exactly', value: 'eq' },
17
- { label: 'Does not match exactly', value: 'neq' },
18
- { label: 'Is blank', value: 'blank' },
19
- { label: 'Is not blank', value: 'not-blank' },
20
- ];
21
- }
22
- ngOnInit() {
23
- this.showTextbox$ = this.filterForm?.controls.searchType.valueChanges.pipe(startWith(this.filterForm?.controls.searchType.value), map(value => THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES.includes(value || '')));
24
- }
25
- }
26
- DatatableColumnFilterSearchTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- DatatableColumnFilterSearchTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnFilterSearchTextComponent, selector: "seam-datatable-column-filter-search-text", inputs: { filterForm: "filterForm" }, ngImport: i0, template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n seamAutoFocus\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n <ng-container *ngIf=\"showTextbox$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n <!-- TODO: implement this? Does not work with current Seam GraphQL/SQL Server implementation. -->\n <!-- <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <seam-checkbox seamInput formControlName=\"caseSensitive\">Case Sensitive</seam-checkbox>\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: [
28
- {
29
- provide: ControlContainer,
30
- useExisting: FormGroupDirective
31
- }
32
- ] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterSearchTextComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'seam-datatable-column-filter-search-text', viewProviders: [
36
- {
37
- provide: ControlContainer,
38
- useExisting: FormGroupDirective
39
- }
40
- ], template: "<ng-container *ngIf=\"filterForm\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <ng-select\n seamInput\n seamAutoFocus\n formControlName=\"searchType\"\n [clearable]=\"false\"\n placeholder=\"Select search type\"\n bindValue=\"value\"\n [items]=\"searchTypes\"></ng-select>\n </seam-form-field>\n <ng-container *ngIf=\"showTextbox$ | async\">\n <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <input seamInput formControlName=\"searchText\" placeholder=\"Type to search\" seamAutoFocus>\n </seam-form-field>\n <!-- TODO: implement this? Does not work with current Seam GraphQL/SQL Server implementation. -->\n <!-- <seam-form-field [numPaddingErrors]=\"0\" class=\"mb-2\">\n <seam-checkbox seamInput formControlName=\"caseSensitive\">Case Sensitive</seam-checkbox>\n </seam-form-field> -->\n </ng-container>\n</ng-container>\n" }]
41
- }], propDecorators: { filterForm: [{
42
- type: Input
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0L2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3hELE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JFLE9BQU8sRUFBa0Ysa0RBQWtELEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTs7Ozs7OztBQWExTCxNQUFNLE9BQU8sd0NBQXdDO0lBWHJEO1FBYUUsZ0JBQVcsR0FBdUU7WUFDaEYsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDeEMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUNqRCxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3pDLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDakQsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDckMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7U0FDOUMsQ0FBQTtLQVlGO0lBTkMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3hFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3JELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGtEQUFrRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDdkYsQ0FBQTtJQUNILENBQUM7O3FJQXBCVSx3Q0FBd0M7eUhBQXhDLHdDQUF3QyxzSENoQnJELDY1QkFxQkEseTNFRFppQjtRQUNiO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUUsa0JBQWtCO1NBQ2hDO0tBQ0Y7MkZBRVUsd0NBQXdDO2tCQVhwRCxTQUFTOytCQUNFLDBDQUEwQyxpQkFHckM7d0JBQ2I7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsV0FBVyxFQUFFLGtCQUFrQjt5QkFDaEM7cUJBQ0Y7OEJBYVEsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfVEVYVF9TRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvbW9kZWxzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLXRleHQuY29tcG9uZW50LnNjc3MnXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUNvbHVtbkZpbHRlclNlYXJjaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHNlYXJjaFR5cGVzOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoVHlwZSB9W10gPSBbXG4gICAgeyBsYWJlbDogJ0NvbnRhaW5zJywgdmFsdWU6ICdjb250YWlucycgfSxcbiAgICB7IGxhYmVsOiAnRG9lcyBub3QgY29udGFpbicsIHZhbHVlOiAnbmNvbnRhaW5zJyB9LFxuICAgIHsgbGFiZWw6ICdNYXRjaGVzIGV4YWN0bHknLCB2YWx1ZTogJ2VxJyB9LFxuICAgIHsgbGFiZWw6ICdEb2VzIG5vdCBtYXRjaCBleGFjdGx5JywgdmFsdWU6ICduZXEnIH0sXG4gICAgeyBsYWJlbDogJ0lzIGJsYW5rJywgdmFsdWU6ICdibGFuaycgfSxcbiAgICB7IGxhYmVsOiAnSXMgbm90IGJsYW5rJywgdmFsdWU6ICdub3QtYmxhbmsnIH0sXG4gIF1cblxuICBASW5wdXQoKSBmaWx0ZXJGb3JtOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoRm9ybSB8IHVuZGVmaW5lZFxuXG4gIHB1YmxpYyBzaG93VGV4dGJveCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCB1bmRlZmluZWRcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dUZXh0Ym94JCA9IHRoaXMuZmlsdGVyRm9ybT8uY29udHJvbHMuc2VhcmNoVHlwZS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmZpbHRlckZvcm0/LmNvbnRyb2xzLnNlYXJjaFR5cGUudmFsdWUpLFxuICAgICAgbWFwKHZhbHVlID0+IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKHZhbHVlIHx8ICcnKSlcbiAgICApXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJGb3JtXCI+XG4gIDxzZWFtLWZvcm0tZmllbGQgW251bVBhZGRpbmdFcnJvcnNdPVwiMFwiIGNsYXNzPVwibWItMlwiPlxuICAgIDxuZy1zZWxlY3RcbiAgICAgIHNlYW1JbnB1dFxuICAgICAgc2VhbUF1dG9Gb2N1c1xuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoVHlwZVwiXG4gICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IHNlYXJjaCB0eXBlXCJcbiAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgIFtpdGVtc109XCJzZWFyY2hUeXBlc1wiPjwvbmctc2VsZWN0PlxuICA8L3NlYW0tZm9ybS1maWVsZD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dUZXh0Ym94JCB8IGFzeW5jXCI+XG4gICAgPHNlYW0tZm9ybS1maWVsZCBbbnVtUGFkZGluZ0Vycm9yc109XCIwXCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgICA8aW5wdXQgc2VhbUlucHV0IGZvcm1Db250cm9sTmFtZT1cInNlYXJjaFRleHRcIiBwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCIgc2VhbUF1dG9Gb2N1cz5cbiAgICA8L3NlYW0tZm9ybS1maWVsZD5cbiAgICA8IS0tIFRPRE86IGltcGxlbWVudCB0aGlzPyBEb2VzIG5vdCB3b3JrIHdpdGggY3VycmVudCBTZWFtIEdyYXBoUUwvU1FMIFNlcnZlciBpbXBsZW1lbnRhdGlvbi4gLS0+XG4gICAgPCEtLSA8c2VhbS1mb3JtLWZpZWxkIFtudW1QYWRkaW5nRXJyb3JzXT1cIjBcIiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgIDxzZWFtLWNoZWNrYm94IHNlYW1JbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjYXNlU2Vuc2l0aXZlXCI+Q2FzZSBTZW5zaXRpdmU8L3NlYW0tY2hlY2tib3g+XG4gICAgPC9zZWFtLWZvcm0tZmllbGQ+IC0tPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,16 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DatatableColumnFilterTplDirective {
4
- constructor(template) {
5
- this.template = template;
6
- }
7
- }
8
- DatatableColumnFilterTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- DatatableColumnFilterTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: DatatableColumnFilterTplDirective, selector: "[seamDatatableColumnFilterTpl]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableColumnFilterTplDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[seamDatatableColumnFilterTpl]'
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItdHBsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci10cGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTyxpQ0FBaUM7SUFFNUMsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDOzs4SEFGdEMsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlclRwbF0nXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUNvbHVtbkZpbHRlclRwbERpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxuXG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';
2
- import { DatatableColumnFilterTplDirective } from './datatable-column-filter-tpl.directive';
3
- import * as i0 from "@angular/core";
4
- export class TheSeamDatatableColumnFilterDirective {
5
- get template() {
6
- return this._templateInput || this._templateQuery;
7
- }
8
- }
9
- TheSeamDatatableColumnFilterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableColumnFilterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
- TheSeamDatatableColumnFilterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamDatatableColumnFilterDirective, selector: "seam-datatable-column-filter", inputs: { filterName: "filterName", _templateInput: ["template", "_templateInput"] }, queries: [{ propertyName: "_templateQuery", first: true, predicate: DatatableColumnFilterTplDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableColumnFilterDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- // eslint-disable-next-line @angular-eslint/directive-selector
15
- selector: 'seam-datatable-column-filter'
16
- }]
17
- }], propDecorators: { filterName: [{
18
- type: Input
19
- }], _templateInput: [{
20
- type: Input,
21
- args: ['template']
22
- }], _templateQuery: [{
23
- type: ContentChild,
24
- args: [DatatableColumnFilterTplDirective, { read: TemplateRef, static: true }]
25
- }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzNFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFBOztBQU0zRixNQUFNLE9BQU8scUNBQXFDO0lBV2hELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQ25ELENBQUM7O2tJQWJVLHFDQUFxQztzSEFBckMscUNBQXFDLHNNQVFsQyxpQ0FBaUMsMkJBQVUsV0FBVzsyRkFSekQscUNBQXFDO2tCQUpqRCxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDhCQUE4QjtpQkFDekM7OEJBR1UsVUFBVTtzQkFBbEIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7dUJBQUMsVUFBVTtnQkFJakIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBEYXRhdGFibGVDb2x1bW5GaWx0ZXJUcGxEaXJlY3RpdmUgfSBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXRwbC5kaXJlY3RpdmUnXG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXInXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJEaXJlY3RpdmUge1xuXG4gIEBJbnB1dCgpIGZpbHRlck5hbWUgOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCd0ZW1wbGF0ZScpXG4gIF90ZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBDb250ZW50Q2hpbGQoRGF0YXRhYmxlQ29sdW1uRmlsdGVyVHBsRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgX3RlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVJbnB1dCB8fCB0aGlzLl90ZW1wbGF0ZVF1ZXJ5XG4gIH1cblxufVxuIl19
@@ -1,5 +0,0 @@
1
- const ActionItemColumnPosition = ['frozenLeft', 'frozenRight', 'staticLeft', 'staticRight'];
2
- export function isActionItemColumnPosition(input) {
3
- return ActionItemColumnPosition.indexOf(input) != -1;
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWl0ZW0tY29sdW1uLXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvYWN0aW9uLWl0ZW0tY29sdW1uLXBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQVUsQ0FBQTtBQWFwRyxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBYztJQUN2RCxPQUFPLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxLQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiA9IFsnZnJvemVuTGVmdCcsICdmcm96ZW5SaWdodCcsICdzdGF0aWNMZWZ0JywgJ3N0YXRpY1JpZ2h0J10gYXMgY29uc3RcblxuLyoqXG4gKiBJZiBgZnJvemVuTGVmdGAsIGFjdGlvbiBpdGVtIGNvbHVtbiB3aWxsIGJlIGZpeGVkIHRvIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHRhYmxlLlxuICpcbiAqIElmIGBmcm96ZW5SaWdodGAsIGFjdGlvbiBpdGVtIGNvbHVtbiB3aWxsIGJlIGZpeGVkIHRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSB0YWJsZS5cbiAqXG4gKiBJZiBgc3RhdGljTGVmdGAsIGFjdGlvbiBpdGVtIGNvbHVtbiB3aWxsIGJlIHRoZSBmaXJzdCBzdGF0aWMgY29sdW1uIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHRhYmxlLlxuICpcbiAqIElmIGBzdGF0aWNSaWdodGAsIGFjdGlvbiBpdGVtIGNvbHVtbiB3aWxsIGJlIHRoZSBsYXN0IHN0YXRpYyBjb2x1bW4gb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHRhYmxlLlxuICovXG5leHBvcnQgdHlwZSBBY3Rpb25JdGVtQ29sdW1uUG9zaXRpb24gPSB0eXBlb2YgQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uW251bWJlcl07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbihpbnB1dDogdW5rbm93bik6IGlucHV0IGlzIEFjdGlvbkl0ZW1Db2x1bW5Qb3NpdGlvbiB7XG4gIHJldHVybiBBY3Rpb25JdGVtQ29sdW1uUG9zaXRpb24uaW5kZXhPZihpbnB1dCBhcyBBY3Rpb25JdGVtQ29sdW1uUG9zaXRpb24pICE9IC0xO1xufVxuIl19
@@ -1,10 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export class ColumnsDataFilter {
3
- constructor(prop, initialValue, column) {
4
- this.prop = prop;
5
- this.initialValue = initialValue;
6
- this.column = column;
7
- }
8
- }
9
- export const THESEAM_COLUMNS_DATA_FILTER = new InjectionToken('ColumnsDataFilter');
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWE5QyxNQUFNLE9BQWdCLGlCQUFpQjtJQXFCckMsWUFDa0IsSUFBWSxFQUNaLFlBQXNCLEVBQ3RCLE1BQWlEO1FBRmpELFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUEyQztJQUNoRSxDQUFDO0NBNEJMO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQThCLG1CQUFtQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhRmlsdGVyLCBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbiwgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlcmFibGVDb25maWcgfSBmcm9tICcuL3RhYmxlLWNvbHVtbidcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZVN0YXRlPFQgPSBhbnksIE8gPSBhbnk+IHtcbiAgcHJvcD86IHN0cmluZ1xuICBmb3JtVmFsdWU/OiBQYXJ0aWFsPFQ+XG4gIG9wdGlvbnM/OiBPXG4gIFtrZXk6IHN0cmluZ106IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbnNEYXRhRmlsdGVyU3RhdGU8VCA9IGFueSwgTyA9IGFueT4gZXh0ZW5kcyBEYXRhRmlsdGVyU3RhdGUge1xuICBzdGF0ZTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZVN0YXRlPFQsIE8+XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2x1bW5zRGF0YUZpbHRlcjxUSW5pdGlhbCA9IGFueSwgVEZvcm0gPSBGb3JtR3JvdXAsIFRPcHRpb25zID0gYW55LCBUQ29uZmlnIGV4dGVuZHMgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlcmFibGVDb25maWcgPSBhbnk+IGltcGxlbWVudHMgRGF0YUZpbHRlciB7XG4gIC8qKlxuICAgKiBOYW1lIHVzZWQgd2hlbiByZWZlcmVuY2luZyBmaWx0ZXIgYnkgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgdmFsdWUgdG8gcHJldmVudCBhIGZpbHRlciBiZWluZyB1c2VkIG1vcmUgdGhhbiBvbmNlIGlmIGl0IGVuZHMgdXBcbiAgICogYmVpbmcgcmVnaXN0ZXJlZCBtb3JlIHRoYW4gb25jZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1aWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBmb3JtOiBURm9ybVxuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIGZvciBjaGFuZ2VzIGluIHRoZSBmaWx0ZXIgdmFsdWUgYW5kIGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBmaWx0ZXIuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmlsdGVyU3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPERhdGFGaWx0ZXJTdGF0ZT5cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgb3B0aW9uczogVE9wdGlvbnNcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBpbml0aWFsVmFsdWU6IFRJbml0aWFsLFxuICAgIHB1YmxpYyByZWFkb25seSBjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVDb2x1bW48YW55LCBhbnksIFRDb25maWc+XG4gICkge31cblxuICAvKipcbiAgICogVGFrZXMgcm93cywgZmlsdGVyIGZvcm0gdmFsdWUsIGFuZCBhbiBvcHRpb25hbCBjb25maWcgb2JqZWN0LCBhbmQgcmV0dXJucyBmaWx0ZXJlZCByb3dzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGRhdGFGaWx0ZXIoZGF0YTogYW55W10sIGZpbHRlclZhbHVlOiBUSW5pdGlhbCwgb3B0aW9uczogYW55KTogYW55W11cblxuICAvKipcbiAgICogTGlzdGVucyBmb3IgY2hhbmdlcyBpbiB0aGUgZmlsdGVyIHZhbHVlIGFuZCBmaWx0ZXJzIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zIHNldC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBmaWx0ZXI8VD4oZGF0YTogVFtdKTogT2JzZXJ2YWJsZTxUW10+XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGZpbHRlci5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBmaWx0ZXJTdGF0ZSgpOiBDb2x1bW5zRGF0YUZpbHRlclN0YXRlPFRJbml0aWFsLCBUT3B0aW9ucz5cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZm9ybSB2YWx1ZSBiYWNrIHRvIHRoZSBkZWZhdWx0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFwcGx5RmlsdGVyKCk6IHZvaWRcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZm9ybSB2YWx1ZSBiYWNrIHRvIHRoZSBkZWZhdWx0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsZWFyRmlsdGVyKCk6IHZvaWRcblxuICBwdWJsaWMgYWJzdHJhY3QgaXNEZWZhdWx0KCk6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb2x1bW5zRGF0YUZpbHRlcjxhbnksIGFueT4+KCdDb2x1bW5zRGF0YUZpbHRlcicpXG4iXX0=
@@ -1,74 +0,0 @@
1
- export const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME = 'search-date';
2
- export const THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_TYPES = [
3
- 'lt',
4
- 'lte',
5
- 'gt',
6
- 'gte',
7
- 'eq',
8
- 'blank',
9
- 'not-blank',
10
- 'between',
11
- 'not-between'
12
- ];
13
- export const THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES = [
14
- 'lt',
15
- 'lte',
16
- 'gt',
17
- 'gte',
18
- 'eq',
19
- ];
20
- export const THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES = [
21
- 'between',
22
- 'not-between'
23
- ];
24
- export const THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES = [
25
- 'blank',
26
- 'not-blank',
27
- ];
28
- export const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME = 'search-numeric';
29
- export const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_TYPES = [
30
- 'gt',
31
- 'lt',
32
- 'eq',
33
- 'gte',
34
- 'lte',
35
- 'blank',
36
- 'not-blank',
37
- 'between',
38
- 'not-between'
39
- ];
40
- export const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES = [
41
- 'gt',
42
- 'lt',
43
- 'eq',
44
- 'gte',
45
- 'lte',
46
- ];
47
- export const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES = [
48
- 'between',
49
- 'not-between'
50
- ];
51
- export const THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES = [
52
- 'blank',
53
- 'not-blank',
54
- ];
55
- export const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME = 'search-text';
56
- export const THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_TYPES = [
57
- 'contains',
58
- 'ncontains',
59
- 'eq',
60
- 'neq',
61
- 'blank',
62
- 'not-blank'
63
- ];
64
- export const THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES = [
65
- 'contains',
66
- 'ncontains',
67
- 'eq',
68
- 'neq',
69
- ];
70
- export const THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES = [
71
- 'blank',
72
- 'not-blank'
73
- ];
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUFHLGFBQXNCLENBQUE7QUFFbEYsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQUc7SUFDM0QsSUFBSTtJQUNKLEtBQUs7SUFDTCxJQUFJO0lBQ0osS0FBSztJQUNMLElBQUk7SUFDSixPQUFPO0lBQ1AsV0FBVztJQUNYLFNBQVM7SUFDVCxhQUFhO0NBQ0wsQ0FBQTtBQUVWLE1BQU0sQ0FBQyxNQUFNLGtEQUFrRCxHQUFHO0lBQ2hFLElBQUk7SUFDSixLQUFLO0lBQ0wsSUFBSTtJQUNKLEtBQUs7SUFDTCxJQUFJO0NBQ0wsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG1EQUFtRCxHQUFHO0lBQ2pFLFNBQVM7SUFDVCxhQUFhO0NBQ2QsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9EQUFvRCxHQUFHO0lBQ2xFLE9BQU87SUFDUCxXQUFXO0NBQ1osQ0FBQTtBQW9DRCxNQUFNLENBQUMsTUFBTSwrQ0FBK0MsR0FBRyxnQkFBeUIsQ0FBQTtBQUV4RixNQUFNLENBQUMsTUFBTSxnREFBZ0QsR0FBRztJQUM5RCxJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLE9BQU87SUFDUCxXQUFXO0lBQ1gsU0FBUztJQUNULGFBQWE7Q0FDTCxDQUFBO0FBRVYsTUFBTSxDQUFDLE1BQU0scURBQXFELEdBQUc7SUFDbkUsSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osS0FBSztJQUNMLEtBQUs7Q0FDTixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0RBQXNELEdBQUc7SUFDcEUsU0FBUztJQUNULGFBQWE7Q0FDZCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdURBQXVELEdBQUc7SUFDckUsT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFBO0FBa0JELE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUFHLGFBQXNCLENBQUE7QUFFbEYsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQUc7SUFDM0QsVUFBVTtJQUNWLFdBQVc7SUFDWCxJQUFJO0lBQ0osS0FBSztJQUNMLE9BQU87SUFDUCxXQUFXO0NBQ0gsQ0FBQTtBQUVWLE1BQU0sQ0FBQyxNQUFNLGtEQUFrRCxHQUFHO0lBQ2hFLFVBQVU7SUFDVixXQUFXO0lBQ1gsSUFBSTtJQUNKLEtBQUs7Q0FDTixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0RBQW9ELEdBQUc7SUFDbEUsT0FBTztJQUNQLFdBQVc7Q0FDWixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyYWJsZUNvbmZpZyB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW5cIlxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfU0VBUkNIX05BTUUgPSAnc2VhcmNoLWRhdGUnIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfVFlQRVMgPSBbXG4gICdsdCcsXG4gICdsdGUnLFxuICAnZ3QnLFxuICAnZ3RlJyxcbiAgJ2VxJyxcbiAgJ2JsYW5rJyxcbiAgJ25vdC1ibGFuaycsXG4gICdiZXR3ZWVuJyxcbiAgJ25vdC1iZXR3ZWVuJ1xuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMgPSBbXG4gICdsdCcsXG4gICdsdGUnLFxuICAnZ3QnLFxuICAnZ3RlJyxcbiAgJ2VxJyxcbl1cblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUyA9IFtcbiAgJ2JldHdlZW4nLFxuICAnbm90LWJldHdlZW4nXG5dXG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUxFQ1RfU0VBUkNIX1RZUEVTID0gW1xuICAnYmxhbmsnLFxuICAnbm90LWJsYW5rJyxcbl1cblxuZXhwb3J0IHR5cGUgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUgPSB0eXBlb2YgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfU0VBUkNIX1RZUEVTW251bWJlcl1cblxuZXhwb3J0IHR5cGUgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0gPSBGb3JtR3JvdXA8e1xuICBzZWFyY2hUeXBlOiBGb3JtQ29udHJvbDxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSB8IG51bGw+XG4gIHNlYXJjaFRleHQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+XG4gIGZyb21UZXh0OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPlxuICB0b1RleHQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+XG59PlxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hGb3JtU3RhdGUge1xuICBzZWFyY2hUeXBlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSB8IG51bGxcbiAgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbFxuICBmcm9tVGV4dDogc3RyaW5nIHwgbnVsbFxuICB0b1RleHQ6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaERhdGVUeXBlID0gJ2RhdGUnIHwgJ2RhdGV0aW1lLWxvY2FsJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVEYXRlQ29sdW1uRmlsdGVyYWJsZUNvbmZpZyBleHRlbmRzIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCB0eXBlIHRvIHVzZSBmb3IgdGhlIGRhdGUgZmlsdGVyIGZvcm0uXG4gICAqL1xuICBkYXRlVHlwZT86IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hEYXRlVHlwZVxuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byB0cnVlLCBhc3N1bWVzIHByb3ZpZGVkIGRhdGUgaXMgaW4gbG9jYWwgdGltZS5cbiAgICovXG4gIHVzZUxvY2FsVGltZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9ucyB7XG4gIGRhdGVUeXBlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRGF0ZVR5cGVcbn1cblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1NFQVJDSF9OQU1FID0gJ3NlYXJjaC1udW1lcmljJyBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX1RZUEVTID0gW1xuICAnZ3QnLFxuICAnbHQnLFxuICAnZXEnLFxuICAnZ3RlJyxcbiAgJ2x0ZScsXG4gICdibGFuaycsXG4gICdub3QtYmxhbmsnLFxuICAnYmV0d2VlbicsXG4gICdub3QtYmV0d2Vlbidcbl0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1RFWFRfU0VBUkNIX1RZUEVTID0gW1xuICAnZ3QnLFxuICAnbHQnLFxuICAnZXEnLFxuICAnZ3RlJyxcbiAgJ2x0ZScsXG5dXG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19SQU5HRV9TRUFSQ0hfVFlQRVMgPSBbXG4gICdiZXR3ZWVuJyxcbiAgJ25vdC1iZXR3ZWVuJ1xuXVxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VMRUNUX1NFQVJDSF9UWVBFUyA9IFtcbiAgJ2JsYW5rJyxcbiAgJ25vdC1ibGFuaycsXG5dXG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hUeXBlID0gdHlwZW9mIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1NFQVJDSF9UWVBFU1tudW1iZXJdXG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hGb3JtID0gRm9ybUdyb3VwPHtcbiAgc2VhcmNoVHlwZTogRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUgfCBudWxsPlxuICBzZWFyY2hUZXh0OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPlxuICBmcm9tVGV4dDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD5cbiAgdG9UZXh0OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPlxufT5cblxuZXhwb3J0IHR5cGUgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm1TdGF0ZSA9IHtcbiAgc2VhcmNoVHlwZTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUgfCBudWxsXG4gIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGxcbiAgZnJvbVRleHQ6IHN0cmluZyB8IG51bGxcbiAgdG9UZXh0OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfVEVYVF9TRUFSQ0hfTkFNRSA9ICdzZWFyY2gtdGV4dCcgYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9UWVBFUyA9IFtcbiAgJ2NvbnRhaW5zJyxcbiAgJ25jb250YWlucycsXG4gICdlcScsXG4gICduZXEnLFxuICAnYmxhbmsnLFxuICAnbm90LWJsYW5rJ1xuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfVEVYVF9TRUFSQ0hfVFlQRVMgPSBbXG4gICdjb250YWlucycsXG4gICduY29udGFpbnMnLFxuICAnZXEnLFxuICAnbmVxJyxcbl1cblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFTEVDVF9TRUFSQ0hfVFlQRVMgPSBbXG4gICdibGFuaycsXG4gICdub3QtYmxhbmsnXG5dXG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hUeXBlID0gdHlwZW9mIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9UWVBFU1tudW1iZXJdXG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtID0gRm9ybUdyb3VwPHtcbiAgc2VhcmNoVHlwZTogRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaFR5cGUgfCBudWxsPlxuICBzZWFyY2hUZXh0OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPlxuICAvLyBjYXNlU2Vuc2l0aXZlOiBGb3JtQ29udHJvbDxib29sZWFuIHwgbnVsbD5cbn0+XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtU3RhdGUgPSB7XG4gIHNlYXJjaFR5cGU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hUeXBlIHwgbnVsbFxuICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsXG4gIC8vIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4gfCBudWxsXG59XG4iXX0=
@@ -1,113 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC1kYXRlLmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBOEssNENBQTRDLEVBQTBDLGtEQUFrRCxFQUFFLG1EQUFtRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNiLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsaUJBQTZMO0lBYTVPLFlBQ0UsSUFBWSxFQUNaLFlBQXlELEVBQ3pELE1BQW9GO1FBRXBGLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBakJuQixTQUFJLEdBQUcsNENBQTRDLENBQUE7UUFVM0QsdUJBQWtCLEdBQUcsSUFBSSxPQUFhLENBQUE7UUFTNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQWdELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDN0ksVUFBVSxFQUFFLElBQUksV0FBVyxDQUFnQixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzdHLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBZ0Isa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN6RyxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQWdCLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEcsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUE7UUFFbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUM5QixDQUFBO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFRLElBQUksTUFBTTtTQUN4RCxDQUFBO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFXLEVBQUUsV0FBaUUsRUFBRSxPQUFZO1FBQzVHLElBQUksaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFBO0lBQ3RKLENBQUM7SUFFTyxjQUFjLENBQUMsVUFBcUM7UUFDMUQsT0FBTyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRU8sb0JBQW9CLENBQUMsVUFBcUMsRUFBRSxRQUFtQyxFQUFFLE1BQWlDLEVBQUUsVUFBa0Q7UUFDNUwsSUFBSSxrREFBa0QsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM5RyxPQUFPLElBQUksQ0FBQTtTQUNaO2FBQ0ksSUFBSSxtREFBbUQsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtZQUNuSixPQUFPLElBQUksQ0FBQTtTQUNaO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWSxFQUFFLElBQVcsRUFBRSxJQUErQixFQUFFLFFBQW1DLEVBQUUsTUFBaUMsRUFBRSxVQUF5RDtRQUN6TixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtZQUNwRCxPQUFPLElBQUksQ0FBQTtTQUNaO1FBRUQsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDakUsT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFBO1lBQ3pELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxZQUFZLEtBQUssSUFBSSxDQUFBO1FBRXJFLE1BQU0sUUFBUSxHQUFHLDZCQUE2QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNqRixNQUFNLFlBQVksR0FBRyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDekYsTUFBTSxVQUFVLEdBQUcsNkJBQTZCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRXJGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFFN0YsSUFDRSxDQUFDLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEcsQ0FBQyxVQUFVLEtBQUssV0FBVyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUcsQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hFLENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsQ0FBQyxVQUFVLEtBQUssS0FBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xFLENBQUMsVUFBVSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsRSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4SCxDQUFDLFVBQVUsS0FBSyxhQUFhLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQy9IO2dCQUNBLE9BQU8sSUFBSSxDQUFBO2FBQ1o7WUFFRCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDakMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDN0QsQ0FBQTtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QjtTQUNGLENBQUE7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRWpDLElBQUksd0JBQXdCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxJQUFJLG9EQUFvRCxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdkYsT0FBTyxLQUFLLENBQUE7U0FDYjthQUNJLElBQUksa0RBQWtELENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0ksT0FBTyxLQUFLLENBQUE7U0FDYjthQUNJLElBQUksbURBQW1ELENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUkseUJBQXlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNMLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbnNEYXRhRmlsdGVyLCBDb2x1bW5zRGF0YUZpbHRlclN0YXRlIH0gZnJvbSBcIi4uL2NvbHVtbnMtZGF0YS1maWx0ZXJcIjtcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVyc1wiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSwgbm90TnVsbE9yVW5kZWZpbmVkLCBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5IH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWcsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1NFQVJDSF9OQU1FLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfU0VMRUNUX1NFQVJDSF9UWVBFUyB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIGV4dGVuZHMgQ29sdW1uc0RhdGFGaWx0ZXI8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWc+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWUgPSBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfTkFNRVxuXG4gIHB1YmxpYyByZWFkb25seSB1aWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBmb3JtOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVxuXG4gIHB1YmxpYyBmaWx0ZXJTdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8RGF0YUZpbHRlclN0YXRlPlxuXG4gIHB1YmxpYyBvcHRpb25zOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9uc1xuXG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlclZhbHVlID0gbmV3IFN1YmplY3Q8dm9pZD5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wOiBzdHJpbmcsXG4gICAgaW5pdGlhbFZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLFxuICAgIGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbjxhbnksIGFueSwgVGhlU2VhbURhdGF0YWJsZURhdGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnPlxuICApIHtcbiAgICBzdXBlcihwcm9wLCBpbml0aWFsVmFsdWUsIGNvbHVtbilcblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgc2VhcmNoVHlwZTogbmV3IEZvcm1Db250cm9sPFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hUeXBlIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVHlwZSA6ICdlcScpLFxuICAgICAgc2VhcmNoVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnNlYXJjaFRleHQgOiBudWxsKSxcbiAgICAgIGZyb21UZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuZnJvbVRleHQgOiBudWxsKSxcbiAgICAgIHRvVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnRvVGV4dCA6IG51bGwpLFxuICAgIH0pXG5cbiAgICB0aGlzLnVpZCA9IGAke3RoaXMubmFtZX0tLSR7cHJvcH1gXG5cbiAgICB0aGlzLmZpbHRlclN0YXRlQ2hhbmdlcyA9IHRoaXMuX3VwZGF0ZUZpbHRlclZhbHVlLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZpbHRlclN0YXRlKCkpXG4gICAgKVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgZGF0ZVR5cGU6IHRoaXMuY29sdW1uLmZpbHRlck9wdGlvbnM/LmRhdGVUeXBlIHx8ICdkYXRlJ1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkYXRhRmlsdGVyKGRhdGE6IGFueVtdLCBmaWx0ZXJWYWx1ZTogUGFydGlhbDxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlPiwgb3B0aW9uczogYW55KTogYW55W10ge1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXJWYWx1ZSkgfHwgdGhpcy5pc0RlZmF1bHQoKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0ZVNlYXJjaERhdGFGaWx0ZXIodGhpcy5wcm9wLCBkYXRhLCBmaWx0ZXJWYWx1ZS5zZWFyY2hUZXh0LCBmaWx0ZXJWYWx1ZS5mcm9tVGV4dCwgZmlsdGVyVmFsdWUudG9UZXh0LCBmaWx0ZXJWYWx1ZS5zZWFyY2hUeXBlIHx8IG51bGwpXG4gIH1cblxuICBwcml2YXRlIF9pc0ludmFsaWREYXRlKGRhdGVTdHJpbmc6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGRhdGVTdHJpbmcpIHx8IGlzTmFOKG5ldyBEYXRlKGRhdGVTdHJpbmcpLnZhbHVlT2YoKSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW52YWxpZFNlYXJjaFRlcm0oc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoY29tcGFyYXRvcikgJiYgdGhpcy5faXNJbnZhbGlkRGF0ZShzZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGNvbXBhcmF0b3IpICYmICh0aGlzLl9pc0ludmFsaWREYXRlKGZyb21UZXh0KSB8fCB0aGlzLl9pc0ludmFsaWREYXRlKHRvVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZVNlYXJjaERhdGFGaWx0ZXIocHJvcDogc3RyaW5nLCBkYXRhOiBhbnlbXSwgdGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUgfCBudWxsKSB7XG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDw9IDAgfHwgaXNOdWxsT3JVbmRlZmluZWQoY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIG9wdGlvbnMuJylcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzSW52YWxpZFNlYXJjaFRlcm0odGV4dCwgZnJvbVRleHQsIHRvVGV4dCwgY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIHNlYXJjaCB0ZXJtcy4nKVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICBjb25zdCB1c2VMb2NhbFRpbWUgPSB0aGlzLmNvbHVtbi5maWx0ZXJPcHRpb25zPy51c2VMb2NhbFRpbWUgPT09IHRydWVcblxuICAgIGNvbnN0IHRleHREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24odGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuICAgIGNvbnN0IGZyb21UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKGZyb21UZXh0LCB0aGlzLm9wdGlvbnMuZGF0ZVR5cGUsIHRydWUpXG4gICAgY29uc3QgdG9UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKHRvVGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuXG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgbGV0IHByb3BEYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24oaXRlbVtwcm9wXSwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB1c2VMb2NhbFRpbWUpXG5cbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdibGFuaycgJiYgKGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pIHx8IGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShgJHtpdGVtW3Byb3BdfWApKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmxhbmsnICYmIG5vdE51bGxPclVuZGVmaW5lZChpdGVtW3Byb3BdKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGAke2l0ZW1bcHJvcF19YCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHQnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdsdGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZ3QnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZXEnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA9PT0gdGV4dERhdGUudmFsdWVPZigpKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ2JldHdlZW4nICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSBmcm9tVGV4dERhdGUudmFsdWVPZigpICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0b1RleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmV0d2VlbicgJiYgIShwcm9wRGF0ZS52YWx1ZU9mKCkgPj0gZnJvbVRleHREYXRlLnZhbHVlT2YoKSAmJiBwcm9wRGF0ZS52YWx1ZU9mKCkgPD0gdG9UZXh0RGF0ZS52YWx1ZU9mKCkpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBzdGF0ZToge1xuICAgICAgICBwcm9wOiB0aGlzLnByb3AsXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIHNlYXJjaFR5cGU6ICdlcScsXG4gICAgICBzZWFyY2hUZXh0OiBudWxsLFxuICAgICAgZnJvbVRleHQ6IG51bGwsXG4gICAgICB0b1RleHQ6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUxFQ1RfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5zZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUy5pbmNsdWRlcyhmb3JtVmFsdWUuc2VhcmNoVHlwZSkgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuZnJvbVRleHQpICYmIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkoZm9ybVZhbHVlLnRvVGV4dCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxufVxuIl19
@@ -1,104 +0,0 @@
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=