@recursyve/nice-data-filter-kit 18.0.3 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/_index.scss +1 -1
  2. package/fesm2022/recursyve-nice-data-filter-kit.mjs +388 -326
  3. package/fesm2022/recursyve-nice-data-filter-kit.mjs.map +1 -1
  4. package/index.d.ts +1681 -5
  5. package/package.json +9 -11
  6. package/src/lib/components/base-list/base-list.theme.scss +10 -9
  7. package/src/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.theme.scss +4 -4
  8. package/src/lib/components/nice-filter-view/components/advanced-filters/rule/rule.theme.scss +6 -5
  9. package/src/lib/components/query-builder/query-builder.theme.scss +9 -8
  10. package/src/lib/components/query-builder/rule/rule.theme.scss +8 -7
  11. package/src/lib/nice-data-filter.theme.scss +6 -6
  12. package/esm2022/lib/api/dto/saved-reports.dto.mjs +0 -2
  13. package/esm2022/lib/api/filter.api.mjs +0 -113
  14. package/esm2022/lib/api/models/saved-reports.model.mjs +0 -2
  15. package/esm2022/lib/api/public-api.mjs +0 -2
  16. package/esm2022/lib/api/saved-report.api.mjs +0 -48
  17. package/esm2022/lib/components/base-list/base-list.component.mjs +0 -338
  18. package/esm2022/lib/components/base-list/base-list.constant.mjs +0 -11
  19. package/esm2022/lib/components/base-list/base-list.module.mjs +0 -185
  20. package/esm2022/lib/components/base-list/directives/base-list-buttons.directive.mjs +0 -17
  21. package/esm2022/lib/components/base-list/directives/base-list-cards.directive.mjs +0 -14
  22. package/esm2022/lib/components/base-list/directives/base-list-custom-content.directive.mjs +0 -14
  23. package/esm2022/lib/components/base-list/directives/base-list-directives.module.mjs +0 -55
  24. package/esm2022/lib/components/base-list/directives/base-list-empty-search-result-state.directive.mjs +0 -14
  25. package/esm2022/lib/components/base-list/directives/base-list-empty-state.directive.mjs +0 -14
  26. package/esm2022/lib/components/base-list/directives/base-list-filters.directive.mjs +0 -14
  27. package/esm2022/lib/components/base-list/directives/base-list-table.directive.mjs +0 -17
  28. package/esm2022/lib/components/base-list/directives/base-list-title.directive.mjs +0 -14
  29. package/esm2022/lib/components/base-list/models/columns.model.mjs +0 -8
  30. package/esm2022/lib/components/base-list/models/export.model.mjs +0 -2
  31. package/esm2022/lib/components/base-list/models/icons.model.mjs +0 -18
  32. package/esm2022/lib/components/base-list/models/layout.model.mjs +0 -149
  33. package/esm2022/lib/components/base-list/providers/base-filter.service.mjs +0 -36
  34. package/esm2022/lib/components/base-list/providers/base-list-saved-report.service.mjs +0 -33
  35. package/esm2022/lib/components/base-list/public-api.mjs +0 -19
  36. package/esm2022/lib/components/base-list/store/base-list.query.mjs +0 -51
  37. package/esm2022/lib/components/base-list/store/base-list.service.mjs +0 -375
  38. package/esm2022/lib/components/base-list/store/base-list.store.mjs +0 -88
  39. package/esm2022/lib/components/multi-state-list/models/list-states.model.mjs +0 -3
  40. package/esm2022/lib/components/multi-state-list/multi-state-list.component.mjs +0 -73
  41. package/esm2022/lib/components/multi-state-list/multi-state-list.constant.mjs +0 -3
  42. package/esm2022/lib/components/multi-state-list/multi-state-list.module.mjs +0 -140
  43. package/esm2022/lib/components/multi-state-list/providers/multi-state-filter.service.mjs +0 -11
  44. package/esm2022/lib/components/multi-state-list/public-api.mjs +0 -8
  45. package/esm2022/lib/components/multi-state-list/store/multi-state-list.query.mjs +0 -17
  46. package/esm2022/lib/components/multi-state-list/store/multi-state-list.service.mjs +0 -48
  47. package/esm2022/lib/components/multi-state-list/store/multi-state-list.store.mjs +0 -24
  48. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.mjs +0 -83
  49. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +0 -120
  50. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.mjs +0 -4
  51. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.mjs +0 -121
  52. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +0 -152
  53. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +0 -43
  54. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +0 -49
  55. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/models/advanced-date-filter-options.model.mjs +0 -2
  56. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.mjs +0 -24
  57. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +0 -41
  58. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/public-api.mjs +0 -10
  59. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +0 -52
  60. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.mjs +0 -29
  61. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +0 -28
  62. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/options/options-filter.component.mjs +0 -33
  63. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +0 -30
  64. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +0 -60
  65. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +0 -31
  66. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +0 -72
  67. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +0 -80
  68. package/esm2022/lib/components/nice-filter-view/components/common/data.directive.mjs +0 -14
  69. package/esm2022/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +0 -22
  70. package/esm2022/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +0 -115
  71. package/esm2022/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +0 -27
  72. package/esm2022/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +0 -39
  73. package/esm2022/lib/components/nice-filter-view/components/search/search.component.mjs +0 -60
  74. package/esm2022/lib/components/nice-filter-view/directives/mat-paginator.mjs +0 -42
  75. package/esm2022/lib/components/nice-filter-view/directives/mat-sort.mjs +0 -52
  76. package/esm2022/lib/components/nice-filter-view/directives/mat-tables.mjs +0 -22
  77. package/esm2022/lib/components/nice-filter-view/directives/query-params.directive.mjs +0 -94
  78. package/esm2022/lib/components/nice-filter-view/models/order-options.model.mjs +0 -2
  79. package/esm2022/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +0 -181
  80. package/esm2022/lib/components/nice-filter-view/nice-filter-view.component.mjs +0 -34
  81. package/esm2022/lib/components/nice-filter-view/nice-filter-view.constant.mjs +0 -6
  82. package/esm2022/lib/components/nice-filter-view/nice-filter-view.module.mjs +0 -147
  83. package/esm2022/lib/components/nice-filter-view/nice-nested-filter-view.mjs +0 -46
  84. package/esm2022/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.mjs +0 -32
  85. package/esm2022/lib/components/nice-filter-view/public-api.mjs +0 -18
  86. package/esm2022/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +0 -41
  87. package/esm2022/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +0 -290
  88. package/esm2022/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +0 -236
  89. package/esm2022/lib/components/public-api.mjs +0 -5
  90. package/esm2022/lib/components/query-builder/filter-selection/filter-selection.component.mjs +0 -42
  91. package/esm2022/lib/components/query-builder/models/icons.model.mjs +0 -18
  92. package/esm2022/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +0 -32
  93. package/esm2022/lib/components/query-builder/providers/filter-group.service.mjs +0 -3
  94. package/esm2022/lib/components/query-builder/public-api.mjs +0 -15
  95. package/esm2022/lib/components/query-builder/query-builder-trigger.directive.mjs +0 -79
  96. package/esm2022/lib/components/query-builder/query-builder.component.mjs +0 -100
  97. package/esm2022/lib/components/query-builder/query-builder.constant.mjs +0 -3
  98. package/esm2022/lib/components/query-builder/query-builder.form.mjs +0 -79
  99. package/esm2022/lib/components/query-builder/query-builder.module.mjs +0 -128
  100. package/esm2022/lib/components/query-builder/rule/components/date/date-filter.component.mjs +0 -40
  101. package/esm2022/lib/components/query-builder/rule/components/filter.component.mjs +0 -29
  102. package/esm2022/lib/components/query-builder/rule/components/number/number-filter.component.mjs +0 -28
  103. package/esm2022/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +0 -30
  104. package/esm2022/lib/components/query-builder/rule/components/select/select-filter.component.mjs +0 -87
  105. package/esm2022/lib/components/query-builder/rule/components/text/text-filter.component.mjs +0 -31
  106. package/esm2022/lib/components/query-builder/rule/rule.component.mjs +0 -85
  107. package/esm2022/lib/components/query-builder/utils/qb-filter.utils.mjs +0 -90
  108. package/esm2022/lib/directive/public-api.mjs +0 -2
  109. package/esm2022/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +0 -2
  110. package/esm2022/lib/directive/selectable-list/model/selectable-list-options.model.mjs +0 -2
  111. package/esm2022/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +0 -10
  112. package/esm2022/lib/directive/selectable-list/providers/selectable-list-content.service.mjs +0 -37
  113. package/esm2022/lib/directive/selectable-list/public-api.mjs +0 -12
  114. package/esm2022/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +0 -164
  115. package/esm2022/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +0 -48
  116. package/esm2022/lib/directive/selectable-list/selectable-list-state.directive.mjs +0 -50
  117. package/esm2022/lib/directive/selectable-list/selectable-list.constant.mjs +0 -3
  118. package/esm2022/lib/directive/selectable-list/selectable-list.directive.mjs +0 -95
  119. package/esm2022/lib/directive/selectable-list/selectable-list.module.mjs +0 -31
  120. package/esm2022/lib/directive/selectable-list/store/selectable-list-state.query.mjs +0 -32
  121. package/esm2022/lib/directive/selectable-list/store/selectable-list-state.service.mjs +0 -220
  122. package/esm2022/lib/directive/selectable-list/store/selectable-list.service.mjs +0 -59
  123. package/esm2022/lib/directive/selectable-list/store/selectable-list.state.mjs +0 -2
  124. package/esm2022/lib/models/filter.model.mjs +0 -10
  125. package/esm2022/lib/models/public-api.mjs +0 -3
  126. package/esm2022/lib/models/query.model.mjs +0 -25
  127. package/esm2022/lib/utils/date.adapter.mjs +0 -34
  128. package/esm2022/lib/utils/filter.utils.mjs +0 -42
  129. package/esm2022/lib/utils/order.utils.mjs +0 -28
  130. package/esm2022/lib/utils/public-api.mjs +0 -5
  131. package/esm2022/lib/utils/query-params.utils.mjs +0 -70
  132. package/esm2022/lib/utils/string.utils.mjs +0 -9
  133. package/esm2022/public-api.mjs +0 -9
  134. package/esm2022/recursyve-nice-data-filter-kit.mjs +0 -5
  135. package/lib/api/dto/saved-reports.dto.d.ts +0 -6
  136. package/lib/api/filter.api.d.ts +0 -59
  137. package/lib/api/models/saved-reports.model.d.ts +0 -5
  138. package/lib/api/public-api.d.ts +0 -1
  139. package/lib/api/saved-report.api.d.ts +0 -20
  140. package/lib/components/base-list/base-list.component.d.ts +0 -109
  141. package/lib/components/base-list/base-list.constant.d.ts +0 -10
  142. package/lib/components/base-list/base-list.module.d.ts +0 -59
  143. package/lib/components/base-list/directives/base-list-buttons.directive.d.ts +0 -9
  144. package/lib/components/base-list/directives/base-list-cards.directive.d.ts +0 -8
  145. package/lib/components/base-list/directives/base-list-custom-content.directive.d.ts +0 -8
  146. package/lib/components/base-list/directives/base-list-directives.module.d.ts +0 -14
  147. package/lib/components/base-list/directives/base-list-empty-search-result-state.directive.d.ts +0 -8
  148. package/lib/components/base-list/directives/base-list-empty-state.directive.d.ts +0 -8
  149. package/lib/components/base-list/directives/base-list-filters.directive.d.ts +0 -8
  150. package/lib/components/base-list/directives/base-list-table.directive.d.ts +0 -9
  151. package/lib/components/base-list/directives/base-list-title.directive.d.ts +0 -8
  152. package/lib/components/base-list/models/columns.model.d.ts +0 -10
  153. package/lib/components/base-list/models/export.model.d.ts +0 -5
  154. package/lib/components/base-list/models/icons.model.d.ts +0 -19
  155. package/lib/components/base-list/models/layout.model.d.ts +0 -26
  156. package/lib/components/base-list/providers/base-filter.service.d.ts +0 -23
  157. package/lib/components/base-list/providers/base-list-saved-report.service.d.ts +0 -17
  158. package/lib/components/base-list/public-api.d.ts +0 -18
  159. package/lib/components/base-list/store/base-list.query.d.ts +0 -19
  160. package/lib/components/base-list/store/base-list.service.d.ts +0 -57
  161. package/lib/components/base-list/store/base-list.store.d.ts +0 -26
  162. package/lib/components/multi-state-list/models/list-states.model.d.ts +0 -10
  163. package/lib/components/multi-state-list/multi-state-list.component.d.ts +0 -18
  164. package/lib/components/multi-state-list/multi-state-list.constant.d.ts +0 -2
  165. package/lib/components/multi-state-list/multi-state-list.module.d.ts +0 -44
  166. package/lib/components/multi-state-list/providers/multi-state-filter.service.d.ts +0 -11
  167. package/lib/components/multi-state-list/public-api.d.ts +0 -7
  168. package/lib/components/multi-state-list/store/multi-state-list.query.d.ts +0 -9
  169. package/lib/components/multi-state-list/store/multi-state-list.service.d.ts +0 -19
  170. package/lib/components/multi-state-list/store/multi-state-list.store.d.ts +0 -10
  171. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.d.ts +0 -27
  172. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.d.ts +0 -31
  173. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.d.ts +0 -3
  174. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.d.ts +0 -19
  175. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.d.ts +0 -44
  176. package/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.d.ts +0 -17
  177. package/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.d.ts +0 -16
  178. package/lib/components/nice-filter-view/components/advanced-filters/models/advanced-date-filter-options.model.d.ts +0 -3
  179. package/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.d.ts +0 -11
  180. package/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.d.ts +0 -20
  181. package/lib/components/nice-filter-view/components/advanced-filters/public-api.d.ts +0 -9
  182. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.d.ts +0 -13
  183. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.d.ts +0 -13
  184. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.d.ts +0 -6
  185. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/options/options-filter.component.d.ts +0 -8
  186. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.d.ts +0 -8
  187. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +0 -18
  188. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.d.ts +0 -8
  189. package/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.d.ts +0 -26
  190. package/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.d.ts +0 -11
  191. package/lib/components/nice-filter-view/components/common/data.directive.d.ts +0 -8
  192. package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +0 -11
  193. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +0 -29
  194. package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +0 -11
  195. package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +0 -15
  196. package/lib/components/nice-filter-view/components/search/search.component.d.ts +0 -20
  197. package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +0 -12
  198. package/lib/components/nice-filter-view/directives/mat-sort.d.ts +0 -11
  199. package/lib/components/nice-filter-view/directives/mat-tables.d.ts +0 -12
  200. package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +0 -23
  201. package/lib/components/nice-filter-view/models/order-options.model.d.ts +0 -7
  202. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +0 -84
  203. package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +0 -12
  204. package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +0 -5
  205. package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +0 -42
  206. package/lib/components/nice-filter-view/nice-nested-filter-view.d.ts +0 -23
  207. package/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.d.ts +0 -11
  208. package/lib/components/nice-filter-view/public-api.d.ts +0 -17
  209. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +0 -20
  210. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +0 -47
  211. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +0 -41
  212. package/lib/components/public-api.d.ts +0 -4
  213. package/lib/components/query-builder/filter-selection/filter-selection.component.d.ts +0 -12
  214. package/lib/components/query-builder/models/icons.model.d.ts +0 -9
  215. package/lib/components/query-builder/pipes/filter-group-icon.pipe.d.ts +0 -11
  216. package/lib/components/query-builder/providers/filter-group.service.d.ts +0 -4
  217. package/lib/components/query-builder/public-api.d.ts +0 -14
  218. package/lib/components/query-builder/query-builder-trigger.directive.d.ts +0 -25
  219. package/lib/components/query-builder/query-builder.component.d.ts +0 -33
  220. package/lib/components/query-builder/query-builder.constant.d.ts +0 -2
  221. package/lib/components/query-builder/query-builder.form.d.ts +0 -18
  222. package/lib/components/query-builder/query-builder.module.d.ts +0 -37
  223. package/lib/components/query-builder/rule/components/date/date-filter.component.d.ts +0 -9
  224. package/lib/components/query-builder/rule/components/filter.component.d.ts +0 -13
  225. package/lib/components/query-builder/rule/components/number/number-filter.component.d.ts +0 -6
  226. package/lib/components/query-builder/rule/components/radio/radio-filter.component.d.ts +0 -8
  227. package/lib/components/query-builder/rule/components/select/select-filter.component.d.ts +0 -22
  228. package/lib/components/query-builder/rule/components/text/text-filter.component.d.ts +0 -8
  229. package/lib/components/query-builder/rule/rule.component.d.ts +0 -29
  230. package/lib/components/query-builder/utils/qb-filter.utils.d.ts +0 -12
  231. package/lib/directive/public-api.d.ts +0 -1
  232. package/lib/directive/selectable-list/model/load-all-entities-options.model.d.ts +0 -4
  233. package/lib/directive/selectable-list/model/selectable-list-options.model.d.ts +0 -7
  234. package/lib/directive/selectable-list/providers/preload-selected-entities.provider.d.ts +0 -12
  235. package/lib/directive/selectable-list/providers/selectable-list-content.service.d.ts +0 -18
  236. package/lib/directive/selectable-list/public-api.d.ts +0 -11
  237. package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +0 -27
  238. package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +0 -18
  239. package/lib/directive/selectable-list/selectable-list-state.directive.d.ts +0 -24
  240. package/lib/directive/selectable-list/selectable-list.constant.d.ts +0 -2
  241. package/lib/directive/selectable-list/selectable-list.directive.d.ts +0 -27
  242. package/lib/directive/selectable-list/selectable-list.module.d.ts +0 -13
  243. package/lib/directive/selectable-list/store/selectable-list-state.query.d.ts +0 -10
  244. package/lib/directive/selectable-list/store/selectable-list-state.service.d.ts +0 -44
  245. package/lib/directive/selectable-list/store/selectable-list.service.d.ts +0 -27
  246. package/lib/directive/selectable-list/store/selectable-list.state.d.ts +0 -10
  247. package/lib/models/filter.model.d.ts +0 -79
  248. package/lib/models/public-api.d.ts +0 -2
  249. package/lib/models/query.model.d.ts +0 -41
  250. package/lib/utils/date.adapter.d.ts +0 -13
  251. package/lib/utils/filter.utils.d.ts +0 -5
  252. package/lib/utils/order.utils.d.ts +0 -7
  253. package/lib/utils/public-api.d.ts +0 -4
  254. package/lib/utils/query-params.utils.d.ts +0 -13
  255. package/lib/utils/string.utils.d.ts +0 -12
  256. package/public-api.d.ts +0 -5
