nuxeo-development-framework 5.3.6 → 5.3.8

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 (364) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +826 -366
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -2
  4. package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +91 -0
  5. package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +66 -0
  6. package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +46 -0
  7. package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +43 -0
  8. package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +34 -0
  9. package/esm2015/lib/components/ndf-filters/base/index.js +6 -0
  10. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/field-header.component.js +1 -1
  11. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +97 -0
  12. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +43 -0
  13. package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +44 -0
  14. package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +89 -0
  15. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-empty-message.component.js +1 -1
  16. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-option-text/filter-option-text.component.js +1 -1
  17. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-options-sort/filter-options-sort.component.js +1 -1
  18. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
  19. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/html-dialog/html-dialog.component.js +2 -2
  20. package/esm2015/lib/components/ndf-filters/components/__parts/index.js +10 -0
  21. package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +109 -0
  22. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
  23. package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +66 -0
  24. package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +219 -0
  25. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-radio/aggregation-radio.component.js +1 -1
  26. package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +83 -0
  27. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-switch/aggregation-switch.component.js +1 -1
  28. package/esm2015/lib/components/ndf-filters/components/index.js +11 -0
  29. package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +146 -0
  30. package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +144 -0
  31. package/esm2015/lib/components/ndf-filters/constants/common.js +4 -0
  32. package/esm2015/lib/components/ndf-filters/constants/field.js +6 -0
  33. package/esm2015/lib/components/ndf-filters/constants/index.js +5 -0
  34. package/esm2015/lib/components/ndf-filters/constants/operators.js +18 -0
  35. package/esm2015/lib/components/ndf-filters/constants/sort.js +23 -0
  36. package/esm2015/lib/components/ndf-filters/constants/type.js +26 -0
  37. package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +78 -0
  38. package/esm2015/lib/components/ndf-filters/containers/base-field.js +62 -0
  39. package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +73 -0
  40. package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +55 -0
  41. package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +127 -0
  42. package/esm2015/lib/components/ndf-filters/containers/index.js +5 -0
  43. package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +71 -0
  44. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +55 -0
  45. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +17 -0
  46. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +2 -0
  47. package/esm2015/lib/components/ndf-filters/custom-components/index.js +2 -0
  48. package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +28 -0
  49. package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +28 -0
  50. package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +28 -0
  51. package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +28 -0
  52. package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-label-template.directive.js +1 -1
  53. package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +28 -0
  54. package/esm2015/lib/components/ndf-filters/directives/index.js +9 -0
  55. package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +28 -0
  56. package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +28 -0
  57. package/esm2015/lib/components/ndf-filters/index.js +2 -0
  58. package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +2 -0
  59. package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +2 -0
  60. package/esm2015/lib/components/ndf-filters/models/base-field-config.js +2 -0
  61. package/esm2015/lib/components/ndf-filters/models/common.js +2 -0
  62. package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +2 -0
  63. package/esm2015/lib/components/ndf-filters/models/field-config.model.js +2 -0
  64. package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +2 -0
  65. package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +2 -0
  66. package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +2 -0
  67. package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +2 -0
  68. package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +2 -0
  69. package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +2 -0
  70. package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +2 -0
  71. package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +2 -0
  72. package/esm2015/lib/components/ndf-filters/models/field-options/index.js +12 -0
  73. package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +2 -0
  74. package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +2 -0
  75. package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +2 -0
  76. package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +2 -0
  77. package/esm2015/lib/components/ndf-filters/models/form-query-request.js +2 -0
  78. package/esm2015/lib/components/ndf-filters/models/index.js +14 -0
  79. package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +2 -0
  80. package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +2 -0
  81. package/esm2015/lib/components/ndf-filters/models/types-helper.js +2 -0
  82. package/esm2015/lib/components/ndf-filters/models/value-object.model.js +12 -0
  83. package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +207 -0
  84. package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +27 -0
  85. package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +32 -0
  86. package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +27 -0
  87. package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +52 -0
  88. package/esm2015/lib/components/ndf-filters/pipes/index.js +10 -0
  89. package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +28 -0
  90. package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +31 -0
  91. package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +34 -0
  92. package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +40 -0
  93. package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +69 -0
  94. package/esm2015/lib/components/ndf-filters/public-api.js +12 -0
  95. package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +105 -0
  96. package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +59 -0
  97. package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +60 -0
  98. package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +117 -0
  99. package/esm2015/lib/components/ndf-filters/services/index.js +5 -0
  100. package/esm2015/lib/components/ndf-filters/utility/index.js +4 -0
  101. package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +53 -0
  102. package/esm2015/lib/components/ndf-filters/utility/nxql.js +47 -0
  103. package/esm2015/lib/components/ndf-filters/utility/object.js +42 -0
  104. package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
  105. package/esm2015/lib/components/reports/chart-panel.js +76 -0
  106. package/esm2015/lib/components/reports/index.js +2 -1
  107. package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +23 -9
  108. package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +1 -1
  109. package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +2 -1
  110. package/esm2015/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.js +45 -0
  111. package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +5 -6
  112. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
  113. package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +8 -7
  114. package/esm2015/lib/components/reports/ndf-reports/components/index.js +1 -2
  115. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +3 -3
  116. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  117. package/esm2015/lib/components/reports/ndf-reports/models/graph.js +1 -1
  118. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  119. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +17 -12
  120. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +1 -1
  121. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  122. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +2 -2
  123. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +26 -25
  124. package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
  125. package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
  126. package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
  127. package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
  128. package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
  129. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +5 -5
  130. package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -2
  131. package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -2
  132. package/esm2015/lib/shared/evaluator/evaluator.js +317 -0
  133. package/esm2015/lib/shared/evaluator/index.js +2 -0
  134. package/esm2015/lib/shared/evaluator/types.js +2 -0
  135. package/esm2015/lib/shared/models/index.js +2 -1
  136. package/esm2015/lib/shared/models/type-helpers.js +2 -0
  137. package/esm2015/public-api.js +3 -1
  138. package/fesm2015/nuxeo-development-framework.js +643 -229
  139. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  140. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-aggregation-field.component.d.ts +1 -1
  141. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-value-accessor.component.d.ts +1 -1
  142. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.d.ts +1 -1
  143. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +3 -2
  144. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-date-range/filter-date-range.component.d.ts +1 -1
  145. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/html-dialog/html-dialog.component.d.ts +2 -1
  146. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/filters-panel/base-filters-panel.d.ts +1 -1
  147. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/filters-panel/filters-panel.component.d.ts +1 -0
  148. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/active-user.service.d.ts +1 -1
  149. package/lib/components/ndf-filters/index.d.ts +1 -0
  150. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/aggregation-field-config.d.ts +2 -1
  151. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/base-field-config.d.ts +3 -1
  152. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/custom-field-config.d.ts +2 -1
  153. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/autocomplete-options.d.ts +1 -1
  154. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/checkbox-options.d.ts +1 -1
  155. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/common-utils.d.ts +2 -1
  156. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/custom-fields-options.d.ts +1 -1
  157. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/date-list-options.d.ts +1 -1
  158. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/date-options.d.ts +1 -1
  159. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/dropdown-options.d.ts +1 -1
  160. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/input-options.d.ts +1 -1
  161. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/radio-options.d.ts +1 -1
  162. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/switch-options.d.ts +1 -1
  163. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/filter-option.model.d.ts +1 -1
  164. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/index.d.ts +1 -0
  165. package/lib/components/ndf-filters/models/operator-value-object.d.ts +6 -0
  166. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/predicate-field-config.d.ts +2 -1
  167. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/types-helper.d.ts +0 -11
  168. package/lib/components/ndf-filters/ndf-filters-panel.module.d.ts +66 -0
  169. package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +12 -0
  170. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/index.d.ts +1 -0
  171. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/roles-filters.pipe.d.ts +1 -1
  172. package/lib/components/{tables/ndf-table/filters-panel/index.d.ts → ndf-filters/public-api.d.ts} +2 -1
  173. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/aggregation-field.service.d.ts +1 -1
  174. package/lib/components/{tables/ndf-table → ndf-filters}/services/filters-mapper.service.d.ts +1 -1
  175. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/index.d.ts +1 -0
  176. package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/index.d.ts +1 -0
  177. package/lib/components/{tables/ndf-table/utils → ndf-filters/utility}/nxql-query.d.ts +4 -3
  178. package/lib/components/ndf-tabs/tab.type.d.ts +1 -1
  179. package/lib/components/reports/chart-panel.d.ts +19 -0
  180. package/lib/components/reports/index.d.ts +1 -0
  181. package/lib/components/reports/ndf-reports/base/base-report.d.ts +3 -3
  182. package/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.d.ts +5 -2
  183. package/lib/components/reports/ndf-reports/components/_parts/index.d.ts +1 -0
  184. package/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.d.ts +17 -0
  185. package/lib/components/reports/ndf-reports/components/index.d.ts +0 -1
  186. package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +1 -1
  187. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +3 -2
  188. package/lib/components/reports/ndf-reports/models/common.d.ts +2 -2
  189. package/lib/components/reports/ndf-reports/models/graph.d.ts +9 -0
  190. package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -1
  191. package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +7 -6
  192. package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +1 -1
  193. package/lib/components/tables/ndf-table/components/text-search/text-search.component.d.ts +1 -1
  194. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +3 -2
  195. package/lib/components/tables/ndf-table/models/payload-types.d.ts +0 -6
  196. package/lib/components/tables/ndf-table/models/search.config.d.ts +1 -1
  197. package/lib/components/tables/ndf-table/models/table-mode.d.ts +1 -1
  198. package/lib/components/tables/ndf-table/models/table-options.d.ts +1 -1
  199. package/lib/components/tables/ndf-table/models/types.d.ts +1 -1
  200. package/lib/components/tables/ndf-table/ndf-table.module.d.ts +2 -2
  201. package/lib/components/tables/ndf-table/public-api.d.ts +0 -1
  202. package/lib/components/tables/ndf-table/services/index.d.ts +0 -1
  203. package/lib/shared/evaluator/evaluator.d.ts +79 -0
  204. package/lib/shared/evaluator/index.d.ts +1 -0
  205. package/lib/shared/evaluator/types.d.ts +14 -0
  206. package/lib/shared/models/index.d.ts +1 -0
  207. package/lib/shared/models/type-helpers.d.ts +11 -0
  208. package/package.json +3 -2
  209. package/public-api.d.ts +2 -0
  210. package/src/docs/ndf-table.doc.md +281 -209
  211. package/esm2015/lib/components/reports/ndf-reports/components/chart-panel.component.js +0 -61
  212. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.js +0 -91
  213. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.js +0 -66
  214. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.js +0 -46
  215. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.js +0 -43
  216. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.js +0 -34
  217. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/index.js +0 -6
  218. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +0 -97
  219. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +0 -43
  220. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.js +0 -44
  221. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.js +0 -89
  222. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/index.js +0 -10
  223. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.js +0 -109
  224. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.js +0 -66
  225. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.js +0 -219
  226. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.js +0 -83
  227. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/index.js +0 -11
  228. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.js +0 -146
  229. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.js +0 -144
  230. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/common.js +0 -4
  231. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/field.js +0 -6
  232. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/index.js +0 -5
  233. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/operators.js +0 -18
  234. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/sort.js +0 -23
  235. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/type.js +0 -26
  236. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.js +0 -78
  237. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/base-field.js +0 -62
  238. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.js +0 -73
  239. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.js +0 -55
  240. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.js +0 -122
  241. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/index.js +0 -5
  242. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.js +0 -71
  243. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.js +0 -55
  244. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.js +0 -17
  245. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.js +0 -2
  246. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/index.js +0 -2
  247. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.js +0 -28
  248. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.js +0 -28
  249. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.js +0 -28
  250. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.js +0 -28
  251. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.js +0 -28
  252. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/index.js +0 -9
  253. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.js +0 -28
  254. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.js +0 -28
  255. package/esm2015/lib/components/tables/ndf-table/filters-panel/filters-panel.module.js +0 -205
  256. package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +0 -11
  257. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.js +0 -2
  258. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.js +0 -2
  259. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/base-field-config.js +0 -2
  260. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/common.js +0 -2
  261. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.js +0 -2
  262. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-config.model.js +0 -2
  263. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.js +0 -2
  264. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.js +0 -2
  265. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.js +0 -2
  266. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.js +0 -2
  267. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.js +0 -2
  268. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.js +0 -2
  269. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.js +0 -2
  270. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.js +0 -2
  271. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/index.js +0 -12
  272. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.js +0 -2
  273. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.js +0 -2
  274. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.js +0 -2
  275. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.js +0 -2
  276. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/form-query-request.js +0 -2
  277. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/index.js +0 -13
  278. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.js +0 -2
  279. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +0 -2
  280. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/value-object.model.js +0 -12
  281. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.js +0 -27
  282. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.js +0 -27
  283. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.js +0 -52
  284. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/index.js +0 -9
  285. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.js +0 -28
  286. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.js +0 -31
  287. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.js +0 -34
  288. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.js +0 -40
  289. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.js +0 -69
  290. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +0 -105
  291. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.js +0 -59
  292. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.js +0 -117
  293. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +0 -4
  294. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/index.js +0 -3
  295. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/nxql.js +0 -47
  296. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/object.js +0 -42
  297. package/esm2015/lib/components/tables/ndf-table/services/filters-mapper.service.js +0 -60
  298. package/esm2015/lib/components/tables/ndf-table/utils/index.js +0 -2
  299. package/esm2015/lib/components/tables/ndf-table/utils/nxql-query.js +0 -52
  300. package/lib/components/reports/ndf-reports/components/chart-panel.component.d.ts +0 -13
  301. package/lib/components/tables/ndf-table/filters-panel/filters-panel.module.d.ts +0 -65
  302. package/lib/components/tables/ndf-table/utils/index.d.ts +0 -1
  303. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-checkbox-radio.component.d.ts +0 -0
  304. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-custom-field.component.d.ts +0 -0
  305. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-predicate-field.component.d.ts +0 -0
  306. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/index.d.ts +0 -0
  307. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/field-header.component.d.ts +0 -0
  308. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-collapse-control/filter-collapse-control.component.d.ts +0 -0
  309. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-empty-message.component.d.ts +0 -0
  310. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-option-text/filter-option-text.component.d.ts +0 -0
  311. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-options-sort/filter-options-sort.component.d.ts +0 -0
  312. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-search-input/filter-search-input.component.d.ts +0 -0
  313. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/index.d.ts +0 -0
  314. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-autocomplete/aggregation-autocomplete.component.d.ts +0 -0
  315. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-checkbox/aggregation-checkbox.component.d.ts +0 -0
  316. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-custom/aggregation-custom.component.d.ts +0 -0
  317. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-date-list/aggregation-date-list.component.d.ts +0 -0
  318. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-radio/aggregation-radio.component.d.ts +0 -0
  319. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-select/aggregation-select.component.d.ts +0 -0
  320. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-switch/aggregation-switch.component.d.ts +0 -0
  321. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/index.d.ts +0 -0
  322. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/predicate-date-input/predicate-date-input.component.d.ts +0 -0
  323. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/predicate-text-input/predicate-text-input.component.d.ts +0 -0
  324. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/common.d.ts +0 -0
  325. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/field.d.ts +0 -0
  326. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/index.d.ts +0 -0
  327. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/operators.d.ts +0 -0
  328. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/sort.d.ts +0 -0
  329. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/type.d.ts +0 -0
  330. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/aggregation-field/aggregation-field.component.d.ts +0 -0
  331. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/base-field.d.ts +0 -0
  332. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/custom-field/custom-field.component.d.ts +0 -0
  333. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/index.d.ts +0 -0
  334. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/predicate-field/predicate-field.component.d.ts +0 -0
  335. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/active-user-switch.component.d.ts +0 -0
  336. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/user-types.d.ts +0 -0
  337. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/index.d.ts +0 -0
  338. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/autocomplete-template.directive.d.ts +0 -0
  339. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/checkbox-template.directive.d.ts +0 -0
  340. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/custom-template.directive.d.ts +0 -0
  341. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/date-template.directive.d.ts +0 -0
  342. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-label-template.directive.d.ts +0 -0
  343. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-template.directive.d.ts +0 -0
  344. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/index.d.ts +0 -0
  345. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/radio-template.directive.d.ts +0 -0
  346. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/switch-template.directive.d.ts +0 -0
  347. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/aggregation-response.model.d.ts +0 -0
  348. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/common.d.ts +0 -0
  349. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-config.model.d.ts +0 -0
  350. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/custom-options.d.ts +0 -0
  351. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/index.d.ts +0 -0
  352. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/form-query-request.d.ts +0 -0
  353. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/value-object.model.d.ts +0 -0
  354. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/autocomplete-filter.pipe.d.ts +0 -0
  355. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/filter.pipe.d.ts +0 -0
  356. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/hash-translate.pipe.d.ts +0 -0
  357. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/localized-label.pipe.d.ts +0 -0
  358. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/sanitizer.pipe.d.ts +0 -0
  359. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/sort.pipe.d.ts +0 -0
  360. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/tooltip.pipe.d.ts +0 -0
  361. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/dynamic-component-loader.service.d.ts +0 -0
  362. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/filters-query.service.d.ts +0 -0
  363. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/nxql.d.ts +0 -0
  364. /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/object.d.ts +0 -0