@@ -1,24 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { StoreConfig } from "@datorama/akita";
4
- import { initialBaseListState, NiceBaseListStore } from "../../base-list/store/base-list.store";
5
- import * as i0 from "@angular/core";
6
- export const initialValue = {
7
- ...initialBaseListState
8
- };
9
- let NiceMultiStateListStore = class NiceMultiStateListStore extends NiceBaseListStore {
10
- constructor() {
11
- super(null, []);
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceMultiStateListStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceMultiStateListStore }); }
15
- };
16
- NiceMultiStateListStore = __decorate([
17
- StoreConfig({ name: "multi-state-list", resettable: true }),
18
- __metadata("design:paramtypes", [])
19
- ], NiceMultiStateListStore);
20
- export { NiceMultiStateListStore };
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceMultiStateListStore, decorators: [{
22
- type: Injectable
23
- }], ctorParameters: () => [] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3RhdGUtbGlzdC5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9tdWx0aS1zdGF0ZS1saXN0L3N0b3JlL211bHRpLXN0YXRlLWxpc3Quc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFLbkgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUE0QjtJQUNqRCxHQUFHLG9CQUFvQjtDQUMxQixDQUFDO0FBSUssSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBd0IsU0FBUSxpQkFBMEM7SUFDbkY7UUFDSSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7K0dBSFEsdUJBQXVCO21IQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDOztHQUMvQyx1QkFBdUIsQ0FJbkM7OzRGQUpZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3RvcmVDb25maWcgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBpbml0aWFsQmFzZUxpc3RTdGF0ZSwgTmljZUJhc2VMaXN0U3RhdGUsIE5pY2VCYXNlTGlzdFN0b3JlIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbGlzdC9zdG9yZS9iYXNlLWxpc3Quc3RvcmVcIjtcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBOaWNlTXVsdGlTdGF0ZUxpc3RTdGF0ZSBleHRlbmRzIE5pY2VCYXNlTGlzdFN0YXRlIHt9XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsVmFsdWU6IE5pY2VNdWx0aVN0YXRlTGlzdFN0YXRlID0ge1xuICAgIC4uLmluaXRpYWxCYXNlTGlzdFN0YXRlXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5AU3RvcmVDb25maWcoeyBuYW1lOiBcIm11bHRpLXN0YXRlLWxpc3RcIiwgcmVzZXR0YWJsZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5pY2VNdWx0aVN0YXRlTGlzdFN0b3JlIGV4dGVuZHMgTmljZUJhc2VMaXN0U3RvcmU8TmljZU11bHRpU3RhdGVMaXN0U3RhdGU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIobnVsbCwgW10pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,83 +0,0 @@
1
- import { Overlay, OverlayPositionBuilder } from "@angular/cdk/overlay";
2
- import { Platform } from "@angular/cdk/platform";
3
- import { ComponentPortal } from "@angular/cdk/portal";
4
- import { Directive, ElementRef, EventEmitter, HostListener, Injector, Input, Output } from "@angular/core";
5
- import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
6
- import { NiceFilterViewService } from "../../store/nice-filter-view.service";
7
- import { NiceAdvancedFilterSelectionComponent } from "./filter-selection/filter-selection.component";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../store/nice-filter-view.query";
10
- import * as i2 from "../../store/nice-filter-view.service";
11
- import * as i3 from "@angular/cdk/overlay";
12
- import * as i4 from "@angular/cdk/platform";
13
- export class AdvancedFiltersTriggerDirective {
14
- get connectedPosition() {
15
- if (this.position === "topRight") {
16
- return {
17
- originX: "end",
18
- originY: "top",
19
- overlayX: "start",
20
- overlayY: "top",
21
- offsetX: 15
22
- };
23
- }
24
- return {
25
- originX: "center",
26
- originY: "bottom",
27
- overlayX: "center",
28
- overlayY: "top"
29
- };
30
- }
31
- constructor(query, service, overlayPositionBuilder, elementRef, overlay, platform, injector) {
32
- this.query = query;
33
- this.service = service;
34
- this.overlayPositionBuilder = overlayPositionBuilder;
35
- this.elementRef = elementRef;
36
- this.overlay = overlay;
37
- this.platform = platform;
38
- this.injector = injector;
39
- this.position = "bottomCenter";
40
- this.advancedFilterSelected = new EventEmitter();
41
- }
42
- click() {
43
- const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions([
44
- this.connectedPosition
45
- ]);
46
- this.overlayRef = this.overlay.create({
47
- positionStrategy,
48
- hasBackdrop: true,
49
- backdropClass: "cdk-overlay-transparent-backdrop",
50
- scrollStrategy: this.overlay.scrollStrategies.block()
51
- });
52
- const filterSelectionPortal = new ComponentPortal(NiceAdvancedFilterSelectionComponent, null, this.injector);
53
- this.filterSelectionRef = this.overlayRef.attach(filterSelectionPortal);
54
- this.updateFilterSelectionComponent();
55
- this.overlayRef.backdropClick().subscribe(() => this.close());
56
- }
57
- close() {
58
- this.overlayRef.dispose();
59
- }
60
- updateFilterSelectionComponent() {
61
- if (!this.filterSelectionRef) {
62
- return;
63
- }
64
- this.filterSelectionRef.instance.filterSelected.subscribe((filter) => {
65
- this.advancedFilterSelected.emit(filter);
66
- this.close();
67
- });
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedFiltersTriggerDirective, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i3.Overlay }, { token: i4.Platform }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
70
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: { position: "position" }, outputs: { advancedFilterSelected: "advancedFilterSelected" }, host: { listeners: { "click": "click()" } }, exportAs: ["niceAdvancedFiltersTrigger"], ngImport: i0 }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AdvancedFiltersTriggerDirective, decorators: [{
73
- type: Directive,
74
- args: [{ selector: "[niceAdvancedFiltersTrigger]", exportAs: "niceAdvancedFiltersTrigger" }]
75
- }], ctorParameters: () => [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i3.Overlay }, { type: i4.Platform }, { type: i0.Injector }], propDecorators: { position: [{
76
- type: Input
77
- }], advancedFilterSelected: [{
78
- type: Output
79
- }], click: [{
80
- type: HostListener,
81
- args: ["click"]
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9hZHZhbmNlZC1maWx0ZXJzLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsT0FBTyxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7O0FBR3JHLE1BQU0sT0FBTywrQkFBK0I7SUFVeEMsSUFBWSxpQkFBaUI7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQy9CLE9BQU87Z0JBQ0gsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxFQUFFO2FBQ2QsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPO1lBQ0gsT0FBTyxFQUFFLFFBQVE7WUFDakIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUNZLEtBQTBCLEVBQzFCLE9BQThCLEVBQzlCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixRQUFrQixFQUNsQixRQUFrQjtRQU5sQixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUEvQnZCLGFBQVEsR0FBZ0MsY0FBYyxDQUFDO1FBR3ZELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO0lBNkIxRSxDQUFDO0lBR0csS0FBSztRQUNSLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDcEcsSUFBSSxDQUFDLGlCQUFpQjtTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2xDLGdCQUFnQjtZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtTQUN4RCxDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFDLG9DQUFvQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLEtBQUs7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyw4QkFBOEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1lBQzNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F2RVEsK0JBQStCO21HQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBRDNDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFOzhQQU1wRixRQUFRO3NCQURkLEtBQUs7Z0JBSUMsc0JBQXNCO3NCQUQ1QixNQUFNO2dCQWlDQSxLQUFLO3NCQURYLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcGxhdGZvcm1cIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1F1ZXJ5IH0gZnJvbSBcIi4uLy4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnlcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3U2VydmljZSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnNlcnZpY2VcIjtcbmltcG9ydCB7IE5pY2VBZHZhbmNlZEZpbHRlclNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2ZpbHRlci1zZWxlY3Rpb24vZmlsdGVyLXNlbGVjdGlvbi5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIltuaWNlQWR2YW5jZWRGaWx0ZXJzVHJpZ2dlcl1cIiwgZXhwb3J0QXM6IFwibmljZUFkdmFuY2VkRmlsdGVyc1RyaWdnZXJcIiB9KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyc1RyaWdnZXJEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGZpbHRlclNlbGVjdGlvblJlZjogQ29tcG9uZW50UmVmPE5pY2VBZHZhbmNlZEZpbHRlclNlbGVjdGlvbkNvbXBvbmVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwb3NpdGlvbjogXCJ0b3BSaWdodFwiIHwgXCJib3R0b21DZW50ZXJcIiA9IFwiYm90dG9tQ2VudGVyXCI7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWR2YW5jZWRGaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgY29ubmVjdGVkUG9zaXRpb24oKTogQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gXCJ0b3BSaWdodFwiKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6IFwiZW5kXCIsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogXCJ0b3BcIixcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogXCJzdGFydFwiLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiBcInRvcFwiLFxuICAgICAgICAgICAgICAgIG9mZnNldFg6IDE1XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9yaWdpblg6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBvcmlnaW5ZOiBcImJvdHRvbVwiLFxuICAgICAgICAgICAgb3ZlcmxheVg6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICBvdmVybGF5WTogXCJ0b3BcIlxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5LFxuICAgICAgICBwcml2YXRlIHNlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXG4gICAgcHVibGljIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKS53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkUG9zaXRpb25cbiAgICAgICAgXSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyU2VsZWN0aW9uUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChOaWNlQWR2YW5jZWRGaWx0ZXJTZWxlY3Rpb25Db21wb25lbnQsIG51bGwsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGlvblJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goZmlsdGVyU2VsZWN0aW9uUG9ydGFsKTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJTZWxlY3Rpb25Db21wb25lbnQoKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWx0ZXJTZWxlY3Rpb25Db21wb25lbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJTZWxlY3Rpb25SZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyU2VsZWN0aW9uUmVmLmluc3RhbmNlLmZpbHRlclNlbGVjdGVkLnN1YnNjcmliZSgoZmlsdGVyOiBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWR2YW5jZWRGaWx0ZXJTZWxlY3RlZC5lbWl0KGZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,120 +0,0 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Optional, ViewEncapsulation } from "@angular/core";
2
- import { GeneratedFormGroup, NgxFormGeneratorProvider } from "@recursyve/ngx-form-generator";
3
- import { NICE_ASYNC_TYPEAHEAD_PROVIDER } from "@recursyve/nice-ui-kit.v2";
4
- import { startWith } from "rxjs";
5
- import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
6
- import { NiceFilterViewService } from "../../store/nice-filter-view.service";
7
- import { ADVANCED_FILTER_ICONS } from "./advanced-filters.constant";
8
- import { AdvancedFiltersForm, FilterForm } from "./advanced-filters.form";
9
- import { AdvancedFiltersAsyncTypeaheadProvider } from "./providers/async-typeahead.provider";
10
- import { AdvancedFiltersUtils } from "./utils/advanced-filters.utils";
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@recursyve/ngx-form-generator";
13
- import * as i2 from "../../store/nice-filter-view.query";
14
- import * as i3 from "../../store/nice-filter-view.service";
15
- import * as i4 from "@angular/common";
16
- import * as i5 from "@angular/forms";
17
- import * as i6 from "@angular/material/radio";
18
- import * as i7 from "@angular/material/icon";
19
- import * as i8 from "@angular/material/button";
20
- import * as i9 from "./rule/rule.component";
21
- import * as i10 from "./advanced-filters-trigger.directive";
22
- import * as i11 from "@ngx-translate/core";
23
- export class NiceAdvancedFiltersComponent {
24
- constructor(icons, formGroup, query, service, changeDetectorRef) {
25
- this.icons = icons;
26
- this.formGroup = formGroup;
27
- this.query = query;
28
- this.service = service;
29
- this.changeDetectorRef = changeDetectorRef;
30
- this.config$ = this.query.selectFilterConfig();
31
- this.rulesFormArray = this.formGroup.get("rules");
32
- this.rules$ = this.rulesFormArray.valueChanges.pipe(startWith(this.rulesFormArray.value));
33
- }
34
- ngOnInit() {
35
- const { filterParameters, subStates } = this.query.getValue();
36
- if (filterParameters.rules?.length) {
37
- this.formGroup.patchValue(new AdvancedFiltersForm(filterParameters.rules[0]));
38
- }
39
- if (subStates.initialSelectedFilter) {
40
- this.onClickAddRule(subStates.initialSelectedFilter);
41
- return;
42
- }
43
- }
44
- ngOnDestroy() {
45
- this.removeEmptyRules({ reload: false });
46
- }
47
- onClickAddRule(filterConfigurationModel) {
48
- this.rulesFormArray.push(new FilterForm(AdvancedFiltersUtils.createRule(filterConfigurationModel)));
49
- this.changeDetectorRef.markForCheck();
50
- }
51
- onClickDeleteRule(index) {
52
- this.rulesFormArray.removeAt(index);
53
- if (!this.rulesFormArray.length) {
54
- this.service.setRules([]);
55
- this.service.filter();
56
- this.onClose();
57
- }
58
- }
59
- onClose() {
60
- this.removeEmptyRules();
61
- this.service.updateSubState("showAdvancedFilters", false);
62
- }
63
- onRefresh() {
64
- this.service.updateSubState("initialSelectedFilter", null);
65
- this.service.setRules(this.formGroup.getRawValue().transform());
66
- this.service.resetResult(true);
67
- this.service.filter();
68
- }
69
- removeEmptyRules({ reload } = { reload: true }) {
70
- if (this.rulesFormArray.length !== 1) {
71
- return;
72
- }
73
- const values = this.rulesFormArray.get([0, "values"]).getRawValue();
74
- if (values.length !== 1) {
75
- return;
76
- }
77
- const value = values[0];
78
- if (value.value || value.value === false || value.secondValue || value.secondValue === true) {
79
- return;
80
- }
81
- this.rulesFormArray.removeAt(0);
82
- const { filterParameters } = this.query.getValue();
83
- if (!filterParameters.rules.length || !filterParameters.rules[0].rules.length) {
84
- return;
85
- }
86
- this.service.setRules([]);
87
- if (!reload) {
88
- return;
89
- }
90
- if (filterParameters.rules[0].rules[0].value) {
91
- this.service.filter();
92
- }
93
- }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.NiceFilterViewQuery }, { token: i3.NiceFilterViewService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NiceAdvancedFiltersComponent, selector: "nice-advanced-filters", providers: [
96
- NgxFormGeneratorProvider.forFeature([AdvancedFiltersForm]),
97
- {
98
- provide: NICE_ASYNC_TYPEAHEAD_PROVIDER,
99
- useClass: AdvancedFiltersAsyncTypeaheadProvider,
100
- multi: true
101
- }
102
- ], ngImport: i0, template: "<div class=\"flex flex-col gap-4\" [formGroup]=\"formGroup\">\n <div class=\"advanced-filter-title\">{{ \"components.nice_advanced_filters.title\" | translate }}</div>\n\n <div class=\"flex flex-row gap-12\">\n <div class=\"advanced-filter-condition\">{{ \"components.nice_advanced_filters.conditions.should_match\" | translate }}</div>\n\n <mat-radio-group formControlName=\"condition\">\n <mat-radio-button value=\"and\"><span class=\"ml-4 mr-8\">{{ \"components.nice_advanced_filters.conditions.every\" | translate }}</span></mat-radio-button>\n <mat-radio-button value=\"or\"><span class=\"ml-4 mr-8\">{{ \"components.nice_advanced_filters.conditions.some\" | translate }}</span></mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"flex flex-col gap-4\" formArrayName=\"rules\" *ngFor=\"let _ of rulesFormArray.controls; let i = index\">\n <nice-advanced-rule [filterConfigs]=\"config$ | async\" [formGroupName]=\"i\" (remove)=\"onClickDeleteRule(i)\"></nice-advanced-rule>\n </div>\n\n <div>\n <button class=\"add-condition\" mat-stroked-button color=\"accent\" niceAdvancedFiltersTrigger position=\"topRight\" (advancedFilterSelected)=\"onClickAddRule($event)\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.add_condition\" | translate }}</div>\n </div>\n </button>\n </div>\n\n <div class=\"flex gap-6 justify-end pt-4\">\n <button class=\"close-button\" mat-button color=\"accent\" (click)=\"onClose()\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.close\" | translate }}</div>\n </div>\n </button>\n\n <button class=\"refresh-button\" mat-flat-button color=\"accent\" (click)=\"onRefresh()\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.refresh.svgIcon\">{{ icons.refresh.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.refresh\" | translate }}</div>\n </div>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i6.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.NiceAdvancedRuleComponent, selector: "nice-advanced-rule", inputs: ["filterConfigs"], outputs: ["remove"] }, { kind: "directive", type: i10.AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: ["position"], outputs: ["advancedFilterSelected"], exportAs: ["niceAdvancedFiltersTrigger"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
- }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersComponent, decorators: [{
105
- type: Component,
106
- args: [{ selector: "nice-advanced-filters", encapsulation: ViewEncapsulation.None, providers: [
107
- NgxFormGeneratorProvider.forFeature([AdvancedFiltersForm]),
108
- {
109
- provide: NICE_ASYNC_TYPEAHEAD_PROVIDER,
110
- useClass: AdvancedFiltersAsyncTypeaheadProvider,
111
- multi: true
112
- }
113
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-4\" [formGroup]=\"formGroup\">\n <div class=\"advanced-filter-title\">{{ \"components.nice_advanced_filters.title\" | translate }}</div>\n\n <div class=\"flex flex-row gap-12\">\n <div class=\"advanced-filter-condition\">{{ \"components.nice_advanced_filters.conditions.should_match\" | translate }}</div>\n\n <mat-radio-group formControlName=\"condition\">\n <mat-radio-button value=\"and\"><span class=\"ml-4 mr-8\">{{ \"components.nice_advanced_filters.conditions.every\" | translate }}</span></mat-radio-button>\n <mat-radio-button value=\"or\"><span class=\"ml-4 mr-8\">{{ \"components.nice_advanced_filters.conditions.some\" | translate }}</span></mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"flex flex-col gap-4\" formArrayName=\"rules\" *ngFor=\"let _ of rulesFormArray.controls; let i = index\">\n <nice-advanced-rule [filterConfigs]=\"config$ | async\" [formGroupName]=\"i\" (remove)=\"onClickDeleteRule(i)\"></nice-advanced-rule>\n </div>\n\n <div>\n <button class=\"add-condition\" mat-stroked-button color=\"accent\" niceAdvancedFiltersTrigger position=\"topRight\" (advancedFilterSelected)=\"onClickAddRule($event)\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.add_condition\" | translate }}</div>\n </div>\n </button>\n </div>\n\n <div class=\"flex gap-6 justify-end pt-4\">\n <button class=\"close-button\" mat-button color=\"accent\" (click)=\"onClose()\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.close.svgIcon\">{{ icons.close.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.close\" | translate }}</div>\n </div>\n </button>\n\n <button class=\"refresh-button\" mat-flat-button color=\"accent\" (click)=\"onRefresh()\">\n <div class=\"flex items-center gap-4\">\n <mat-icon [svgIcon]=\"icons.refresh.svgIcon\">{{ icons.refresh.matIcon }}</mat-icon>\n\n <div>{{ \"components.nice_advanced_filters.refresh\" | translate }}</div>\n </div>\n </button>\n </div>\n</div>\n" }]
114
- }], ctorParameters: () => [{ type: undefined, decorators: [{
115
- type: Optional
116
- }, {
117
- type: Inject,
118
- args: [ADVANCED_FILTER_ICONS]
119
- }] }, { type: i1.GeneratedFormGroup }, { type: i2.NiceFilterViewQuery }, { type: i3.NiceFilterViewService }, { type: i0.ChangeDetectorRef }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBR04sUUFBUSxFQUNSLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXNCLGtCQUFrQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBRTVGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBZ0J0RSxNQUFNLE9BQU8sNEJBQTRCO0lBTXJDLFlBRVcsS0FBb0MsRUFDcEMsU0FBa0QsRUFDakQsS0FBMEIsRUFDMUIsT0FBOEIsRUFDOUIsaUJBQW9DO1FBSnJDLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQXlDO1FBQ2pELFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFYekMsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQWE3QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBbUMsQ0FBQztRQUNwRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxRQUFRO1FBQ1gsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFOUQsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFRCxJQUFJLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDckQsT0FBTztRQUNYLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxjQUFjLENBQUMsd0JBQWtEO1FBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLFNBQVM7UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEtBQTBCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtRQUN0RSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQXdCLENBQUM7UUFDMUYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUYsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1RSxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDOytHQTNGUSw0QkFBNEIsa0JBT2IscUJBQXFCO21HQVBwQyw0QkFBNEIsZ0RBVjFCO1lBQ1Asd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMxRDtnQkFDSSxPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osMEJDbENMLHMxRUE0Q0E7OzRGRFBhLDRCQUE0QjtrQkFkeEMsU0FBUzsrQkFDSSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Asd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt3QkFDMUQ7NEJBQ0ksT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsUUFBUSxFQUFFLHFDQUFxQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQVMxQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBHZW5lcmF0ZWRGb3JtQXJyYXksIEdlbmVyYXRlZEZvcm1Hcm91cCwgTmd4Rm9ybUdlbmVyYXRvclByb3ZpZGVyIH0gZnJvbSBcIkByZWN1cnN5dmUvbmd4LWZvcm0tZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBOSUNFX0FTWU5DX1RZUEVBSEVBRF9QUk9WSURFUiB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5UnVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVscy9xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBRFZBTkNFRF9GSUxURVJfSUNPTlMgfSBmcm9tIFwiLi9hZHZhbmNlZC1maWx0ZXJzLmNvbnN0YW50XCI7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlcnNGb3JtLCBGaWx0ZXJGb3JtLCBGaWx0ZXJGb3JtVmFsdWVzIH0gZnJvbSBcIi4vYWR2YW5jZWQtZmlsdGVycy5mb3JtXCI7XG5pbXBvcnQgeyBOaWNlQWR2YW5jZWRGaWx0ZXJJY29uT3B0aW9ucyB9IGZyb20gXCIuL21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgQWR2YW5jZWRGaWx0ZXJzQXN5bmNUeXBlYWhlYWRQcm92aWRlciB9IGZyb20gXCIuL3Byb3ZpZGVycy9hc3luYy10eXBlYWhlYWQucHJvdmlkZXJcIjtcbmltcG9ydCB7IEFkdmFuY2VkRmlsdGVyc1V0aWxzIH0gZnJvbSBcIi4vdXRpbHMvYWR2YW5jZWQtZmlsdGVycy51dGlsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLWFkdmFuY2VkLWZpbHRlcnNcIixcbiAgICB0ZW1wbGF0ZVVybDogXCJhZHZhbmNlZC1maWx0ZXJzLnRlbXBsYXRlLmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOZ3hGb3JtR2VuZXJhdG9yUHJvdmlkZXIuZm9yRmVhdHVyZShbQWR2YW5jZWRGaWx0ZXJzRm9ybV0pLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOSUNFX0FTWU5DX1RZUEVBSEVBRF9QUk9WSURFUixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBBZHZhbmNlZEZpbHRlcnNBc3luY1R5cGVhaGVhZFByb3ZpZGVyLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgY29uZmlnJCA9IHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyQ29uZmlnKCk7XG5cbiAgICBwdWJsaWMgcnVsZXMkOiBPYnNlcnZhYmxlPEZpbHRlckZvcm1bXT47XG4gICAgcHVibGljIHJ1bGVzRm9ybUFycmF5OiBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBRFZBTkNFRF9GSUxURVJfSUNPTlMpXG4gICAgICAgIHB1YmxpYyBpY29uczogTmljZUFkdmFuY2VkRmlsdGVySWNvbk9wdGlvbnMsXG4gICAgICAgIHB1YmxpYyBmb3JtR3JvdXA6IEdlbmVyYXRlZEZvcm1Hcm91cDxBZHZhbmNlZEZpbHRlcnNGb3JtPixcbiAgICAgICAgcHJpdmF0ZSBxdWVyeTogTmljZUZpbHRlclZpZXdRdWVyeSxcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlRmlsdGVyVmlld1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMucnVsZXNGb3JtQXJyYXkgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJydWxlc1wiKSBhcyBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybT47XG4gICAgICAgIHRoaXMucnVsZXMkID0gdGhpcy5ydWxlc0Zvcm1BcnJheS52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5ydWxlc0Zvcm1BcnJheS52YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBzdWJTdGF0ZXMgfSA9IHRoaXMucXVlcnkuZ2V0VmFsdWUoKTtcblxuICAgICAgICBpZiAoZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKG5ldyBBZHZhbmNlZEZpbHRlcnNGb3JtKGZpbHRlclBhcmFtZXRlcnMucnVsZXNbMF0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdWJTdGF0ZXMuaW5pdGlhbFNlbGVjdGVkRmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2xpY2tBZGRSdWxlKHN1YlN0YXRlcy5pbml0aWFsU2VsZWN0ZWRGaWx0ZXIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUVtcHR5UnVsZXMoeyByZWxvYWQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrQWRkUnVsZShmaWx0ZXJDb25maWd1cmF0aW9uTW9kZWw6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bGVzRm9ybUFycmF5LnB1c2gobmV3IEZpbHRlckZvcm0oQWR2YW5jZWRGaWx0ZXJzVXRpbHMuY3JlYXRlUnVsZShmaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwpKSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xpY2tEZWxldGVSdWxlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ydWxlc0Zvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gICAgICAgIGlmICghdGhpcy5ydWxlc0Zvcm1BcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRSdWxlcyhbXSk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZmlsdGVyKCk7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUVtcHR5UnVsZXMoKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVN1YlN0YXRlKFwic2hvd0FkdmFuY2VkRmlsdGVyc1wiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVN1YlN0YXRlKFwiaW5pdGlhbFNlbGVjdGVkRmlsdGVyXCIsIG51bGwpO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0UnVsZXModGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKS50cmFuc2Zvcm0oKSk7XG4gICAgICAgIHRoaXMuc2VydmljZS5yZXNldFJlc3VsdCh0cnVlKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmZpbHRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVFbXB0eVJ1bGVzKHsgcmVsb2FkIH06IHsgcmVsb2FkOiBib29sZWFuIH0gPSB7IHJlbG9hZDogdHJ1ZSB9KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJ1bGVzRm9ybUFycmF5Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5ydWxlc0Zvcm1BcnJheS5nZXQoWzAsIFwidmFsdWVzXCJdKS5nZXRSYXdWYWx1ZSgpIGFzIEZpbHRlckZvcm1WYWx1ZXNbXTtcbiAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzWzBdO1xuICAgICAgICBpZiAodmFsdWUudmFsdWUgfHwgdmFsdWUudmFsdWUgPT09IGZhbHNlIHx8IHZhbHVlLnNlY29uZFZhbHVlIHx8IHZhbHVlLnNlY29uZFZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJ1bGVzRm9ybUFycmF5LnJlbW92ZUF0KDApO1xuXG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoIWZpbHRlclBhcmFtZXRlcnMucnVsZXMubGVuZ3RoIHx8ICFmaWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzWzBdLnJ1bGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldFJ1bGVzKFtdKTtcbiAgICAgICAgaWYgKCFyZWxvYWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoZmlsdGVyUGFyYW1ldGVycy5ydWxlc1swXS5ydWxlc1swXSBhcyBRdWVyeVJ1bGVNb2RlbCkudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5maWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWR2YW5jZWQtZmlsdGVyLXRpdGxlXCI+e3sgXCJjb21wb25lbnRzLm5pY2VfYWR2YW5jZWRfZmlsdGVycy50aXRsZVwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkdmFuY2VkLWZpbHRlci1jb25kaXRpb25cIj57eyBcImNvbXBvbmVudHMubmljZV9hZHZhbmNlZF9maWx0ZXJzLmNvbmRpdGlvbnMuc2hvdWxkX21hdGNoXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cblxuICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImNvbmRpdGlvblwiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJhbmRcIj48c3BhbiBjbGFzcz1cIm1sLTQgbXItOFwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMuY29uZGl0aW9ucy5ldmVyeVwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwib3JcIj48c3BhbiBjbGFzcz1cIm1sLTQgbXItOFwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMuY29uZGl0aW9ucy5zb21lXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+PC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCIgZm9ybUFycmF5TmFtZT1cInJ1bGVzXCIgKm5nRm9yPVwibGV0IF8gb2YgcnVsZXNGb3JtQXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5pY2UtYWR2YW5jZWQtcnVsZSBbZmlsdGVyQ29uZmlnc109XCJjb25maWckIHwgYXN5bmNcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCIgKHJlbW92ZSk9XCJvbkNsaWNrRGVsZXRlUnVsZShpKVwiPjwvbmljZS1hZHZhbmNlZC1ydWxlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkZC1jb25kaXRpb25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBuaWNlQWR2YW5jZWRGaWx0ZXJzVHJpZ2dlciBwb3NpdGlvbj1cInRvcFJpZ2h0XCIgKGFkdmFuY2VkRmlsdGVyU2VsZWN0ZWQpPVwib25DbGlja0FkZFJ1bGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLmFkZC5zdmdJY29uXCI+e3sgaWNvbnMuYWRkLm1hdEljb24gfX08L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPGRpdj57eyBcImNvbXBvbmVudHMubmljZV9hZHZhbmNlZF9maWx0ZXJzLmFkZF9jb25kaXRpb25cIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTYganVzdGlmeS1lbmQgcHQtNFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5jbG9zZS5zdmdJY29uXCI+e3sgaWNvbnMuY2xvc2UubWF0SWNvbiB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMuY2xvc2VcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJyZWZyZXNoLWJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJvblJlZnJlc2goKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLnJlZnJlc2guc3ZnSWNvblwiPnt7IGljb25zLnJlZnJlc2gubWF0SWNvbiB9fTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucmVmcmVzaFwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export const ADVANCED_FILTER_ICONS = new InjectionToken("advanced_filter_icons");
3
- export const ADVANCED_DATE_FILTER_OPTIONS = new InjectionToken("advanced_date_filter_options");
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9hZHZhbmNlZC1maWx0ZXJzLmNvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQURWQU5DRURfRklMVEVSX0lDT05TID0gbmV3IEluamVjdGlvblRva2VuKFwiYWR2YW5jZWRfZmlsdGVyX2ljb25zXCIpO1xuZXhwb3J0IGNvbnN0IEFEVkFOQ0VEX0RBVEVfRklMVEVSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJhZHZhbmNlZF9kYXRlX2ZpbHRlcl9vcHRpb25zXCIpO1xuIl19
@@ -1,121 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Validators } from "@angular/forms";
3
- import { AddValidatorIf, Array, Control, Required } from "@recursyve/ngx-form-generator";
4
- import { QBFilterUtils } from "../../../query-builder/utils/qb-filter.utils";
5
- export class FilterFormValues {
6
- }
7
- __decorate([
8
- Control(),
9
- Required(),
10
- __metadata("design:type", Object)
11
- ], FilterFormValues.prototype, "value", void 0);
12
- __decorate([
13
- Control(),
14
- AddValidatorIf(({ parent }) => QBFilterUtils.isDoubleInput(parent.operation), Validators.required),
15
- __metadata("design:type", Object)
16
- ], FilterFormValues.prototype, "secondValue", void 0);
17
- export class FilterForm {
18
- constructor(value) {
19
- if (!value) {
20
- return;
21
- }
22
- if (value.id) {
23
- const rule = value;
24
- const needsTwoValues = QBFilterUtils.isDoubleInput(rule.operation);
25
- Object.assign(this, {
26
- id: rule.id,
27
- operation: rule.operation,
28
- condition: "or",
29
- values: [
30
- {
31
- value: needsTwoValues ? rule.value[0] : rule.value,
32
- secondValue: needsTwoValues ? rule.value[1] : undefined
33
- }
34
- ]
35
- });
36
- return;
37
- }
38
- const query = value;
39
- const firstRule = query.rules[0];
40
- if (!query.rules.every((rule) => rule.id === firstRule.id)) {
41
- return;
42
- }
43
- const firstRuleNeedsTwoValues = QBFilterUtils.isDoubleInput(firstRule.operation);
44
- Object.assign(this, {
45
- id: firstRule.id,
46
- operation: firstRule.operation,
47
- condition: query.condition,
48
- values: query.rules.map((rule) => ({
49
- value: firstRuleNeedsTwoValues ? rule.value[0] : rule.value,
50
- secondValue: firstRuleNeedsTwoValues ? rule.value[1] : undefined
51
- }))
52
- });
53
- return;
54
- }
55
- transform() {
56
- if (this.values.length === 1) {
57
- const value = this.values[0];
58
- return {
59
- id: this.id,
60
- operation: this.operation,
61
- value: QBFilterUtils.isDoubleInput(this.operation) ? [value.value, value.secondValue] : value.value
62
- };
63
- }
64
- return {
65
- condition: this.condition,
66
- rules: this.values.map((value) => ({
67
- id: this.id,
68
- operation: this.operation,
69
- value: QBFilterUtils.isDoubleInput(this.operation) ? [value.value, value.secondValue] : value.value
70
- }))
71
- };
72
- }
73
- }
74
- __decorate([
75
- Control(),
76
- Required(),
77
- __metadata("design:type", String)
78
- ], FilterForm.prototype, "id", void 0);
79
- __decorate([
80
- Control(),
81
- Required(),
82
- __metadata("design:type", String)
83
- ], FilterForm.prototype, "operation", void 0);
84
- __decorate([
85
- Control(),
86
- Required(),
87
- __metadata("design:type", String)
88
- ], FilterForm.prototype, "condition", void 0);
89
- __decorate([
90
- Array(FilterFormValues),
91
- __metadata("design:type", Array)
92
- ], FilterForm.prototype, "values", void 0);
93
- export class AdvancedFiltersForm {
94
- constructor(query) {
95
- if (!query) {
96
- return;
97
- }
98
- if (!query?.rules) {
99
- this.rules = [];
100
- this.condition = "and";
101
- }
102
- this.condition = query.condition;
103
- this.rules = query.rules.map(x => new FilterForm(x));
104
- }
105
- transform() {
106
- return {
107
- condition: this.condition,
108
- rules: this.rules.map((rule) => rule.transform())
109
- };
110
- }
111
- }
112
- __decorate([
113
- Array(FilterForm),
114
- __metadata("design:type", Array)
115
- ], AdvancedFiltersForm.prototype, "rules", void 0);
116
- __decorate([
117
- Control({ defaultValue: "and" }),
118
- Required(),
119
- __metadata("design:type", String)
120
- ], AdvancedFiltersForm.prototype, "condition", void 0);
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXJzL2FkdmFuY2VkLWZpbHRlcnMuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFN0UsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUxVO0lBRk4sT0FBTyxFQUFFO0lBQ1QsUUFBUSxFQUFFOzsrQ0FDTztBQUlYO0lBRk4sT0FBTyxFQUFFO0lBQ1QsY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQzs7cURBQzNFO0FBRzVCLE1BQU0sT0FBTyxVQUFVO0lBZ0JuQixZQUFZLEtBQWtDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSyxLQUF3QixDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxHQUFHLEtBQXVCLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLEVBQUUsRUFBRSxJQUFJLENB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QUZOLE9BQU8sRUFBRTtJQUNULFFBQVEsRUFBRTs7c0NBQ087QUFJWDtJQUZOLE9BQU8sRUFBRTtJQUNULFFBQVEsRUFBRTs7NkNBQ2M7QUFJbEI7SUFGTixPQUFPLEVBQUU7SUFDVCxRQUFRLEVBQUU7OzZDQUNpQjtBQUdyQjtJQUROLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQzs7MENBQ1U7QUFnRXRDLE1BQU0sT0FBTyxtQkFBbUI7SUFRNUIsWUFBWSxLQUFpQjtRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU87WUFDSCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEQsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQTFCVTtJQUROLEtBQUssQ0FBQyxVQUFVLENBQUM7O2tEQUNTO0FBSXBCO0lBRk4sT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hDLFFBQVEsRUFBRTs7c0RBQ2lCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQWRkVmFsaWRhdG9ySWYsIEFycmF5LCBDb250cm9sLCBSZXF1aXJlZCB9IGZyb20gXCJAcmVjdXJzeXZlL25neC1mb3JtLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgQ29uZGl0aW9uLCBGaWx0ZXJPcGVyYXRvcnMsIFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVscy9xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgUUJGaWx0ZXJVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9xdWVyeS1idWlsZGVyL3V0aWxzL3FiLWZpbHRlci51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRm9ybVZhbHVlcyB7XG4gICAgQENvbnRyb2woKVxuICAgIEBSZXF1aXJlZCgpXG4gICAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgICBAQ29udHJvbCgpXG4gICAgQEFkZFZhbGlkYXRvcklmKCh7IHBhcmVudCB9KSA9PiBRQkZpbHRlclV0aWxzLmlzRG91YmxlSW5wdXQocGFyZW50Lm9wZXJhdGlvbiksIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgcHVibGljIHNlY29uZFZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJGb3JtIHtcbiAgICBAQ29udHJvbCgpXG4gICAgQFJlcXVpcmVkKClcbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAgIEBDb250cm9sKClcbiAgICBAUmVxdWlyZWQoKVxuICAgIHB1YmxpYyBvcGVyYXRpb246IHN0cmluZztcblxuICAgIEBDb250cm9sKClcbiAgICBAUmVxdWlyZWQoKVxuICAgIHB1YmxpYyBjb25kaXRpb246IENvbmRpdGlvbjtcblxuICAgIEBBcnJheShGaWx0ZXJGb3JtVmFsdWVzKVxuICAgIHB1YmxpYyB2YWx1ZXM6IEZpbHRlckZvcm1WYWx1ZXNbXTtcblxuICAgIGNvbnN0cnVjdG9yKHZhbHVlOiBRdWVyeU1vZGVsIHwgUXVlcnlSdWxlTW9kZWwpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCh2YWx1ZSBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJ1bGUgPSB2YWx1ZSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgICAgIGNvbnN0IG5lZWRzVHdvVmFsdWVzID0gUUJGaWx0ZXJVdGlscy5pc0RvdWJsZUlucHV0KHJ1bGUub3BlcmF0aW9uKTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywge1xuICAgICAgICAgICAgICAgIGlkOiBydWxlLmlkLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogcnVsZS5vcGVyYXRpb24gYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJvclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbmVlZHNUd29WYWx1ZXMgPyBydWxlLnZhbHVlWzBdIDogcnVsZS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZFZhbHVlOiBuZWVkc1R3b1ZhbHVlcyA/IHJ1bGUudmFsdWVbMV0gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcXVlcnkgPSB2YWx1ZSBhcyBRdWVyeU1vZGVsO1xuICAgICAgICBjb25zdCBmaXJzdFJ1bGUgPSBxdWVyeS5ydWxlc1swXSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgaWYgKCFxdWVyeS5ydWxlcy5ldmVyeSgocnVsZSkgPT4gKHJ1bGUgYXMgUXVlcnlSdWxlTW9kZWwpLmlkID09PSBmaXJzdFJ1bGUuaWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaXJzdFJ1bGVOZWVkc1R3b1ZhbHVlcyA9IFFCRmlsdGVyVXRpbHMuaXNEb3VibGVJbnB1dChmaXJzdFJ1bGUub3BlcmF0aW9uKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCB7XG4gICAgICAgICAgICBpZDogZmlyc3RSdWxlLmlkLFxuICAgICAgICAgICAgb3BlcmF0aW9uOiBmaXJzdFJ1bGUub3BlcmF0aW9uIGFzIHN0cmluZyxcbiAgICAgICAgICAgIGNvbmRpdGlvbjogcXVlcnkuY29uZGl0aW9uLFxuICAgICAgICAgICAgdmFsdWVzOiBxdWVyeS5ydWxlcy5tYXAoKHJ1bGU6IFF1ZXJ5UnVsZU1vZGVsKSA9PiAoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBmaXJzdFJ1bGVOZWVkc1R3b1ZhbHVlcyA/IHJ1bGUudmFsdWVbMF0gOiBydWxlLnZhbHVlLFxuICAgICAgICAgICAgICAgIHNlY29uZFZhbHVlOiBmaXJzdFJ1bGVOZWVkc1R3b1ZhbHVlcyA/IHJ1bGUudmFsdWVbMV0gOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKCk6IFF1ZXJ5TW9kZWwgfCBRdWVyeVJ1bGVNb2RlbCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZXNbMF07XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy5vcGVyYXRpb24gYXMgRmlsdGVyT3BlcmF0b3JzLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBRQkZpbHRlclV0aWxzLmlzRG91YmxlSW5wdXQodGhpcy5vcGVyYXRpb24gYXMgRmlsdGVyT3BlcmF0b3JzKSA/IFt2YWx1ZS52YWx1ZSwgdmFsdWUuc2Vjb25kVmFsdWVdIDogdmFsdWUudmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZGl0aW9uOiB0aGlzLmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiB0aGlzLnZhbHVlcy5tYXAoKHZhbHVlKSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy5vcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgdmFsdWU6IFFCRmlsdGVyVXRpbHMuaXNEb3VibGVJbnB1dCh0aGlzLm9wZXJhdGlvbiBhcyBGaWx0ZXJPcGVyYXRvcnMpID8gW3ZhbHVlLnZhbHVlLCB2YWx1ZS5zZWNvbmRWYWx1ZV0gOiB2YWx1ZS52YWx1ZVxuICAgICAgICAgICAgfSkgYXMgUXVlcnlSdWxlTW9kZWwpXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRGaWx0ZXJzRm9ybSB7XG4gICAgQEFycmF5KEZpbHRlckZvcm0pXG4gICAgcHVibGljIHJ1bGVzOiBGaWx0ZXJGb3JtW107XG5cbiAgICBAQ29udHJvbCh7IGRlZmF1bHRWYWx1ZTogXCJhbmRcIiB9KVxuICAgIEBSZXF1aXJlZCgpXG4gICAgcHVibGljIGNvbmRpdGlvbjogQ29uZGl0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocXVlcnk6IFF1ZXJ5TW9kZWwpIHtcbiAgICAgICAgaWYgKCFxdWVyeSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFxdWVyeT8ucnVsZXMpIHtcbiAgICAgICAgICAgIHRoaXMucnVsZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuY29uZGl0aW9uID0gXCJhbmRcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZGl0aW9uID0gcXVlcnkuY29uZGl0aW9uO1xuICAgICAgICB0aGlzLnJ1bGVzID0gcXVlcnkucnVsZXMubWFwKHggPT4gbmV3IEZpbHRlckZvcm0oeCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oKTogUXVlcnlNb2RlbCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25kaXRpb246IHRoaXMuY29uZGl0aW9uLFxuICAgICAgICAgICAgcnVsZXM6IHRoaXMucnVsZXMubWFwKChydWxlKSA9PiBydWxlLnRyYW5zZm9ybSgpKVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,152 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
- import { MatButtonModule } from "@angular/material/button";
5
- import { MatButtonToggleModule } from "@angular/material/button-toggle";
6
- import { MatCardModule } from "@angular/material/card";
7
- import { MatOptionModule, MatRippleModule } from "@angular/material/core";
8
- import { MatDatepickerModule } from "@angular/material/datepicker";
9
- import { MatFormFieldModule } from "@angular/material/form-field";
10
- import { MatIconModule } from "@angular/material/icon";
11
- import { MatInputModule } from "@angular/material/input";
12
- import { MatListModule } from "@angular/material/list";
13
- import { MatRadioModule } from "@angular/material/radio";
14
- import { MatSelectModule } from "@angular/material/select";
15
- import { TranslateModule } from "@ngx-translate/core";
16
- import { NiceAsyncTypeaheadModule, NiceLoadingSpinnerModule, NiceTypeaheadModule } from "@recursyve/nice-ui-kit.v2";
17
- import { NgxMaskDirective } from "ngx-mask";
18
- import { NiceFilterGroupService } from "../../../query-builder/providers/filter-group.service";
19
- import { NiceFilterGroupIconPipe } from "../../pipes/filter-group-icon.pipe";
20
- import { AdvancedFiltersTriggerDirective } from "./advanced-filters-trigger.directive";
21
- import { NiceAdvancedFiltersComponent } from "./advanced-filters.component";
22
- import { ADVANCED_DATE_FILTER_OPTIONS, ADVANCED_FILTER_ICONS } from "./advanced-filters.constant";
23
- import { NiceAdvancedFiltersButtonComponent } from "./button/advanced-filters-button.component";
24
- import { NiceAdvancedFilterSelectionComponent } from "./filter-selection/filter-selection.component";
25
- import { defaultIcons } from "./models/icons.model";
26
- import { NiceAdvancedDateFilterComponent } from "./rule/components/date/date-filter.component";
27
- import { NiceAdvancedNumberFilterComponent } from "./rule/components/number/number-filter.component";
28
- import { NiceAdvancedOptionsFilterComponent } from "./rule/components/options/options-filter.component";
29
- import { NiceAdvancedRadioFilterComponent } from "./rule/components/radio/radio-filter.component";
30
- import { NiceAdvancedSelectFilterComponent } from "./rule/components/select/select-filter.component";
31
- import { NiceAdvancedTextFilterComponent } from "./rule/components/text/text-filter.component";
32
- import { NiceAdvancedRuleComponent } from "./rule/rule.component";
33
- import * as i0 from "@angular/core";
34
- export class NiceAdvancedFiltersModule {
35
- static forRoot(options) {
36
- return {
37
- ngModule: NiceAdvancedFiltersModule,
38
- providers: [
39
- {
40
- provide: ADVANCED_FILTER_ICONS,
41
- useValue: {
42
- ...defaultIcons,
43
- ...(options?.icons ?? {})
44
- }
45
- },
46
- {
47
- provide: ADVANCED_DATE_FILTER_OPTIONS,
48
- useValue: { ...(options?.advancedDateFilter ?? {}) }
49
- },
50
- options?.filterGroupService ? {
51
- provide: NiceFilterGroupService,
52
- useClass: options.filterGroupService
53
- } : undefined
54
- ].filter((provider) => !!provider)
55
- };
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersModule, declarations: [NiceAdvancedFiltersComponent,
59
- NiceAdvancedFiltersButtonComponent,
60
- NiceAdvancedFilterSelectionComponent,
61
- NiceAdvancedRuleComponent,
62
- NiceAdvancedDateFilterComponent,
63
- NiceAdvancedNumberFilterComponent,
64
- NiceAdvancedOptionsFilterComponent,
65
- NiceAdvancedRadioFilterComponent,
66
- NiceAdvancedSelectFilterComponent,
67
- NiceAdvancedTextFilterComponent,
68
- AdvancedFiltersTriggerDirective,
69
- NiceFilterGroupIconPipe], imports: [CommonModule,
70
- ReactiveFormsModule,
71
- MatRadioModule,
72
- MatCardModule,
73
- MatListModule,
74
- NiceLoadingSpinnerModule,
75
- MatIconModule,
76
- MatRippleModule,
77
- MatButtonModule,
78
- MatFormFieldModule,
79
- MatOptionModule,
80
- MatSelectModule,
81
- FormsModule,
82
- MatInputModule,
83
- MatButtonToggleModule,
84
- TranslateModule,
85
- MatDatepickerModule,
86
- NiceTypeaheadModule,
87
- NiceAsyncTypeaheadModule,
88
- NgxMaskDirective], exports: [NiceAdvancedFiltersComponent, NiceAdvancedRuleComponent, NiceAdvancedFiltersButtonComponent, AdvancedFiltersTriggerDirective] }); }
89
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersModule, imports: [CommonModule,
90
- ReactiveFormsModule,
91
- MatRadioModule,
92
- MatCardModule,
93
- MatListModule,
94
- NiceLoadingSpinnerModule,
95
- MatIconModule,
96
- MatRippleModule,
97
- MatButtonModule,
98
- MatFormFieldModule,
99
- MatOptionModule,
100
- MatSelectModule,
101
- FormsModule,
102
- MatInputModule,
103
- MatButtonToggleModule,
104
- TranslateModule,
105
- MatDatepickerModule,
106
- NiceTypeaheadModule,
107
- NiceAsyncTypeaheadModule] }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAdvancedFiltersModule, decorators: [{
110
- type: NgModule,
111
- args: [{
112
- imports: [
113
- CommonModule,
114
- ReactiveFormsModule,
115
- MatRadioModule,
116
- MatCardModule,
117
- MatListModule,
118
- NiceLoadingSpinnerModule,
119
- MatIconModule,
120
- MatRippleModule,
121
- MatButtonModule,
122
- MatFormFieldModule,
123
- MatOptionModule,
124
- MatSelectModule,
125
- FormsModule,
126
- MatInputModule,
127
- MatButtonToggleModule,
128
- TranslateModule,
129
- MatDatepickerModule,
130
- NiceTypeaheadModule,
131
- NiceAsyncTypeaheadModule,
132
- NgxMaskDirective
133
- ],
134
- declarations: [
135
- NiceAdvancedFiltersComponent,
136
- NiceAdvancedFiltersButtonComponent,
137
- NiceAdvancedFilterSelectionComponent,
138
- NiceAdvancedRuleComponent,
139
- NiceAdvancedDateFilterComponent,
140
- NiceAdvancedNumberFilterComponent,
141
- NiceAdvancedOptionsFilterComponent,
142
- NiceAdvancedRadioFilterComponent,
143
- NiceAdvancedSelectFilterComponent,
144
- NiceAdvancedTextFilterComponent,
145
- AdvancedFiltersTriggerDirective,
146
- NiceFilterGroupIconPipe
147
- ],
148
- providers: [],
149
- exports: [NiceAdvancedFiltersComponent, NiceAdvancedRuleComponent, NiceAdvancedFiltersButtonComponent, AdvancedFiltersTriggerDirective],
150
- }]
151
- }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFF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O1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSwgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBOaWNlQXN5bmNUeXBlYWhlYWRNb2R1bGUsIE5pY2VMb2FkaW5nU3Bpbm5lck1vZHVsZSwgTmljZVR5cGVhaGVhZE1vZHVsZSB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBOZ3hNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIm5neC1tYXNrXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyR3JvdXBTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3F1ZXJ5LWJ1aWxkZXIvcHJvdmlkZXJzL2ZpbHRlci1ncm91cC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyR3JvdXBJY29uUGlwZSB9IGZyb20gXCIuLi8uLi9waXBlcy9maWx0ZXItZ3JvdXAtaWNvbi5waXBlXCI7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlcnNUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vYWR2YW5jZWQtZmlsdGVycy10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gXCIuL2FkdmFuY2VkLWZpbHRlcnMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBRFZBTkNFRF9EQVRFX0ZJTFRFUl9PUFRJT05TLCBBRFZBTkNFRF9GSUxURVJfSUNPTlMgfSBmcm9tIFwiLi9hZHZhbmNlZC1maWx0ZXJzLmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlQWR2YW5jZWRGaWx0ZXJzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4vYnV0dG9uL2FkdmFuY2VkLWZpbHRlcnMtYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkRmlsdGVyU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vZmlsdGVyLXNlbGVjdGlvbi9maWx0ZXItc2VsZWN0aW9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZGVmYXVsdEljb25zLCBOaWNlQWR2YW5jZWRGaWx0ZXJJY29uT3B0aW9ucyB9IGZyb20gXCIuL21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkRGF0ZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL3J1bGUvY29tcG9uZW50cy9kYXRlL2RhdGUtZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkTnVtYmVyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcnVsZS9jb21wb25lbnRzL251bWJlci9udW1iZXItZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkT3B0aW9uc0ZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL3J1bGUvY29tcG9uZW50cy9vcHRpb25zL29wdGlvbnMtZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkUmFkaW9GaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9ydWxlL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8tZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkU2VsZWN0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcnVsZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkVGV4dEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL3J1bGUvY29tcG9uZW50cy90ZXh0L3RleHQtZmlsdGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkUnVsZUNvbXBvbmVudCB9IGZyb20gXCIuL3J1bGUvcnVsZS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEFkdmFuY2VkRGF0ZUZpbHRlck9wdGlvbnMgfSBmcm9tIFwiLi9tb2RlbHMvYWR2YW5jZWQtZGF0ZS1maWx0ZXItb3B0aW9ucy5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VBZHZhbmNlZEZpbHRlcnNPcHRpb25zIHtcbiAgICBpY29ucz86IE5pY2VBZHZhbmNlZEZpbHRlckljb25PcHRpb25zO1xuICAgIGZpbHRlckdyb3VwU2VydmljZT86IFR5cGU8TmljZUZpbHRlckdyb3VwU2VydmljZTxhbnk+PjtcbiAgICBhZHZhbmNlZERhdGVGaWx0ZXI/OiBBZHZhbmNlZERhdGVGaWx0ZXJPcHRpb25zO1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTmljZUxvYWRpbmdTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTmljZVR5cGVhaGVhZE1vZHVsZSxcbiAgICAgICAgTmljZUFzeW5jVHlwZWFoZWFkTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrRGlyZWN0aXZlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTmljZUFkdmFuY2VkRmlsdGVyc0NvbXBvbmVudCxcbiAgICAgICAgTmljZUFkdmFuY2VkRmlsdGVyc0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgTmljZUFkdmFuY2VkRmlsdGVyU2VsZWN0aW9uQ29tcG9uZW50LFxuXG4gICAgICAgIE5pY2VBZHZhbmNlZFJ1bGVDb21wb25lbnQsXG4gICAgICAgIE5pY2VBZHZhbmNlZERhdGVGaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIE5pY2VBZHZhbmNlZE51bWJlckZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgTmljZUFkdmFuY2VkT3B0aW9uc0ZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgTmljZUFkdmFuY2VkUmFkaW9GaWx0ZXJDb21wb25lbnQsXG4gICAgICAgIE5pY2VBZHZhbmNlZFNlbGVjdEZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgTmljZUFkdmFuY2VkVGV4dEZpbHRlckNvbXBvbmVudCxcblxuICAgICAgICBBZHZhbmNlZEZpbHRlcnNUcmlnZ2VyRGlyZWN0aXZlLFxuXG4gICAgICAgIE5pY2VGaWx0ZXJHcm91cEljb25QaXBlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGV4cG9ydHM6IFtOaWNlQWR2YW5jZWRGaWx0ZXJzQ29tcG9uZW50LCBOaWNlQWR2YW5jZWRSdWxlQ29tcG9uZW50LCBOaWNlQWR2YW5jZWRGaWx0ZXJzQnV0dG9uQ29tcG9uZW50LCBBZHZhbmNlZEZpbHRlcnNUcmlnZ2VyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkRmlsdGVyc01vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBOaWNlQWR2YW5jZWRGaWx0ZXJzT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmljZUFkdmFuY2VkRmlsdGVyc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5pY2VBZHZhbmNlZEZpbHRlcnNNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFEVkFOQ0VEX0ZJTFRFUl9JQ09OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRJY29ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihvcHRpb25zPy5pY29ucyA/PyB7fSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFEVkFOQ0VEX0RBVEVfRklMVEVSX09QVElPTlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7IC4uLihvcHRpb25zPy5hZHZhbmNlZERhdGVGaWx0ZXIgPz8ge30pIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGlvbnM/LmZpbHRlckdyb3VwU2VydmljZSA/IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTmljZUZpbHRlckdyb3VwU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IG9wdGlvbnMuZmlsdGVyR3JvdXBTZXJ2aWNlXG4gICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXS5maWx0ZXIoKHByb3ZpZGVyKSA9PiAhIXByb3ZpZGVyKVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==