@@ -1,219 +0,0 @@
1
- import { SelectionModel } from '@angular/cdk/collections';
2
- import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Host, Optional, Renderer2, SkipSelf, ViewEncapsulation } from '@angular/core';
3
- import { ControlContainer, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { map, takeUntil } from 'rxjs/operators';
5
- import { BaseAggregationField } from '../../base';
6
- import { DATE_LIST_VIEW, FIELD_SEND_MODE } from '../../constants';
7
- import { isFieldValueObject, NxQL } from '../../utility';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../__parts/field-header.component";
10
- import * as i2 from "@angular/material/radio";
11
- import * as i3 from "../__parts/filter-option-text/filter-option-text.component";
12
- import * as i4 from "@angular/material/button";
13
- import * as i5 from "@ng-select/ng-select";
14
- import * as i6 from "../__parts/filter-date-range/filter-date-range.component";
15
- import * as i7 from "@angular/common";
16
- import * as i8 from "@angular/forms";
17
- import * as i9 from "@ngx-translate/core";
18
- import * as i10 from "../../pipes/localized-label.pipe";
19
- export class AggregationDateListComponent extends BaseAggregationField {
20
- constructor() {
21
- super(...arguments);
22
- this._controlContainer = this.injector.get(ControlContainer);
23
- this._renderer = this.injector.get(Renderer2);
24
- this._el = this.injector.get(ElementRef);
25
- this.minMaxDateCtrl = new FormControl(null);
26
- this.selectionModel = new SelectionModel(false, []);
27
- this.viewLayout = DATE_LIST_VIEW;
28
- }
29
- writeValue(obj) {
30
- if (obj) {
31
- this._initValue(obj);
32
- }
33
- else if (this._isFieldDirty) {
34
- this.selectionModel.clear();
35
- this.internalValue = null;
36
- this._isFieldDirty = false;
37
- this.minMaxDateCtrl.reset(undefined, { emitEvent: false });
38
- }
39
- }
40
- _initValue(obj) {
41
- if (!isFieldValueObject(obj)) {
42
- this._handleSelection(obj);
43
- return;
44
- }
45
- const { min, max, value } = obj;
46
- if (min || max) {
47
- this.minMaxDateCtrl.patchValue({ min, max }, { emitEvent: false });
48
- }
49
- else {
50
- this._handleSelection(value);
51
- }
52
- }
53
- _handleSelection(values) {
54
- this.internalValue = values;
55
- if (this._isList()) {
56
- const selectedValues = Array.isArray(values) ? values : [values];
57
- this.selectionModel.select(...selectedValues);
58
- }
59
- }
60
- ngOnInit() {
61
- this._appendMinMaxControl();
62
- this._addSelectionListener();
63
- this._addMinMaxListener();
64
- this._updateVisibility();
65
- }
66
- updateValueSelection(value) {
67
- var _a;
68
- this._onChange(value);
69
- if (this.renderOptions.minMax) {
70
- const _emitEvent = ((_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.sendMode) === FIELD_SEND_MODE.queryParam;
71
- this._resetMinMaxCtrl(_emitEvent);
72
- }
73
- }
74
- updateSelectValue(value) {
75
- this.updateValueSelection([value]);
76
- }
77
- updateValueMinMax(value) {
78
- const _hasData = (value === null || value === void 0 ? void 0 : value.min) || (value === null || value === void 0 ? void 0 : value.max);
79
- if (!_hasData) {
80
- this._onChange(value);
81
- return;
82
- }
83
- this._internalReset();
84
- this._isFieldDirty = !!_hasData;
85
- if (this._isValueObject()) {
86
- const _operator = NxQL._getRangeOperator(value);
87
- const _val = NxQL._getValueRange(value, 'DATE', _operator);
88
- this._onChange(_val);
89
- return;
90
- }
91
- this._onChange(value);
92
- }
93
- updateValue(value) {
94
- this.internalValue = value;
95
- this._onChange(value);
96
- }
97
- clearSelected() {
98
- this._internalReset();
99
- this._onChange(null);
100
- }
101
- _appendMinMaxControl() {
102
- const formGroup = this._controlContainer.control;
103
- if (!this.renderOptions.minMax || !formGroup) {
104
- return;
105
- }
106
- if (this._isSendAsQueryParams()) {
107
- formGroup.addControl(`${this.fieldConfig.aggregation}__minMaxDate`, this.minMaxDateCtrl);
108
- this.minMaxDateCtrl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((_) => {
109
- this._internalReset();
110
- this.updateValue(null);
111
- });
112
- }
113
- }
114
- _addMinMaxListener() {
115
- var _a;
116
- if ([FIELD_SEND_MODE.custom, FIELD_SEND_MODE.payload].includes((_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.sendMode)) {
117
- this.minMaxDateCtrl.valueChanges
118
- .pipe(takeUntil(this.destroy$))
119
- .subscribe((value) => {
120
- this.updateValueMinMax(value);
121
- });
122
- }
123
- }
124
- _addSelectionListener() {
125
- if (!!this.renderOptions.view && this.renderOptions.view !== DATE_LIST_VIEW.list) {
126
- return;
127
- }
128
- this.selectionModel.changed
129
- .asObservable()
130
- .pipe(map((data) => data.source.selected), takeUntil(this.destroy$))
131
- .subscribe((value) => {
132
- if (this.renderOptions.minMax) {
133
- this._resetMinMaxCtrl(false);
134
- }
135
- this.updateValueSelection(value);
136
- });
137
- }
138
- _resetMinMaxCtrl(emitEvent = true) {
139
- this.minMaxDateCtrl.reset(null, {
140
- emitEvent: emitEvent
141
- });
142
- }
143
- _internalReset() {
144
- this.internalValue = null;
145
- this.selectionModel.clear();
146
- }
147
- _onChange(value) {
148
- this._isFieldDirty = !!value;
149
- this.onChange(value);
150
- }
151
- _isDropdown() {
152
- var _a;
153
- return ((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.view) == DATE_LIST_VIEW.dropdown;
154
- }
155
- _isList() {
156
- var _a;
157
- return ((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.view) == DATE_LIST_VIEW.list;
158
- }
159
- _updateVisibility() {
160
- this._optionsSub
161
- .pipe(map((data) => data.some((item) => !!(item === null || item === void 0 ? void 0 : item.count))), takeUntil(this.destroy$))
162
- .subscribe((hasData) => {
163
- const el = this._el.nativeElement;
164
- if (hasData) {
165
- this._renderer.removeStyle(el, 'display');
166
- this._renderer.removeAttribute(el, 'hidden');
167
- }
168
- else {
169
- this._renderer.setAttribute(el, 'hidden', 'true');
170
- this._renderer.setStyle(el, 'display', 'none');
171
- }
172
- });
173
- }
174
- }
175
- AggregationDateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationDateListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
176
- AggregationDateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationDateListComponent, selector: "aggregation-date-list", host: { classAttribute: "filter-date-list" }, providers: [
177
- {
178
- provide: NG_VALUE_ACCESSOR,
179
- useExisting: forwardRef(() => AggregationDateListComponent),
180
- multi: true
181
- },
182
- {
183
- provide: NG_VALIDATORS,
184
- useExisting: forwardRef(() => AggregationDateListComponent),
185
- multi: true
186
- }
187
- ], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-date-list__label\">{{\r\n\t\tfieldConfig.label | translate\r\n\t}}</field-header>\r\n\r\n\t<div class=\"filter-date-list__wrapper\">\r\n\t\t<ng-container *ngIf=\"!renderOptions?.view || renderOptions.view === viewLayout.list\">\r\n\t\t\t<mat-radio-button\r\n\t\t\t\tclass=\"filter-date-list__item\"\r\n\t\t\t\t*ngFor=\"let option of options; index as index\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-radio-button>\r\n\r\n\t\t\t<button *ngIf=\"selectionModel.hasValue()\" mat-flat-button class=\"mb-2\" (click)=\"clearSelected()\">\r\n\t\t\t\t{{ 'FILTERS.clear' | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngIf=\"renderOptions.view === viewLayout.dropdown\">\r\n\t\t\t<ng-select\r\n\t\t\t\tclass=\"filter-date-list__select\"\r\n\t\t\t\t[items]=\"options\"\r\n\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[ngModel]=\"internalValue\"\r\n\t\t\t\t(ngModelChange)=\"updateSelectValue($event)\"\r\n\t\t\t\t[notFoundText]=\"emptyPlaceholder || 'SELECT.notFoundText' | translate\"\r\n\t\t\t\t[placeholder]=\"'SELECT.placeholder' | translate\"\r\n\t\t\t\t[clearAllText]=\"'SELECT.clearAllText' | translate\"\r\n\t\t\t\t[typeToSearchText]=\"'SELECT.typeToSearchText' | translate\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template ng-option-tmp let-item=\"item\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, fieldConfig, aggregation }\"\r\n\t\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n\t\t\t\t\t<div *ngFor=\"let item of items\" class=\"ng-value\">\r\n\t\t\t\t\t\t<span class=\"ng-value-label\">{{ item | localizedLabel : language }}</span>\r\n\t\t\t\t\t\t<button class=\"ng-value-icon left\" (click)=\"clear(item)\" aria-hidden=\"true\">\u00D7</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-label-tmp let-item=\"item\">\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-select>\r\n\t\t</ng-container>\r\n\r\n\t\t<filter-date-range\r\n\t\t\tclass=\"filter-date-list__range\"\r\n\t\t\t*ngIf=\"renderOptions?.minMax\"\r\n\t\t\t[formControl]=\"minMaxDateCtrl\"\r\n\t\t></filter-date-range>\r\n\t</div>\r\n</div>\r\n", styles: [".filter-date-list{display:var(--fdl-display, block)}.filter-date-list__label{display:var(--fdl-label-display, block);margin-block:var(--fdl-label-margin-block, 0 .5rem);margin-inline:var(--fdl-label-margin-inline, 0 .2rem);padding:var(--fdl-padding, .2rem);font-weight:var(--fdl-weight, 600)}.filter-date-list__wrapper{display:var(--fdl-wrapper-display, flex);flex-direction:var(--fdl-wrapper-direction, column)}.filter-date-list__item{padding-inline-start:.5rem;margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__item .mat-radio-label{display:flex}.filter-date-list__item .mat-radio-label .mat-radio-label-content{flex-grow:1}.filter-date-list__select{margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__range{margin-top:var(--fdl-range-margin-top, .5rem);display:var(--fdl-range-display, flex);flex-direction:var(--fdl-range-direction, column)}\n"], components: [{ type: i1.FieldHeaderComponent, selector: "field-header" }, { type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i3.FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { 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"] }, { type: i6.FilterDateRangeComponent, selector: "filter-date-range" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i7.AsyncPipe, "translate": i9.TranslatePipe, "localizedLabel": i10.LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationDateListComponent, decorators: [{
189
- type: Component,
190
- args: [{
191
- selector: 'aggregation-date-list',
192
- templateUrl: './aggregation-date-list.component.html',
193
- styleUrls: ['./aggregation-date-list.component.scss'],
194
- encapsulation: ViewEncapsulation.None,
195
- changeDetection: ChangeDetectionStrategy.Default,
196
- providers: [
197
- {
198
- provide: NG_VALUE_ACCESSOR,
199
- useExisting: forwardRef(() => AggregationDateListComponent),
200
- multi: true
201
- },
202
- {
203
- provide: NG_VALIDATORS,
204
- useExisting: forwardRef(() => AggregationDateListComponent),
205
- multi: true
206
- }
207
- ],
208
- host: {
209
- class: 'filter-date-list'
210
- }
211
- }]
212
- }], propDecorators: { _controlContainer: [{
213
- type: Optional
214
- }, {
215
- type: Host
216
- }, {
217
- type: SkipSelf
218
- }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL25kZi10YWJsZS9maWx0ZXJzLXBhbmVsL2NvbXBvbmVudHMvYWdncmVnYXRpb24tZGF0ZS1saXN0L2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9jb21wb25lbnRzL2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsSUFBSSxFQUVKLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFhLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFr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Q1g7S0FDRCxpRENyQ0YsK21IQXVGQTs0RkQ3Q2EsNEJBQTRCO2tCQXRCeEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDckQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO29CQUNoRCxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUM7NEJBQzNELEtBQUssRUFBRSxJQUFJO3lCQUNYO3dCQUNEOzRCQUNDLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzs0QkFDM0QsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSxrQkFBa0I7cUJBQ3pCO2lCQUNEOzhCQVFRLGlCQUFpQjtzQkFIeEIsUUFBUTs7c0JBQ1IsSUFBSTs7c0JBQ0osUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuXHRDb21wb25lbnQsXHJcblx0RWxlbWVudFJlZixcclxuXHRmb3J3YXJkUmVmLFxyXG5cdEhvc3QsXHJcblx0T25Jbml0LFxyXG5cdE9wdGlvbmFsLFxyXG5cdFJlbmRlcmVyMixcclxuXHRTa2lwU2VsZixcclxuXHRWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VBZ2dyZWdhdGlvbkZpZWxkIH0gZnJvbSAnLi4vLi4vYmFzZSc7XHJcbmltcG9ydCB7IERBVEVfTElTVF9WSUVXLCBGSUVMRF9TRU5EX01PREUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGaWVsZFZhbHVlT2JqZWN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgaXNGaWVsZFZhbHVlT2JqZWN0LCBOeFFMIH0gZnJvbSAnLi4vLi4vdXRpbGl0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBZ2dyZWdhdGlvbkRhdGVMaXN0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFnZ3JlZ2F0aW9uRGF0ZUxpc3RDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fVxyXG5cdF0sXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdmaWx0ZXItZGF0ZS1saXN0J1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0aW9uRGF0ZUxpc3RDb21wb25lbnRcclxuXHRleHRlbmRzIEJhc2VBZ2dyZWdhdGlvbkZpZWxkPCdkYXRlTGlzdCcsIHN0cmluZ1tdIHwgRmllbGRWYWx1ZU9iamVjdDxzdHJpbmc+PlxyXG5cdGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuXHRAT3B0aW9uYWwoKVxyXG5cdEBIb3N0KClcclxuXHRAU2tpcFNlbGYoKVxyXG5cdHByaXZhdGUgX2NvbnRyb2xDb250YWluZXIgPSB0aGlzLmluamVjdG9yLmdldChDb250cm9sQ29udGFpbmVyKTtcclxuXHRwcml2YXRlIF9yZW5kZXJlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJlbmRlcmVyMik7XHJcblx0cHJpdmF0ZSBfZWwgPSB0aGlzLmluamVjdG9yLmdldChFbGVtZW50UmVmKTtcclxuXHJcblx0bWluTWF4RGF0ZUN0cmwgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcblx0c2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWwoZmFsc2UsIFtdKTtcclxuXHJcblx0aW50ZXJuYWxWYWx1ZTogYW55O1xyXG5cclxuXHR2aWV3TGF5b3V0ID0gREFURV9MSVNUX1ZJRVc7XHJcblxyXG5cdHdyaXRlVmFsdWUob2JqOiBzdHJpbmdbXSB8IEZpZWxkVmFsdWVPYmplY3QpOiB2b2lkIHtcclxuXHRcdGlmIChvYmopIHtcclxuXHRcdFx0dGhpcy5faW5pdFZhbHVlKG9iaik7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuX2lzRmllbGREaXJ0eSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcblx0XHRcdHRoaXMuaW50ZXJuYWxWYWx1ZSA9IG51bGw7XHJcblx0XHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLm1pbk1heERhdGVDdHJsLnJlc2V0KHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaW5pdFZhbHVlKG9iajogc3RyaW5nW10gfCBGaWVsZFZhbHVlT2JqZWN0PGFueT4pIHtcclxuXHRcdGlmICghaXNGaWVsZFZhbHVlT2JqZWN0KG9iaikpIHtcclxuXHRcdFx0dGhpcy5faGFuZGxlU2VsZWN0aW9uKG9iaik7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHsgbWluLCBtYXgsIHZhbHVlIH0gPSBvYmogYXMgRmllbGRWYWx1ZU9iamVjdDtcclxuXHRcdGlmIChtaW4gfHwgbWF4KSB7XHJcblx0XHRcdHRoaXMubWluTWF4RGF0ZUN0cmwucGF0Y2hWYWx1ZSh7IG1pbiwgbWF4IH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuX2hhbmRsZVNlbGVjdGlvbih2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kbGVTZWxlY3Rpb24odmFsdWVzOiBhbnkpIHtcclxuXHRcdHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlcztcclxuXHJcblx0XHRpZiAodGhpcy5faXNMaXN0KCkpIHtcclxuXHRcdFx0Y29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXTtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoLi4uc2VsZWN0ZWRWYWx1ZXMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLl9hcHBlbmRNaW5NYXhDb250cm9sKCk7XHJcblx0XHR0aGlzLl9hZGRTZWxlY3Rpb25MaXN0ZW5lcigpO1xyXG5cdFx0dGhpcy5fYWRkTWluTWF4TGlzdGVuZXIoKTtcclxuXHRcdHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVZhbHVlU2VsZWN0aW9uKHZhbHVlOiBzdHJpbmdbXSkge1xyXG5cdFx0dGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG5cdFx0aWYgKHRoaXMucmVuZGVyT3B0aW9ucy5taW5NYXgpIHtcclxuXHRcdFx0Y29uc3QgX2VtaXRFdmVudCA9IHRoaXMuZmllbGRDb25maWc/LnNlbmRNb2RlID09PSBGSUVMRF9TRU5EX01PREUucXVlcnlQYXJhbTtcclxuXHRcdFx0dGhpcy5fcmVzZXRNaW5NYXhDdHJsKF9lbWl0RXZlbnQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXBkYXRlU2VsZWN0VmFsdWUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy51cGRhdGVWYWx1ZVNlbGVjdGlvbihbdmFsdWVdKTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVZhbHVlTWluTWF4KHZhbHVlOiB7IG1pbjogc3RyaW5nOyBtYXg6IHN0cmluZyB9KSB7XHJcblx0XHRjb25zdCBfaGFzRGF0YSA9IHZhbHVlPy5taW4gfHwgdmFsdWU/Lm1heDtcclxuXHRcdGlmICghX2hhc0RhdGEpIHtcclxuXHRcdFx0dGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLl9pbnRlcm5hbFJlc2V0KCk7XHJcblx0XHR0aGlzLl9pc0ZpZWxkRGlydHkgPSAhIV9oYXNEYXRhO1xyXG5cdFx0aWYgKHRoaXMuX2lzVmFsdWVPYmplY3QoKSkge1xyXG5cdFx0XHRjb25zdCBfb3BlcmF0b3IgPSBOeFFMLl9nZXRSYW5nZU9wZXJhdG9yKHZhbHVlKTtcclxuXHRcdFx0Y29uc3QgX3ZhbCA9IE54UUwuX2dldFZhbHVlUmFuZ2UodmFsdWUsICdEQVRFJywgX29wZXJhdG9yKTtcclxuXHRcdFx0dGhpcy5fb25DaGFuZ2UoX3ZhbCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuXHRcdHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xyXG5cdFx0dGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJTZWxlY3RlZCgpIHtcclxuXHRcdHRoaXMuX2ludGVybmFsUmVzZXQoKTtcclxuXHRcdHRoaXMuX29uQ2hhbmdlKG51bGwpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfYXBwZW5kTWluTWF4Q29udHJvbCgpIHtcclxuXHRcdGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuX2NvbnRyb2xDb250YWluZXIuY29udHJvbCBhcyBGb3JtR3JvdXA7XHJcblx0XHRpZiAoIXRoaXMucmVuZGVyT3B0aW9ucy5taW5NYXggfHwgIWZvcm1Hcm91cCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuX2lzU2VuZEFzUXVlcnlQYXJhbXMoKSkge1xyXG5cdFx0XHRmb3JtR3JvdXAuYWRkQ29udHJvbChgJHt0aGlzLmZpZWxkQ29uZmlnLmFnZ3JlZ2F0aW9ufV9fbWluTWF4RGF0ZWAsIHRoaXMubWluTWF4RGF0ZUN0cmwpO1xyXG5cdFx0XHR0aGlzLm1pbk1heERhdGVDdHJsLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChfOiB7IG1pbjogc3RyaW5nOyBtYXg6IHN0cmluZyB9KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5faW50ZXJuYWxSZXNldCgpO1xyXG5cdFx0XHRcdHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfYWRkTWluTWF4TGlzdGVuZXIoKSB7XHJcblx0XHRpZiAoW0ZJRUxEX1NFTkRfTU9ERS5jdXN0b20sIEZJRUxEX1NFTkRfTU9ERS5wYXlsb2FkXS5pbmNsdWRlcyh0aGlzLmZpZWxkQ29uZmlnPy5zZW5kTW9kZSBhcyBhbnkpKSB7XHJcblx0XHRcdHRoaXMubWluTWF4RGF0ZUN0cmwudmFsdWVDaGFuZ2VzXHJcblx0XHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoKHZhbHVlOiB7IG1pbjogc3RyaW5nOyBtYXg6IHN0cmluZyB9KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVZhbHVlTWluTWF4KHZhbHVlKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2FkZFNlbGVjdGlvbkxpc3RlbmVyKCkge1xyXG5cdFx0aWYgKCEhdGhpcy5yZW5kZXJPcHRpb25zLnZpZXcgJiYgdGhpcy5yZW5kZXJPcHRpb25zLnZpZXcgIT09IERBVEVfTElTVF9WSUVXLmxpc3QpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkXHJcblx0XHRcdC5hc09ic2VydmFibGUoKVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGRhdGEpID0+IGRhdGEuc291cmNlLnNlbGVjdGVkKSxcclxuXHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nW10pID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5yZW5kZXJPcHRpb25zLm1pbk1heCkge1xyXG5cdFx0XHRcdFx0dGhpcy5fcmVzZXRNaW5NYXhDdHJsKGZhbHNlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy51cGRhdGVWYWx1ZVNlbGVjdGlvbih2YWx1ZSk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRNaW5NYXhDdHJsKGVtaXRFdmVudCA9IHRydWUpIHtcclxuXHRcdHRoaXMubWluTWF4RGF0ZUN0cmwucmVzZXQobnVsbCwge1xyXG5cdFx0XHRlbWl0RXZlbnQ6IGVtaXRFdmVudFxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9pbnRlcm5hbFJlc2V0KCkge1xyXG5cdFx0dGhpcy5pbnRlcm5hbFZhbHVlID0gbnVsbDtcclxuXHRcdHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX29uQ2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuXHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9ICEhdmFsdWU7XHJcblx0XHR0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2lzRHJvcGRvd24oKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zPy52aWV3ID09IERBVEVfTElTVF9WSUVXLmRyb3Bkb3duO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaXNMaXN0KCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8udmlldyA9PSBEQVRFX0xJU1RfVklFVy5saXN0O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdXBkYXRlVmlzaWJpbGl0eSgpIHtcclxuXHRcdHRoaXMuX29wdGlvbnNTdWJcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0bWFwKChkYXRhKSA9PiBkYXRhLnNvbWUoKGl0ZW0pID0+ICEhaXRlbT8uY291bnQpKSxcclxuXHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChoYXNEYXRhKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgZWwgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG5cdFx0XHRcdGlmIChoYXNEYXRhKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9yZW5kZXJlci5yZW1vdmVTdHlsZShlbCwgJ2Rpc3BsYXknKTtcclxuXHRcdFx0XHRcdHRoaXMuX3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShlbCwgJ2hpZGRlbicpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWwsICdoaWRkZW4nLCAndHJ1ZScpO1xyXG5cdFx0XHRcdFx0dGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZWwsICdkaXNwbGF5JywgJ25vbmUnKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwib3B0aW9ucyQgfCBhc3luYyBhcyBvcHRpb25zXCI+XHJcblx0PGZpZWxkLWhlYWRlciAqbmdJZj1cImZpZWxkQ29uZmlnLmxhYmVsICYmICFyZW5kZXJPcHRpb25zPy5oaWRlTGFiZWxcIiBjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX2xhYmVsXCI+e3tcclxuXHRcdGZpZWxkQ29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlXHJcblx0fX08L2ZpZWxkLWhlYWRlcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX3dyYXBwZXJcIj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVuZGVyT3B0aW9ucz8udmlldyB8fCByZW5kZXJPcHRpb25zLnZpZXcgPT09IHZpZXdMYXlvdXQubGlzdFwiPlxyXG5cdFx0XHQ8bWF0LXJhZGlvLWJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwiZmlsdGVyLWRhdGUtbGlzdF9faXRlbVwiXHJcblx0XHRcdFx0Km5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyBpbmRleCBhcyBpbmRleFwiXHJcblx0XHRcdFx0W2NoZWNrZWRdPVwic2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChvcHRpb24udmFsdWUpXCJcclxuXHRcdFx0XHQoY2hhbmdlKT1cInNlbGVjdGlvbk1vZGVsLnRvZ2dsZShvcHRpb24udmFsdWUpXCJcclxuXHRcdFx0XHRbY2xhc3MuY2hlY2tlZEJveF09XCJzZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKG9wdGlvbi52YWx1ZSlcIlxyXG5cdFx0XHRcdFtjbGFzcy51bkNoZWNrZWRCb3hdPVwiIXNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQob3B0aW9uLnZhbHVlKVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogb3B0aW9uLCBmaWVsZENvbmZpZywgYWdncmVnYXRpb24gfVwiXHJcblx0XHRcdFx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDxmaWx0ZXItb3B0aW9uLXRleHRcclxuXHRcdFx0XHRcdFx0W29wdGlvbl09XCJvcHRpb25cIlxyXG5cdFx0XHRcdFx0XHRbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VcIlxyXG5cdFx0XHRcdFx0XHRbc2hvd0NvdW50XT1cInJlbmRlck9wdGlvbnM/LnNob3dUb3RhbFwiXHJcblx0XHRcdFx0XHQ+PC9maWx0ZXItb3B0aW9uLXRleHQ+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG5cclxuXHRcdFx0PGJ1dHRvbiAqbmdJZj1cInNlbGVjdGlvbk1vZGVsLmhhc1ZhbHVlKClcIiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJtYi0yXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWQoKVwiPlxyXG5cdFx0XHRcdHt7ICdGSUxURVJTLmNsZWFyJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJyZW5kZXJPcHRpb25zLnZpZXcgPT09IHZpZXdMYXlvdXQuZHJvcGRvd25cIj5cclxuXHRcdFx0PG5nLXNlbGVjdFxyXG5cdFx0XHRcdGNsYXNzPVwiZmlsdGVyLWRhdGUtbGlzdF9fc2VsZWN0XCJcclxuXHRcdFx0XHRbaXRlbXNdPVwib3B0aW9uc1wiXHJcblx0XHRcdFx0YmluZFZhbHVlPVwidmFsdWVcIlxyXG5cdFx0XHRcdFttdWx0aXBsZV09XCJmYWxzZVwiXHJcblx0XHRcdFx0W25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZVwiXHJcblx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU2VsZWN0VmFsdWUoJGV2ZW50KVwiXHJcblx0XHRcdFx0W25vdEZvdW5kVGV4dF09XCJlbXB0eVBsYWNlaG9sZGVyIHx8ICdTRUxFQ1Qubm90Rm91bmRUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cIidTRUxFQ1QucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHRbY2xlYXJBbGxUZXh0XT1cIidTRUxFQ1QuY2xlYXJBbGxUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0W3R5cGVUb1NlYXJjaFRleHRdPVwiJ1NFTEVDVC50eXBlVG9TZWFyY2hUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0W3NlYXJjaGFibGVdPVwiZmFsc2VcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcblx0XHRcdFx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRUZW1wbGF0ZSB8fCBkZWZhdWx0VGVtcGxhdGVcIlxyXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGZpZWxkQ29uZmlnLCBhZ2dyZWdhdGlvbiB9XCJcclxuXHRcdFx0XHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0PGZpbHRlci1vcHRpb24tdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFtvcHRpb25dPVwiaXRlbVwiXHJcblx0XHRcdFx0XHRcdFx0W2xhbmd1YWdlXT1cImxhbmd1YWdlXCJcclxuXHRcdFx0XHRcdFx0XHRbc2hvd0NvdW50XT1cInJlbmRlck9wdGlvbnM/LnNob3dUb3RhbFwiXHJcblx0XHRcdFx0XHRcdD48L2ZpbHRlci1vcHRpb24tdGV4dD5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcblx0XHRcdFx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgY2xhc3M9XCJuZy12YWx1ZVwiPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm5nLXZhbHVlLWxhYmVsXCI+e3sgaXRlbSB8IGxvY2FsaXplZExhYmVsIDogbGFuZ3VhZ2UgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJuZy12YWx1ZS1pY29uIGxlZnRcIiAoY2xpY2spPVwiY2xlYXIoaXRlbSlcIiBhcmlhLWhpZGRlbj1cInRydWVcIj7DlzwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdDxmaWx0ZXItb3B0aW9uLXRleHRcclxuXHRcdFx0XHRcdFx0W29wdGlvbl09XCJpdGVtXCJcclxuXHRcdFx0XHRcdFx0W2xhbmd1YWdlXT1cImxhbmd1YWdlXCJcclxuXHRcdFx0XHRcdFx0W3Nob3dDb3VudF09XCJyZW5kZXJPcHRpb25zPy5zaG93VG90YWxcIlxyXG5cdFx0XHRcdFx0PjwvZmlsdGVyLW9wdGlvbi10ZXh0PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdDwvbmctc2VsZWN0PlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblxyXG5cdFx0PGZpbHRlci1kYXRlLXJhbmdlXHJcblx0XHRcdGNsYXNzPVwiZmlsdGVyLWRhdGUtbGlzdF9fcmFuZ2VcIlxyXG5cdFx0XHQqbmdJZj1cInJlbmRlck9wdGlvbnM/Lm1pbk1heFwiXHJcblx0XHRcdFtmb3JtQ29udHJvbF09XCJtaW5NYXhEYXRlQ3RybFwiXHJcblx0XHQ+PC9maWx0ZXItZGF0ZS1yYW5nZT5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,83 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { BaseAggregationField } from '../../base';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../__parts/field-header.component";
6
- import * as i2 from "@ng-select/ng-select";
7
- import * as i3 from "../__parts/filter-option-text/filter-option-text.component";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@angular/forms";
10
- import * as i6 from "@ngx-translate/core";
11
- import * as i7 from "../../pipes/localized-label.pipe";
12
- export class AggregationSelectComponent extends BaseAggregationField {
13
- constructor() {
14
- super(...arguments);
15
- this.searchFn = (term, item) => {
16
- term = term.toLowerCase();
17
- let searchString = item.localizedLabel
18
- ? `${item.localizedLabel[this.language]}`
19
- : `${this.translateService.instant(item.label)}`;
20
- return searchString.toLowerCase().includes(term);
21
- };
22
- }
23
- writeValue(obj) {
24
- var _a;
25
- if (obj) {
26
- const isMulti = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.multiple;
27
- this.internalValue = Array.isArray(obj) && !isMulti ? obj[0] : obj;
28
- this.cdr.detectChanges();
29
- }
30
- else if (this._isFieldDirty) {
31
- this.internalValue = null;
32
- this._isFieldDirty = false;
33
- }
34
- }
35
- updateValue(value) {
36
- this.internalValue = value;
37
- this.onChange(this._isValueObject() ? this._prepareValueObject(value) : value);
38
- this._isFieldDirty = Array.isArray(value) ? !!(value === null || value === void 0 ? void 0 : value.length) : !!value;
39
- }
40
- }
41
- AggregationSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
42
- AggregationSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationSelectComponent, selector: "app-aggregation-select", inputs: { labelTemplate: "labelTemplate", multiLabelTemplate: "multiLabelTemplate" }, host: { classAttribute: "filter-dropdown" }, providers: [
43
- {
44
- provide: NG_VALUE_ACCESSOR,
45
- useExisting: forwardRef(() => AggregationSelectComponent),
46
- multi: true
47
- },
48
- {
49
- provide: NG_VALIDATORS,
50
- useExisting: forwardRef(() => AggregationSelectComponent),
51
- multi: true
52
- }
53
- ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-dropdown__label\">{{\r\n\t\tfieldConfig.label | translate\r\n\t}}</field-header>\r\n\r\n\t<div class=\"filter-dropdown__wrapper\">\r\n\t\t<ng-select\r\n\t\t\tclass=\"filter-dropdown__wrapper__select\"\r\n\t\t\t[items]=\"options\"\r\n\t\t\tbindValue=\"value\"\r\n\t\t\t[multiple]=\"renderOptions?.multiple\"\r\n\t\t\t[closeOnSelect]=\"!renderOptions?.multiple\"\r\n\t\t\t[ngModel]=\"internalValue\"\r\n\t\t\t(ngModelChange)=\"updateValue($event)\"\r\n\t\t\t[notFoundText]=\"emptyPlaceholder || 'SELECT.notFoundText' | translate\"\r\n\t\t\t[placeholder]=\"placeholder || 'SELECT.placeholder' | translate\"\r\n\t\t\t[clearAllText]=\"clearAllText || 'SELECT.clearAllText' | translate\"\r\n\t\t\t[typeToSearchText]=\"\r\n\t\t\t\ttypeToSearchText || 'SELECT.typeToSearchText' | translate\r\n\t\t\t\"\r\n\t\t\t[searchFn]=\"searchFn\"\r\n\t\t>\r\n\t\t\t<ng-template ng-option-tmp let-item=\"item\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-template>\r\n\r\n\t\t\t<ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"multiLabelTemplate || defaultMultiLabelTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: items,\r\n\t\t\t\t\t\tfieldConfig,\r\n\t\t\t\t\t\taggregation,\r\n\t\t\t\t\t\tclear\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t\t<ng-template #defaultMultiLabelTemplate>\r\n\t\t\t\t\t<div *ngFor=\"let item of items\" class=\"ng-value\">\r\n\t\t\t\t\t\t<span class=\"ng-value-label\">{{\r\n\t\t\t\t\t\t\titem | localizedLabel : language\r\n\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclass=\"ng-value-icon left\"\r\n\t\t\t\t\t\t\t(click)=\"clear(item)\"\r\n\t\t\t\t\t\t\taria-hidden=\"true\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\u00D7\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-template>\r\n\r\n\t\t\t<ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate || defaultLabelTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: item,\r\n\t\t\t\t\t\tfieldConfig,\r\n\t\t\t\t\t\taggregation,\r\n\t\t\t\t\t\tclear\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t\t<ng-template #defaultLabelTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-template>\r\n\t\t</ng-select>\r\n\t</div>\r\n</ng-container>\r\n", styles: [".filter-dropdown{--ng-input-position: absolute;display:var(--fa-dropdown-display, block)}.filter-dropdown__wrapper{margin-inline:var(--fa-dropdown-margin-inline, .5rem);margin-block:var(--fa-dropdown-margin-block, 0);max-width:var(--fa-dropdown-max-width, 300px)}.filter-dropdown .ng-value-container .ng-value{white-space:normal}\n"], components: [{ type: i1.FieldHeaderComponent, selector: "field-header" }, { type: i2.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"] }, { type: i3.FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.ɵf, selector: "[ng-option-tmp]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ɵh, selector: "[ng-label-tmp]" }], pipes: { "async": i4.AsyncPipe, "translate": i6.TranslatePipe, "localizedLabel": i7.LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationSelectComponent, decorators: [{
55
- type: Component,
56
- args: [{
57
- selector: 'app-aggregation-select',
58
- templateUrl: './aggregation-select.component.html',
59
- styleUrls: ['./aggregation-select.component.scss'],
60
- encapsulation: ViewEncapsulation.None,
61
- changeDetection: ChangeDetectionStrategy.OnPush,
62
- providers: [
63
- {
64
- provide: NG_VALUE_ACCESSOR,
65
- useExisting: forwardRef(() => AggregationSelectComponent),
66
- multi: true
67
- },
68
- {
69
- provide: NG_VALIDATORS,
70
- useExisting: forwardRef(() => AggregationSelectComponent),
71
- multi: true
72
- }
73
- ],
74
- host: {
75
- class: 'filter-dropdown'
76
- }
77
- }]
78
- }], propDecorators: { labelTemplate: [{
79
- type: Input
80
- }], multiLabelTemplate: [{
81
- type: Input
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL25kZi10YWJsZS9maWx0ZXJzLXBhbmVsL2NvbXBvbmVudHMvYWdncmVnYXRpb24tc2VsZWN0L2FnZ3JlZ2F0aW9uLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9jb21wb25lbnRzL2FnZ3JlZ2F0aW9uLXNlbGVjdC9hZ2dyZWdhdGlvbi1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7OztBQXlCbEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFnQztJQXRCaEY7O1FBMkJDLGFBQVEsR0FBRyxDQUFDLElBQVksRUFBRSxJQUFrQixFQUFFLEVBQUU7WUFDL0MsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUUxQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYztnQkFDckMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3pDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFFbEQsT0FBTyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztLQWtCRjtJQWhCQSxVQUFVLENBQUMsR0FBc0I7O1FBQ2hDLElBQUksR0FBRyxFQUFFO1lBQ1IsTUFBTSxPQUFPLEdBQUcsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxRQUFRLENBQUM7WUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3pCO2FBQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUF3QjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN2RSxDQUFDOzt3SEE5QlcsMEJBQTBCOzRHQUExQiwwQkFBMEIsb0xBaEIzQjtRQUNWO1lBQ0MsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1lBQ3pELEtBQUssRUFBRSxJQUFJO1NBQ1g7UUFDRDtZQUNDLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7WUFDekQsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELGlEQ3RCRixpbkdBb0ZBOzRGRHpEYSwwQkFBMEI7a0JBdEJ0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELFNBQVMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO29CQUNsRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFDRDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLGlCQUFpQjtxQkFDeEI7aUJBQ0Q7OEJBRVMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlQWdncmVnYXRpb25GaWVsZCB9IGZyb20gJy4uLy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYWdncmVnYXRpb24tc2VsZWN0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYWdncmVnYXRpb24tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9hZ2dyZWdhdGlvbi1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcclxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWdncmVnYXRpb25TZWxlY3RDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWdncmVnYXRpb25TZWxlY3RDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fVxyXG5cdF0sXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICdmaWx0ZXItZHJvcGRvd24nXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlQWdncmVnYXRpb25GaWVsZDwnZHJvcGRvd24nPiB7XHJcblx0QElucHV0KCkgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHRASW5wdXQoKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblx0aW50ZXJuYWxWYWx1ZTogc3RyaW5nIHwgc3RyaW5nW107XHJcblxyXG5cdHNlYXJjaEZuID0gKHRlcm06IHN0cmluZywgaXRlbTogRmlsdGVyT3B0aW9uKSA9PiB7XHJcblx0XHR0ZXJtID0gdGVybS50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHRcdGxldCBzZWFyY2hTdHJpbmcgPSBpdGVtLmxvY2FsaXplZExhYmVsXHJcblx0XHRcdD8gYCR7aXRlbS5sb2NhbGl6ZWRMYWJlbFt0aGlzLmxhbmd1YWdlXX1gXHJcblx0XHRcdDogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoaXRlbS5sYWJlbCl9YDtcclxuXHJcblx0XHRyZXR1cm4gc2VhcmNoU3RyaW5nLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSk7XHJcblx0fTtcclxuXHJcblx0d3JpdGVWYWx1ZShvYmo6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGNvbnN0IGlzTXVsdGkgPSB0aGlzLnJlbmRlck9wdGlvbnM/Lm11bHRpcGxlO1xyXG5cdFx0XHR0aGlzLmludGVybmFsVmFsdWUgPSBBcnJheS5pc0FycmF5KG9iaikgJiYgIWlzTXVsdGkgPyBvYmpbMF0gOiBvYmo7XHJcblx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5faXNGaWVsZERpcnR5KSB7XHJcblx0XHRcdHRoaXMuaW50ZXJuYWxWYWx1ZSA9IG51bGw7XHJcblx0XHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXBkYXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcblx0XHR0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcclxuXHRcdHRoaXMub25DaGFuZ2UodGhpcy5faXNWYWx1ZU9iamVjdCgpID8gdGhpcy5fcHJlcGFyZVZhbHVlT2JqZWN0KHZhbHVlKSA6IHZhbHVlKTtcclxuXHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gISF2YWx1ZT8ubGVuZ3RoIDogISF2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbnMkIHwgYXN5bmMgYXMgb3B0aW9uc1wiPlxyXG5cdDxmaWVsZC1oZWFkZXIgKm5nSWY9XCJmaWVsZENvbmZpZy5sYWJlbCAmJiAhcmVuZGVyT3B0aW9ucz8uaGlkZUxhYmVsXCIgY2xhc3M9XCJmaWx0ZXItZHJvcGRvd25fX2xhYmVsXCI+e3tcclxuXHRcdGZpZWxkQ29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlXHJcblx0fX08L2ZpZWxkLWhlYWRlcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cImZpbHRlci1kcm9wZG93bl9fd3JhcHBlclwiPlxyXG5cdFx0PG5nLXNlbGVjdFxyXG5cdFx0XHRjbGFzcz1cImZpbHRlci1kcm9wZG93bl9fd3JhcHBlcl9fc2VsZWN0XCJcclxuXHRcdFx0W2l0ZW1zXT1cIm9wdGlvbnNcIlxyXG5cdFx0XHRiaW5kVmFsdWU9XCJ2YWx1ZVwiXHJcblx0XHRcdFttdWx0aXBsZV09XCJyZW5kZXJPcHRpb25zPy5tdWx0aXBsZVwiXHJcblx0XHRcdFtjbG9zZU9uU2VsZWN0XT1cIiFyZW5kZXJPcHRpb25zPy5tdWx0aXBsZVwiXHJcblx0XHRcdFtuZ01vZGVsXT1cImludGVybmFsVmFsdWVcIlxyXG5cdFx0XHQobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuXHRcdFx0W25vdEZvdW5kVGV4dF09XCJlbXB0eVBsYWNlaG9sZGVyIHx8ICdTRUxFQ1Qubm90Rm91bmRUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAnU0VMRUNULnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFtjbGVhckFsbFRleHRdPVwiY2xlYXJBbGxUZXh0IHx8ICdTRUxFQ1QuY2xlYXJBbGxUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFt0eXBlVG9TZWFyY2hUZXh0XT1cIlxyXG5cdFx0XHRcdHR5cGVUb1NlYXJjaFRleHQgfHwgJ1NFTEVDVC50eXBlVG9TZWFyY2hUZXh0JyB8IHRyYW5zbGF0ZVxyXG5cdFx0XHRcIlxyXG5cdFx0XHRbc2VhcmNoRm5dPVwic2VhcmNoRm5cIlxyXG5cdFx0PlxyXG5cdFx0XHQ8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgZmllbGRDb25maWcsIGFnZ3JlZ2F0aW9uIH1cIlxyXG5cdFx0XHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwiaXRlbVwiXHJcblx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFtzaG93Q291bnRdPVwicmVuZGVyT3B0aW9ucz8uc2hvd1RvdGFsXCJcclxuXHRcdFx0XHRcdD48L2ZpbHRlci1vcHRpb24tdGV4dD5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRcdFx0PG5nLXRlbXBsYXRlIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwibXVsdGlMYWJlbFRlbXBsYXRlIHx8IGRlZmF1bHRNdWx0aUxhYmVsVGVtcGxhdGVcIlxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcclxuXHRcdFx0XHRcdFx0JGltcGxpY2l0OiBpdGVtcyxcclxuXHRcdFx0XHRcdFx0ZmllbGRDb25maWcsXHJcblx0XHRcdFx0XHRcdGFnZ3JlZ2F0aW9uLFxyXG5cdFx0XHRcdFx0XHRjbGVhclxyXG5cdFx0XHRcdFx0fVwiXHJcblx0XHRcdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE11bHRpTGFiZWxUZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBjbGFzcz1cIm5nLXZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57e1xyXG5cdFx0XHRcdFx0XHRcdGl0ZW0gfCBsb2NhbGl6ZWRMYWJlbCA6IGxhbmd1YWdlXHJcblx0XHRcdFx0XHRcdH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJuZy12YWx1ZS1pY29uIGxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJjbGVhcihpdGVtKVwiXHJcblx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdMOXXHJcblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlIHx8IGRlZmF1bHRMYWJlbFRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XHJcblx0XHRcdFx0XHRcdCRpbXBsaWNpdDogaXRlbSxcclxuXHRcdFx0XHRcdFx0ZmllbGRDb25maWcsXHJcblx0XHRcdFx0XHRcdGFnZ3JlZ2F0aW9uLFxyXG5cdFx0XHRcdFx0XHRjbGVhclxyXG5cdFx0XHRcdFx0fVwiXHJcblx0XHRcdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhYmVsVGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwiaXRlbVwiXHJcblx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFtzaG93Q291bnRdPVwicmVuZGVyT3B0aW9ucz8uc2hvd1RvdGFsXCJcclxuXHRcdFx0XHRcdD48L2ZpbHRlci1vcHRpb24tdGV4dD5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PC9uZy1zZWxlY3Q+XHJcblx0PC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -1,11 +0,0 @@
1
- export * from './__parts';
2
- export * from './aggregation-autocomplete/aggregation-autocomplete.component';
3
- export * from './aggregation-checkbox/aggregation-checkbox.component';
4
- export * from './aggregation-custom/aggregation-custom.component';
5
- export * from './aggregation-date-list/aggregation-date-list.component';
6
- export * from './aggregation-radio/aggregation-radio.component';
7
- export * from './aggregation-select/aggregation-select.component';
8
- export * from './aggregation-switch/aggregation-switch.component';
9
- export * from './predicate-text-input/predicate-text-input.component';
10
- export * from './predicate-date-input/predicate-date-input.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9fX3BhcnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9hZ2dyZWdhdGlvbi1hdXRvY29tcGxldGUvYWdncmVnYXRpb24tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWdncmVnYXRpb24tY2hlY2tib3gvYWdncmVnYXRpb24tY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9hZ2dyZWdhdGlvbi1jdXN0b20vYWdncmVnYXRpb24tY3VzdG9tLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWdncmVnYXRpb24tZGF0ZS1saXN0L2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FnZ3JlZ2F0aW9uLXJhZGlvL2FnZ3JlZ2F0aW9uLXJhZGlvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWdncmVnYXRpb24tc2VsZWN0L2FnZ3JlZ2F0aW9uLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FnZ3JlZ2F0aW9uLXN3aXRjaC9hZ2dyZWdhdGlvbi1zd2l0Y2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wcmVkaWNhdGUtdGV4dC1pbnB1dC9wcmVkaWNhdGUtdGV4dC1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ByZWRpY2F0ZS1kYXRlLWlucHV0L3ByZWRpY2F0ZS1kYXRlLWlucHV0LmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,146 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
2
- import { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
- import { BasePredicateField } from '../../base';
4
- import { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
5
- import * as moment from 'moment/moment';
6
- import { isDateObject, isFieldValueObject, NxQL } from '../../utility';
7
- import _ from 'lodash';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../../../ndf-datepicker/ndf-datepicker.component";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "@ngx-translate/core";
12
- export class PredicateDateInputComponent extends BasePredicateField {
13
- constructor() {
14
- super(...arguments);
15
- this.formDate = new FormControl(null);
16
- }
17
- get isDateRange() {
18
- var _a;
19
- return (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.isDateRange;
20
- }
21
- get validators() {
22
- return this.isDateRange ? [Validators.required] : [];
23
- }
24
- get debounceTime() {
25
- var _a, _b;
26
- return (_b = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.debounceTime) !== null && _b !== void 0 ? _b : 300;
27
- }
28
- writeValue(obj) {
29
- if (obj) {
30
- if (isFieldValueObject(obj)) {
31
- return this._handelFieldValueData(obj);
32
- }
33
- if (isDateObject(obj)) {
34
- this._handelDateObj(obj);
35
- }
36
- if (typeof obj === 'string' && !this.isDateRange) {
37
- this.formDate.setValue(obj, { emitEvent: false });
38
- }
39
- return;
40
- }
41
- this.formDate.reset(null, {
42
- emitEvent: false
43
- });
44
- }
45
- validate(control) {
46
- return control.valid ? null : control.errors;
47
- }
48
- ngOnInit() {
49
- this.formDate.valueChanges
50
- .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => _.isEqual(a, b)), debounceTime(this.debounceTime), takeUntil(this.destroy$))
51
- .subscribe((res) => {
52
- this._isFieldDirty = !!res;
53
- this.onChange(res);
54
- });
55
- }
56
- _handelDateObj(date) {
57
- const { min, max } = date;
58
- this.formDate.setValue({
59
- from: min,
60
- to: max
61
- }, { emitEvent: false });
62
- }
63
- _handelFieldValueData(date) {
64
- const { min, max, value } = date;
65
- this.formDate.patchValue({
66
- from: min || value,
67
- to: max
68
- }, { emitEvent: false });
69
- }
70
- _prepareDateToEmit(date) {
71
- if (!date || !(date === null || date === void 0 ? void 0 : date.value)) {
72
- return null;
73
- }
74
- const { value } = date;
75
- if (typeof value === 'string' && !this.isDateRange) {
76
- return value;
77
- }
78
- const { from: min, to: max } = value;
79
- const _hasData = min || max;
80
- if (!_hasData) {
81
- return;
82
- }
83
- if (this.field.valueType == 'property') {
84
- if (min && max && this.isDateRange) {
85
- return this._normalizeDateRange({ min, max });
86
- }
87
- return min;
88
- }
89
- if (this._isValueObject()) {
90
- const _date = this._normalizeDateRange({ min, max });
91
- const _operator = NxQL._getRangeOperator(_date);
92
- return NxQL._getValueRange(_date, 'DATE', _operator);
93
- }
94
- return;
95
- }
96
- _normalizeDateRange(date) {
97
- moment.locale('en');
98
- if (!date) {
99
- return null;
100
- }
101
- const { min, max } = date;
102
- return {
103
- min: min ? moment(min).startOf('day').format() : min,
104
- max: max ? moment(max).endOf('day').format() : max
105
- };
106
- }
107
- }
108
- PredicateDateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateDateInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
109
- PredicateDateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PredicateDateInputComponent, selector: "lib-predicate-date-input", host: { classAttribute: "date-field" }, providers: [
110
- {
111
- provide: NG_VALUE_ACCESSOR,
112
- useExisting: forwardRef(() => PredicateDateInputComponent),
113
- multi: true
114
- },
115
- {
116
- provide: NG_VALIDATORS,
117
- useExisting: forwardRef(() => PredicateDateInputComponent),
118
- multi: true
119
- }
120
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"filter-date-input\" (click)=\"$event.stopPropagation()\">\r\n\t<ndf-datepicker\r\n\t\t[formControl]=\"formDate\"\r\n\t\t[range]=\"isDateRange\"\r\n\t\t[startDatePlaceholder]=\"'FILTERS.from' | translate\"\r\n\t\t[endDatePlaceholder]=\"'FILTERS.to' | translate\"\r\n\t\t[placeholder]=\"renderOptions?.placeholder\"\r\n\t\t[showActions]=\"renderOptions?.showActions ?? true\"\r\n\t\t[autoFill]=\"renderOptions?.autoFill\"\r\n\t\t[panelClass]=\"renderOptions?.panelClass\"\r\n\t\t[startView]=\"renderOptions?.startView\"\r\n\t\t[max]=\"renderOptions?.max\"\r\n\t\t[min]=\"renderOptions?.min\"\r\n\t\t[startAt]=\"renderOptions?.startAt\"\r\n\t\t[updateLocalLang]=\"renderOptions?.updateLocalLang ?? true\"\r\n\t\t[hijriDisplayFormat]=\"renderOptions?.hijriDisplayFormat\"\r\n\t\t[displayFormat]=\"renderOptions?.displayFormat\"\r\n\t></ndf-datepicker>\r\n</div>\r\n", styles: [".filter-date-input .mat-form-field-appearance-outline .mat-form-field-infix{padding:.6rem 0}.filter-date-input .mat-form-field-prefix .mat-icon-button,.filter-date-input .mat-form-field-suffix .mat-icon-button,.filter-date-input .mat-icon-button{width:1.8rem;height:1.8rem}.filter-date-input .mat-form-field-wrapper{padding-bottom:0}.filter-date-input input{font-weight:300;font-size:var(--f-input-font-size, 13px)}\n"], components: [{ type: i1.NdfDatepickerComponent, selector: "ndf-datepicker", inputs: ["label", "showActions", "autoFill", "panelClass", "endDatePlaceholder", "startDatePlaceholder", "placeholder", "startView", "appearance", "dateFilter", "max", "min", "startAt", "updateLocalLang", "hijriDisplayFormat", "displayFormat"], outputs: ["yearSelected", "monthSelected"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i3.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateDateInputComponent, decorators: [{
122
- type: Component,
123
- args: [{
124
- selector: 'lib-predicate-date-input',
125
- templateUrl: './predicate-date-input.component.html',
126
- styleUrls: ['./predicate-date-input.component.scss'],
127
- encapsulation: ViewEncapsulation.None,
128
- changeDetection: ChangeDetectionStrategy.Default,
129
- providers: [
130
- {
131
- provide: NG_VALUE_ACCESSOR,
132
- useExisting: forwardRef(() => PredicateDateInputComponent),
133
- multi: true
134
- },
135
- {
136
- provide: NG_VALIDATORS,
137
- useExisting: forwardRef(() => PredicateDateInputComponent),
138
- multi: true
139
- }
140
- ],
141
- host: {
142
- class: 'date-field'
143
- }
144
- }]
145
- }] });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGljYXRlLWRhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2ZpbHRlcnMtcGFuZWwvY29tcG9uZW50cy9wcmVkaWNhdGUtZGF0ZS1pbnB1dC9wcmVkaWNhdGUtZGF0ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9jb21wb25lbnRzL3ByZWRpY2F0ZS1kYXRlLWlucHV0L3ByZWRpY2F0ZS1kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFFTixXQUFXLEVBQ1gsYUFBYSxFQUNiLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQWlDdkIsTUFBTSxPQUFPLDJC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d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNYO3dCQUNEOzRCQUNDLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSxZQUFZO3FCQUNuQjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuXHRBYnN0cmFjdENvbnRyb2wsXHJcblx0Rm9ybUNvbnRyb2wsXHJcblx0TkdfVkFMSURBVE9SUyxcclxuXHROR19WQUxVRV9BQ0NFU1NPUixcclxuXHRWYWxpZGF0aW9uRXJyb3JzLFxyXG5cdFZhbGlkYXRvcnNcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VQcmVkaWNhdGVGaWVsZCB9IGZyb20gJy4uLy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBGaWVsZFZhbHVlT2JqZWN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgaXNEYXRlT2JqZWN0LCBpc0ZpZWxkVmFsdWVPYmplY3QsIE54UUwgfSBmcm9tICcuLi8uLi91dGlsaXR5JztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgRGF0ZVZhbHVlT2JqZWN0LCBMb2NhbGl6ZURhdGVWYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL25kZi1kYXRlcGlja2VyJztcclxuXHJcbnR5cGUgRGF0ZVR5cGUgPVxyXG5cdHwgc3RyaW5nXHJcblx0fCBGaWVsZFZhbHVlT2JqZWN0PHN0cmluZz5cclxuXHR8IHtcclxuXHRcdFx0bWluOiBzdHJpbmc7XHJcblx0XHRcdG1heDogc3RyaW5nO1xyXG5cdCAgfTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLXByZWRpY2F0ZS1kYXRlLWlucHV0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcHJlZGljYXRlLWRhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3ByZWRpY2F0ZS1kYXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcmVkaWNhdGVEYXRlSW5wdXRDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJlZGljYXRlRGF0ZUlucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnZGF0ZS1maWVsZCdcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmVkaWNhdGVEYXRlSW5wdXRDb21wb25lbnRcclxuXHRleHRlbmRzIEJhc2VQcmVkaWNhdGVGaWVsZDwnZGF0ZScsIHN0cmluZyB8IEZpZWxkVmFsdWVPYmplY3Q8c3RyaW5nPj5cclxuXHRpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcblx0Zm9ybURhdGUgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcblxyXG5cdGdldCBpc0RhdGVSYW5nZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLnJlbmRlck9wdGlvbnM/LmlzRGF0ZVJhbmdlO1xyXG5cdH1cclxuXHJcblx0Z2V0IHZhbGlkYXRvcnMoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc0RhdGVSYW5nZSA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xyXG5cdH1cclxuXHJcblx0Z2V0IGRlYm91bmNlVGltZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLnJlbmRlck9wdGlvbnM/LmRlYm91bmNlVGltZSA/PyAzMDA7XHJcblx0fVxyXG5cclxuXHR3cml0ZVZhbHVlKG9iajogRGF0ZVR5cGUpOiB2b2lkIHtcclxuXHRcdGlmIChvYmopIHtcclxuXHRcdFx0aWYgKGlzRmllbGRWYWx1ZU9iamVjdChvYmopKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuX2hhbmRlbEZpZWxkVmFsdWVEYXRhKG9iaik7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGlzRGF0ZU9iamVjdChvYmopKSB7XHJcblx0XHRcdFx0dGhpcy5faGFuZGVsRGF0ZU9iaihvYmopO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycgJiYgIXRoaXMuaXNEYXRlUmFuZ2UpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm1EYXRlLnNldFZhbHVlKG9iaiwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuZm9ybURhdGUucmVzZXQobnVsbCwge1xyXG5cdFx0XHRlbWl0RXZlbnQ6IGZhbHNlXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG5cdFx0cmV0dXJuIGNvbnRyb2wudmFsaWQgPyBudWxsIDogY29udHJvbC5lcnJvcnM7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZm9ybURhdGUudmFsdWVDaGFuZ2VzXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdG1hcCgoZGF0ZTogTG9jYWxpemVEYXRlVmFsdWU8c3RyaW5nIHwgRGF0ZVZhbHVlT2JqZWN0PikgPT4gdGhpcy5fcHJlcGFyZURhdGVUb0VtaXQoZGF0ZSkpLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBfLmlzRXF1YWwoYSwgYikpLFxyXG5cdFx0XHRcdGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5faXNGaWVsZERpcnR5ID0gISFyZXM7XHJcblx0XHRcdFx0dGhpcy5vbkNoYW5nZShyZXMpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRlbERhdGVPYmooZGF0ZTogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkge1xyXG5cdFx0Y29uc3QgeyBtaW4sIG1heCB9ID0gZGF0ZTtcclxuXHRcdHRoaXMuZm9ybURhdGUuc2V0VmFsdWUoXHJcblx0XHRcdHtcclxuXHRcdFx0XHRmcm9tOiBtaW4sXHJcblx0XHRcdFx0dG86IG1heFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGVtaXRFdmVudDogZmFsc2UgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRlbEZpZWxkVmFsdWVEYXRhKGRhdGU6IEZpZWxkVmFsdWVPYmplY3Q8c3RyaW5nPikge1xyXG5cdFx0Y29uc3QgeyBtaW4sIG1heCwgdmFsdWUgfSA9IGRhdGU7XHJcblx0XHR0aGlzLmZvcm1EYXRlLnBhdGNoVmFsdWUoXHJcblx0XHRcdHtcclxuXHRcdFx0XHRmcm9tOiBtaW4gfHwgdmFsdWUsXHJcblx0XHRcdFx0dG86IG1heFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGVtaXRFdmVudDogZmFsc2UgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVEYXRlVG9FbWl0KGRhdGU6IExvY2FsaXplRGF0ZVZhbHVlPHN0cmluZyB8IERhdGVWYWx1ZU9iamVjdD4pIHtcclxuXHRcdGlmICghZGF0ZSB8fCAhZGF0ZT8udmFsdWUpIHtcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHR9XHJcblx0XHRjb25zdCB7IHZhbHVlIH0gPSBkYXRlO1xyXG5cdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIXRoaXMuaXNEYXRlUmFuZ2UpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHsgZnJvbTogbWluLCB0bzogbWF4IH0gPSB2YWx1ZSBhcyBEYXRlVmFsdWVPYmplY3Q7XHJcblxyXG5cdFx0Y29uc3QgX2hhc0RhdGEgPSBtaW4gfHwgbWF4O1xyXG5cdFx0aWYgKCFfaGFzRGF0YSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5maWVsZC52YWx1ZVR5cGUgPT0gJ3Byb3BlcnR5Jykge1xyXG5cdFx0XHRpZiAobWluICYmIG1heCAmJiB0aGlzLmlzRGF0ZVJhbmdlKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuX25vcm1hbGl6ZURhdGVSYW5nZSh7IG1pbiwgbWF4IH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBtaW47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuX2lzVmFsdWVPYmplY3QoKSkge1xyXG5cdFx0XHRjb25zdCBfZGF0ZSA9IHRoaXMuX25vcm1hbGl6ZURhdGVSYW5nZSh7IG1pbiwgbWF4IH0pO1xyXG5cdFx0XHRjb25zdCBfb3BlcmF0b3IgPSBOeFFMLl9nZXRSYW5nZU9wZXJhdG9yKF9kYXRlKTtcclxuXHRcdFx0cmV0dXJuIE54UUwuX2dldFZhbHVlUmFuZ2UoX2RhdGUsICdEQVRFJywgX29wZXJhdG9yKTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm47XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9ub3JtYWxpemVEYXRlUmFuZ2UoZGF0ZTogeyBtaW46IHN0cmluZyB8IG51bGw7IG1heDogc3RyaW5nIHwgbnVsbCB9KSB7XHJcblx0XHRtb21lbnQubG9jYWxlKCdlbicpO1xyXG5cclxuXHRcdGlmICghZGF0ZSkge1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHsgbWluLCBtYXggfSA9IGRhdGU7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRtaW46IG1pbiA/IG1vbWVudChtaW4pLnN0YXJ0T2YoJ2RheScpLmZvcm1hdCgpIDogbWluLFxyXG5cdFx0XHRtYXg6IG1heCA/IG1vbWVudChtYXgpLmVuZE9mKCdkYXknKS5mb3JtYXQoKSA6IG1heFxyXG5cdFx0fTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1kYXRlLWlucHV0XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG5cdDxuZGYtZGF0ZXBpY2tlclxyXG5cdFx0W2Zvcm1Db250cm9sXT1cImZvcm1EYXRlXCJcclxuXHRcdFtyYW5nZV09XCJpc0RhdGVSYW5nZVwiXHJcblx0XHRbc3RhcnREYXRlUGxhY2Vob2xkZXJdPVwiJ0ZJTFRFUlMuZnJvbScgfCB0cmFuc2xhdGVcIlxyXG5cdFx0W2VuZERhdGVQbGFjZWhvbGRlcl09XCInRklMVEVSUy50bycgfCB0cmFuc2xhdGVcIlxyXG5cdFx0W3BsYWNlaG9sZGVyXT1cInJlbmRlck9wdGlvbnM/LnBsYWNlaG9sZGVyXCJcclxuXHRcdFtzaG93QWN0aW9uc109XCJyZW5kZXJPcHRpb25zPy5zaG93QWN0aW9ucyA/PyB0cnVlXCJcclxuXHRcdFthdXRvRmlsbF09XCJyZW5kZXJPcHRpb25zPy5hdXRvRmlsbFwiXHJcblx0XHRbcGFuZWxDbGFzc109XCJyZW5kZXJPcHRpb25zPy5wYW5lbENsYXNzXCJcclxuXHRcdFtzdGFydFZpZXddPVwicmVuZGVyT3B0aW9ucz8uc3RhcnRWaWV3XCJcclxuXHRcdFttYXhdPVwicmVuZGVyT3B0aW9ucz8ubWF4XCJcclxuXHRcdFttaW5dPVwicmVuZGVyT3B0aW9ucz8ubWluXCJcclxuXHRcdFtzdGFydEF0XT1cInJlbmRlck9wdGlvbnM/LnN0YXJ0QXRcIlxyXG5cdFx0W3VwZGF0ZUxvY2FsTGFuZ109XCJyZW5kZXJPcHRpb25zPy51cGRhdGVMb2NhbExhbmcgPz8gdHJ1ZVwiXHJcblx0XHRbaGlqcmlEaXNwbGF5Rm9ybWF0XT1cInJlbmRlck9wdGlvbnM/LmhpanJpRGlzcGxheUZvcm1hdFwiXHJcblx0XHRbZGlzcGxheUZvcm1hdF09XCJyZW5kZXJPcHRpb25zPy5kaXNwbGF5Rm9ybWF0XCJcclxuXHQ+PC9uZGYtZGF0ZXBpY2tlcj5cclxuPC9kaXY+XHJcbiJdfQ==