nuxeo-development-framework 5.2.3 → 5.2.4-1

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 (372) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +7109 -711
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +48 -34
  4. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
  5. package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +203 -0
  6. package/esm2015/lib/components/ndf-datepicker/adapters/index.js +3 -0
  7. package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +186 -0
  8. package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +92 -0
  9. package/esm2015/lib/components/ndf-datepicker/base/index.js +2 -0
  10. package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +37 -0
  11. package/esm2015/lib/components/ndf-datepicker/components/index.js +4 -0
  12. package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +110 -0
  13. package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +124 -0
  14. package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +7 -0
  15. package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +2 -0
  16. package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +5 -0
  17. package/esm2015/lib/components/ndf-datepicker/constants/formats.js +24 -0
  18. package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +117 -0
  19. package/esm2015/lib/components/ndf-datepicker/constants/index.js +6 -0
  20. package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +37 -0
  21. package/esm2015/lib/components/ndf-datepicker/containers/index.js +3 -0
  22. package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +105 -0
  23. package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +112 -0
  24. package/esm2015/lib/components/ndf-datepicker/index.js +10 -0
  25. package/esm2015/lib/components/ndf-datepicker/models/data-types.js +2 -0
  26. package/esm2015/lib/components/ndf-datepicker/models/index.js +3 -0
  27. package/esm2015/lib/components/ndf-datepicker/models/value-object.js +2 -0
  28. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +198 -0
  29. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +66 -0
  30. package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +130 -0
  31. package/esm2015/lib/components/ndf-datepicker/services/index.js +3 -0
  32. package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +41 -0
  33. package/esm2015/lib/components/no-data-found/index.js +3 -0
  34. package/esm2015/lib/components/no-data-found/no-data-found.component.js +33 -0
  35. package/esm2015/lib/components/no-data-found/no-data.module.js +19 -0
  36. package/esm2015/lib/components/notifications/models/common.js +1 -1
  37. package/esm2015/lib/components/{dynamic-table → tables/dynamic-table}/directives/empty-state.directive.js +1 -1
  38. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +353 -0
  39. package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +51 -0
  40. package/esm2015/lib/components/tables/dynamic-table/index.js +2 -0
  41. package/esm2015/lib/components/tables/dynamic-table/public-api.js +5 -0
  42. package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +16 -0
  43. package/esm2015/lib/components/{dynamic-table → tables}/index.js +1 -1
  44. package/esm2015/lib/components/tables/ndf-table/components/index.js +6 -0
  45. package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +45 -0
  46. package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +42 -0
  47. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +123 -0
  48. package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +41 -0
  49. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +74 -0
  50. package/esm2015/lib/components/tables/ndf-table/constants/index.js +2 -0
  51. package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +19 -0
  52. package/esm2015/lib/components/tables/ndf-table/containers/index.js +2 -0
  53. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +404 -0
  54. package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +28 -0
  55. package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +28 -0
  56. package/esm2015/lib/components/tables/ndf-table/directives/fluid-height.directive.js +112 -0
  57. package/esm2015/lib/components/tables/ndf-table/directives/index.js +5 -0
  58. package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +28 -0
  59. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.js +91 -0
  60. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.js +66 -0
  61. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.js +46 -0
  62. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.js +43 -0
  63. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.js +34 -0
  64. package/esm2015/lib/components/tables/ndf-table/filters-panel/base/index.js +6 -0
  65. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/field-header.component.js +36 -0
  66. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +97 -0
  67. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +43 -0
  68. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.js +44 -0
  69. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.js +89 -0
  70. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-empty-message.component.js +30 -0
  71. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-option-text/filter-option-text.component.js +33 -0
  72. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-options-sort/filter-options-sort.component.js +34 -0
  73. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-search-input/filter-search-input.component.js +36 -0
  74. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/html-dialog/html-dialog.component.js +34 -0
  75. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/index.js +10 -0
  76. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.js +109 -0
  77. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-checkbox/aggregation-checkbox.component.js +65 -0
  78. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.js +66 -0
  79. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.js +219 -0
  80. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-radio/aggregation-radio.component.js +68 -0
  81. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.js +83 -0
  82. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-switch/aggregation-switch.component.js +71 -0
  83. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/index.js +11 -0
  84. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.js +146 -0
  85. package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.js +144 -0
  86. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/common.js +4 -0
  87. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/field.js +6 -0
  88. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/index.js +5 -0
  89. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/operators.js +18 -0
  90. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/sort.js +23 -0
  91. package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/type.js +26 -0
  92. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.js +78 -0
  93. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/base-field.js +62 -0
  94. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.js +73 -0
  95. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.js +55 -0
  96. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.js +122 -0
  97. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/index.js +5 -0
  98. package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.js +71 -0
  99. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.js +55 -0
  100. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.js +17 -0
  101. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.js +2 -0
  102. package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/index.js +2 -0
  103. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.js +28 -0
  104. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.js +28 -0
  105. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.js +28 -0
  106. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.js +28 -0
  107. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-label-template.directive.js +53 -0
  108. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.js +28 -0
  109. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/index.js +9 -0
  110. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.js +28 -0
  111. package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.js +28 -0
  112. package/esm2015/lib/components/tables/ndf-table/filters-panel/filters-panel.module.js +205 -0
  113. package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +12 -0
  114. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.js +2 -0
  115. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.js +2 -0
  116. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/base-field-config.js +2 -0
  117. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/common.js +2 -0
  118. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.js +2 -0
  119. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-config.model.js +2 -0
  120. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.js +2 -0
  121. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.js +2 -0
  122. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.js +2 -0
  123. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.js +2 -0
  124. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.js +2 -0
  125. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.js +2 -0
  126. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.js +2 -0
  127. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.js +2 -0
  128. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/index.js +12 -0
  129. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.js +2 -0
  130. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.js +2 -0
  131. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.js +2 -0
  132. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.js +2 -0
  133. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/form-query-request.js +2 -0
  134. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/index.js +13 -0
  135. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.js +2 -0
  136. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +2 -0
  137. package/esm2015/lib/components/tables/ndf-table/filters-panel/models/value-object.model.js +12 -0
  138. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.js +27 -0
  139. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.js +27 -0
  140. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.js +52 -0
  141. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/index.js +9 -0
  142. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.js +28 -0
  143. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.js +31 -0
  144. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.js +34 -0
  145. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.js +40 -0
  146. package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.js +69 -0
  147. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +105 -0
  148. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.js +59 -0
  149. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.js +117 -0
  150. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +5 -0
  151. package/esm2015/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.js +80 -0
  152. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/index.js +3 -0
  153. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/nxql.js +47 -0
  154. package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/object.js +42 -0
  155. package/esm2015/lib/components/tables/ndf-table/index.js +2 -0
  156. package/esm2015/lib/components/tables/ndf-table/models/index.js +8 -0
  157. package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +2 -0
  158. package/esm2015/lib/components/tables/ndf-table/models/search.config.js +2 -0
  159. package/esm2015/lib/components/tables/ndf-table/models/table-column.js +2 -0
  160. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +2 -0
  161. package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +2 -0
  162. package/esm2015/lib/components/tables/ndf-table/models/table-options.js +2 -0
  163. package/esm2015/lib/components/tables/ndf-table/models/types.js +2 -0
  164. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +104 -0
  165. package/esm2015/lib/components/tables/ndf-table/public-api.js +8 -0
  166. package/esm2015/lib/components/tables/ndf-table/services/filters-mapper.service.js +60 -0
  167. package/esm2015/lib/components/tables/ndf-table/services/index.js +3 -0
  168. package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +27 -0
  169. package/esm2015/lib/components/tables/ndf-table/utils/index.js +2 -0
  170. package/esm2015/lib/components/tables/ndf-table/utils/nxql-query.js +52 -0
  171. package/esm2015/lib/components/tables/public-api.js +4 -0
  172. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +68 -0
  173. package/esm2015/lib/components/tables/table/dynamic-component.js +59 -0
  174. package/esm2015/lib/components/tables/table/index.js +2 -0
  175. package/esm2015/lib/components/{table → tables/table}/page-sizes-list/page-sizes-list.component.js +1 -1
  176. package/esm2015/lib/components/tables/table/public-api.js +6 -0
  177. package/esm2015/lib/components/{table → tables/table}/table/table.component.js +10 -10
  178. package/esm2015/lib/components/tables/table/table.module.js +69 -0
  179. package/esm2015/lib/core/services/index.js +3 -0
  180. package/esm2015/lib/shared/models/index.js +2 -1
  181. package/esm2015/lib/shared/models/types-helper.js +2 -0
  182. package/esm2015/public-api.js +4 -7
  183. package/fesm2015/nuxeo-development-framework.js +6330 -551
  184. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  185. package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +1 -1
  186. package/lib/components/dynamic-search/dynamic-search.module.d.ts +1 -1
  187. package/lib/components/ndf-datepicker/adapters/hijri-adapter.d.ts +35 -0
  188. package/lib/components/ndf-datepicker/adapters/index.d.ts +2 -0
  189. package/lib/components/ndf-datepicker/adapters/moment-adapter.d.ts +50 -0
  190. package/lib/components/ndf-datepicker/base/base-value-accessor.d.ts +38 -0
  191. package/lib/components/ndf-datepicker/base/index.d.ts +1 -0
  192. package/lib/components/ndf-datepicker/components/base-datepicker.d.ts +13 -0
  193. package/lib/components/ndf-datepicker/components/index.d.ts +3 -0
  194. package/lib/components/ndf-datepicker/components/input-date.component.d.ts +19 -0
  195. package/lib/components/ndf-datepicker/components/input-range-date.component.d.ts +19 -0
  196. package/lib/components/ndf-datepicker/constants/date-locale-keys.d.ts +6 -0
  197. package/lib/components/ndf-datepicker/constants/date-picker.d.ts +1 -0
  198. package/lib/components/ndf-datepicker/constants/date-type.d.ts +4 -0
  199. package/lib/components/ndf-datepicker/constants/formats.d.ts +5 -0
  200. package/lib/components/ndf-datepicker/constants/hijri-dates-names.d.ts +12 -0
  201. package/lib/components/ndf-datepicker/constants/index.d.ts +5 -0
  202. package/lib/components/ndf-datepicker/containers/datepicker-container.d.ts +15 -0
  203. package/lib/components/ndf-datepicker/containers/index.d.ts +2 -0
  204. package/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.d.ts +10 -0
  205. package/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.d.ts +10 -0
  206. package/lib/components/ndf-datepicker/index.d.ts +9 -0
  207. package/lib/components/ndf-datepicker/models/data-types.d.ts +11 -0
  208. package/lib/components/ndf-datepicker/models/index.d.ts +2 -0
  209. package/lib/components/ndf-datepicker/models/value-object.d.ts +8 -0
  210. package/lib/components/ndf-datepicker/ndf-datepicker.component.d.ts +42 -0
  211. package/lib/components/ndf-datepicker/ndf-datepicker.module.d.ts +20 -0
  212. package/lib/components/ndf-datepicker/services/calendar.service.d.ts +33 -0
  213. package/lib/components/ndf-datepicker/services/index.d.ts +2 -0
  214. package/lib/components/ndf-datepicker/services/localize-state.service.d.ts +34 -0
  215. package/lib/components/no-data-found/index.d.ts +2 -0
  216. package/lib/components/no-data-found/no-data-found.component.d.ts +8 -0
  217. package/lib/components/no-data-found/no-data.module.d.ts +9 -0
  218. package/lib/components/notifications/models/common.d.ts +0 -1
  219. package/lib/components/{dynamic-table → tables/dynamic-table}/dynamic-table/dynamic-table.component.d.ts +7 -3
  220. package/lib/components/{dynamic-table → tables/dynamic-table}/dynamic-table.module.d.ts +3 -3
  221. package/lib/components/tables/index.d.ts +1 -0
  222. package/lib/components/tables/ndf-table/components/index.d.ts +5 -0
  223. package/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.d.ts +13 -0
  224. package/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.d.ts +12 -0
  225. package/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.d.ts +35 -0
  226. package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +13 -0
  227. package/lib/components/tables/ndf-table/components/text-search/text-search.component.d.ts +21 -0
  228. package/lib/components/tables/ndf-table/constants/index.d.ts +1 -0
  229. package/lib/components/tables/ndf-table/constants/sizes.d.ts +4 -0
  230. package/lib/components/tables/ndf-table/containers/index.d.ts +1 -0
  231. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +119 -0
  232. package/lib/components/tables/ndf-table/directives/actions.directive.d.ts +9 -0
  233. package/lib/components/tables/ndf-table/directives/filter-custom.directive.d.ts +9 -0
  234. package/lib/components/tables/ndf-table/directives/fluid-height.directive.d.ts +36 -0
  235. package/lib/components/tables/ndf-table/directives/index.d.ts +4 -0
  236. package/lib/components/tables/ndf-table/directives/search.directive.d.ts +9 -0
  237. package/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.d.ts +35 -0
  238. package/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.d.ts +22 -0
  239. package/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.d.ts +19 -0
  240. package/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.d.ts +15 -0
  241. package/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.d.ts +20 -0
  242. package/lib/components/tables/ndf-table/filters-panel/base/index.d.ts +5 -0
  243. package/lib/components/tables/ndf-table/filters-panel/components/__parts/field-header.component.d.ts +5 -0
  244. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.d.ts +35 -0
  245. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +13 -0
  246. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.d.ts +12 -0
  247. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.d.ts +16 -0
  248. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-empty-message.component.d.ts +6 -0
  249. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-option-text/filter-option-text.component.d.ts +9 -0
  250. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-options-sort/filter-options-sort.component.d.ts +11 -0
  251. package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-search-input/filter-search-input.component.d.ts +10 -0
  252. package/lib/components/tables/ndf-table/filters-panel/components/__parts/html-dialog/html-dialog.component.d.ts +10 -0
  253. package/lib/components/tables/ndf-table/filters-panel/components/__parts/index.d.ts +9 -0
  254. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.d.ts +20 -0
  255. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-checkbox/aggregation-checkbox.component.d.ts +10 -0
  256. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.d.ts +9 -0
  257. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.d.ts +41 -0
  258. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-radio/aggregation-radio.component.d.ts +11 -0
  259. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.d.ts +14 -0
  260. package/lib/components/tables/ndf-table/filters-panel/components/aggregation-switch/aggregation-switch.component.d.ts +11 -0
  261. package/lib/components/tables/ndf-table/filters-panel/components/index.d.ts +10 -0
  262. package/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.d.ts +25 -0
  263. package/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.d.ts +40 -0
  264. package/lib/components/tables/ndf-table/filters-panel/constants/common.d.ts +3 -0
  265. package/lib/components/tables/ndf-table/filters-panel/constants/field.d.ts +5 -0
  266. package/lib/components/tables/ndf-table/filters-panel/constants/index.d.ts +4 -0
  267. package/lib/components/tables/ndf-table/filters-panel/constants/operators.d.ts +17 -0
  268. package/lib/components/tables/ndf-table/filters-panel/constants/sort.d.ts +2 -0
  269. package/lib/components/tables/ndf-table/filters-panel/constants/type.d.ts +25 -0
  270. package/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.d.ts +13 -0
  271. package/lib/components/tables/ndf-table/filters-panel/containers/base-field.d.ts +21 -0
  272. package/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.d.ts +13 -0
  273. package/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.d.ts +19 -0
  274. package/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.d.ts +48 -0
  275. package/lib/components/tables/ndf-table/filters-panel/containers/index.d.ts +4 -0
  276. package/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.d.ts +12 -0
  277. package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.d.ts +14 -0
  278. package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.d.ts +8 -0
  279. package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.d.ts +29 -0
  280. package/lib/components/tables/ndf-table/filters-panel/custom-components/index.d.ts +1 -0
  281. package/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.d.ts +9 -0
  282. package/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.d.ts +9 -0
  283. package/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.d.ts +9 -0
  284. package/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.d.ts +9 -0
  285. package/lib/components/tables/ndf-table/filters-panel/directives/dropdown-label-template.directive.d.ts +16 -0
  286. package/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.d.ts +9 -0
  287. package/lib/components/tables/ndf-table/filters-panel/directives/index.d.ts +8 -0
  288. package/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.d.ts +9 -0
  289. package/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.d.ts +9 -0
  290. package/lib/components/tables/ndf-table/filters-panel/filters-panel.module.d.ts +65 -0
  291. package/lib/components/tables/ndf-table/filters-panel/index.d.ts +11 -0
  292. package/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.d.ts +42 -0
  293. package/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.d.ts +20 -0
  294. package/lib/components/tables/ndf-table/filters-panel/models/base-field-config.d.ts +13 -0
  295. package/lib/components/tables/ndf-table/filters-panel/models/common.d.ts +5 -0
  296. package/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.d.ts +7 -0
  297. package/lib/components/tables/ndf-table/filters-panel/models/field-config.model.d.ts +14 -0
  298. package/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.d.ts +6 -0
  299. package/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.d.ts +6 -0
  300. package/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.d.ts +35 -0
  301. package/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.d.ts +9 -0
  302. package/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.d.ts +5 -0
  303. package/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.d.ts +10 -0
  304. package/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.d.ts +22 -0
  305. package/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.d.ts +6 -0
  306. package/lib/components/tables/ndf-table/filters-panel/models/field-options/index.d.ts +11 -0
  307. package/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.d.ts +40 -0
  308. package/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.d.ts +6 -0
  309. package/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.d.ts +6 -0
  310. package/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.d.ts +13 -0
  311. package/lib/components/tables/ndf-table/filters-panel/models/form-query-request.d.ts +5 -0
  312. package/lib/components/tables/ndf-table/filters-panel/models/index.d.ts +12 -0
  313. package/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.d.ts +7 -0
  314. package/lib/components/tables/ndf-table/filters-panel/models/types-helper.d.ts +47 -0
  315. package/lib/components/tables/ndf-table/filters-panel/models/value-object.model.d.ts +18 -0
  316. package/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.d.ts +11 -0
  317. package/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.d.ts +11 -0
  318. package/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.d.ts +18 -0
  319. package/lib/components/tables/ndf-table/filters-panel/pipes/index.d.ts +8 -0
  320. package/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.d.ts +14 -0
  321. package/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.d.ts +12 -0
  322. package/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.d.ts +10 -0
  323. package/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.d.ts +11 -0
  324. package/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.d.ts +21 -0
  325. package/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.d.ts +16 -0
  326. package/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.d.ts +18 -0
  327. package/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.d.ts +58 -0
  328. package/lib/components/tables/ndf-table/filters-panel/services/index.d.ts +4 -0
  329. package/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.d.ts +55 -0
  330. package/lib/components/tables/ndf-table/filters-panel/utility/index.d.ts +2 -0
  331. package/lib/components/tables/ndf-table/filters-panel/utility/nxql.d.ts +19 -0
  332. package/lib/components/tables/ndf-table/filters-panel/utility/object.d.ts +7 -0
  333. package/lib/components/tables/ndf-table/index.d.ts +1 -0
  334. package/lib/components/tables/ndf-table/models/index.d.ts +7 -0
  335. package/lib/components/tables/ndf-table/models/payload-types.d.ts +28 -0
  336. package/lib/components/tables/ndf-table/models/search.config.d.ts +13 -0
  337. package/lib/components/tables/ndf-table/models/table-column.d.ts +34 -0
  338. package/lib/components/tables/ndf-table/models/table-config.d.ts +45 -0
  339. package/lib/components/tables/ndf-table/models/table-mode.d.ts +25 -0
  340. package/lib/components/tables/ndf-table/models/table-options.d.ts +54 -0
  341. package/lib/components/tables/ndf-table/models/types.d.ts +38 -0
  342. package/lib/components/tables/ndf-table/ndf-table.module.d.ts +32 -0
  343. package/lib/components/tables/ndf-table/public-api.d.ts +7 -0
  344. package/lib/components/tables/ndf-table/services/filters-mapper.service.d.ts +17 -0
  345. package/lib/components/tables/ndf-table/services/index.d.ts +2 -0
  346. package/lib/components/tables/ndf-table/services/ndf-table.service.d.ts +10 -0
  347. package/lib/components/tables/ndf-table/utils/index.d.ts +1 -0
  348. package/lib/components/tables/ndf-table/utils/nxql-query.d.ts +10 -0
  349. package/lib/components/tables/public-api.d.ts +3 -0
  350. package/lib/components/{table → tables/table}/dynamic-column/dynamic-column.component.d.ts +1 -1
  351. package/lib/components/{table → tables/table}/dynamic-component.d.ts +1 -1
  352. package/lib/components/tables/table/index.d.ts +1 -0
  353. package/lib/components/tables/table/public-api.d.ts +5 -0
  354. package/lib/components/{table → tables/table}/table/table.component.d.ts +3 -3
  355. package/lib/components/{table → tables/table}/table.module.d.ts +3 -3
  356. package/lib/core/services/index.d.ts +2 -0
  357. package/lib/shared/models/index.d.ts +1 -0
  358. package/lib/shared/models/types-helper.d.ts +1 -0
  359. package/package.json +3 -2
  360. package/public-api.d.ts +3 -6
  361. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +0 -349
  362. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +0 -51
  363. package/esm2015/lib/components/dynamic-table/public-api.js +0 -5
  364. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +0 -16
  365. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +0 -68
  366. package/esm2015/lib/components/table/dynamic-component.js +0 -59
  367. package/esm2015/lib/components/table/table.module.js +0 -69
  368. /package/lib/components/{dynamic-table → tables/dynamic-table}/directives/empty-state.directive.d.ts +0 -0
  369. /package/lib/components/{dynamic-table → tables/dynamic-table}/index.d.ts +0 -0
  370. /package/lib/components/{dynamic-table → tables/dynamic-table}/public-api.d.ts +0 -0
  371. /package/lib/components/{dynamic-table → tables/dynamic-table}/services/dynamic-table.service.d.ts +0 -0
  372. /package/lib/components/{table → tables/table}/page-sizes-list/page-sizes-list.component.d.ts +0 -0
@@ -0,0 +1,28 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ngx-translate/core";
4
+ export class LocalizedLabelPipe {
5
+ /**
6
+ *
7
+ */
8
+ constructor(_translate) {
9
+ this._translate = _translate;
10
+ }
11
+ transform(option, language) {
12
+ if (!option) {
13
+ return;
14
+ }
15
+ return (option === null || option === void 0 ? void 0 : option.localizedLabel)
16
+ ? option === null || option === void 0 ? void 0 : option.localizedLabel[language]
17
+ : this._translate.instant(option.label);
18
+ }
19
+ }
20
+ LocalizedLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedLabelPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
21
+ LocalizedLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedLabelPipe, name: "localizedLabel" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedLabelPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: 'localizedLabel'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLWxhYmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9waXBlcy9sb2NhbGl6ZWQtbGFiZWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBT3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDOUI7O09BRUc7SUFDSCxZQUFvQixVQUE0QjtRQUE1QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUFHLENBQUM7SUFDcEQsU0FBUyxDQUFDLE1BQW9CLEVBQUUsUUFBOEI7UUFDN0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNaLE9BQU87U0FDUDtRQUVELE9BQU8sQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsY0FBYztZQUM1QixDQUFDLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDOztnSEFiVyxrQkFBa0I7OEdBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNMLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlck9wdGlvbiB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AUGlwZSh7XHJcblx0bmFtZTogJ2xvY2FsaXplZExhYmVsJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVkTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0LyoqXHJcblx0ICpcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XHJcblx0dHJhbnNmb3JtKG9wdGlvbjogRmlsdGVyT3B0aW9uLCBsYW5ndWFnZTogJ2FyJyB8ICdlbicgfCBzdHJpbmcgKTogc3RyaW5nIHtcclxuXHRcdGlmICghb3B0aW9uKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gb3B0aW9uPy5sb2NhbGl6ZWRMYWJlbFxyXG5cdFx0XHQ/IG9wdGlvbj8ubG9jYWxpemVkTGFiZWxbbGFuZ3VhZ2VdXHJcblx0XHRcdDogdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQob3B0aW9uLmxhYmVsKTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../../../core/services";
4
+ export class FiltersByRolesPipe {
5
+ constructor(_nuxeoService, _rolesService) {
6
+ this._nuxeoService = _nuxeoService;
7
+ this._rolesService = _rolesService;
8
+ }
9
+ transform(items) {
10
+ if (!items) {
11
+ return items;
12
+ }
13
+ return items.filter((item) => {
14
+ var _a, _b, _c, _d, _e;
15
+ if (!Array.isArray((_a = item.config) === null || _a === void 0 ? void 0 : _a.roles) || ((_b = item.config) === null || _b === void 0 ? void 0 : _b.roles.length) === 0) {
16
+ return true;
17
+ }
18
+ const user = (_d = (_c = this._nuxeoService) === null || _c === void 0 ? void 0 : _c.nuxeoClient) === null || _d === void 0 ? void 0 : _d.user;
19
+ return this._rolesService.isUserInRole(user, (_e = item.config) === null || _e === void 0 ? void 0 : _e.roles);
20
+ });
21
+ }
22
+ }
23
+ FiltersByRolesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, deps: [{ token: i1.NuxeoService }, { token: i1.RolesService }], target: i0.ɵɵFactoryTarget.Pipe });
24
+ FiltersByRolesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, name: "filterByRoles" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersByRolesPipe, decorators: [{
26
+ type: Pipe,
27
+ args: [{
28
+ name: 'filterByRoles'
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i1.NuxeoService }, { type: i1.RolesService }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMtZmlsdGVycy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2ZpbHRlcnMtcGFuZWwvcGlwZXMvcm9sZXMtZmlsdGVycy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFPcEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixZQUNTLGFBQTJCLEVBQzNCLGFBQTJCO1FBRDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO0lBQ2pDLENBQUM7SUFFSixTQUFTLENBQUMsS0FBeUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNYLE9BQU8sS0FBSyxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTs7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxLQUFLLENBQUMsSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsS0FBSyxDQUFDLE1BQU0sTUFBSyxDQUFDLEVBQUU7Z0JBQzFFLE9BQU8sSUFBSSxDQUFDO2FBQ1o7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsV0FBVywwQ0FBRSxJQUFJLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxLQUFLLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7O2dIQWpCVyxrQkFBa0I7OEdBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNMLElBQUksRUFBRSxlQUFlO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlLCBSb2xlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWdNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AUGlwZSh7XHJcblx0bmFtZTogJ2ZpbHRlckJ5Um9sZXMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQnlSb2xlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX251eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfcm9sZXNTZXJ2aWNlOiBSb2xlc1NlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdHRyYW5zZm9ybShpdGVtczogRmllbGRDb25maWdNb2RlbFtdKTogRmllbGRDb25maWdNb2RlbFtdIHtcclxuXHRcdGlmICghaXRlbXMpIHtcclxuXHRcdFx0cmV0dXJuIGl0ZW1zO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4ge1xyXG5cdFx0XHRpZiAoIUFycmF5LmlzQXJyYXkoaXRlbS5jb25maWc/LnJvbGVzKSB8fCBpdGVtLmNvbmZpZz8ucm9sZXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29uc3QgdXNlciA9IHRoaXMuX251eGVvU2VydmljZT8ubnV4ZW9DbGllbnQ/LnVzZXI7XHJcblx0XHRcdHJldHVybiB0aGlzLl9yb2xlc1NlcnZpY2UuaXNVc2VySW5Sb2xlKHVzZXIsIGl0ZW0uY29uZmlnPy5yb2xlcyk7XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class SanitizerPipe {
5
+ constructor(sanitizer) {
6
+ this.sanitizer = sanitizer;
7
+ }
8
+ transform(value, type = 'HTML') {
9
+ if (!value) {
10
+ return '';
11
+ }
12
+ if (type === 'HTML') {
13
+ return this.sanitizer.bypassSecurityTrustHtml(value);
14
+ }
15
+ if (type === 'STYLE') {
16
+ return this.sanitizer.bypassSecurityTrustStyle(value);
17
+ }
18
+ if (type === 'SCRIPT') {
19
+ return this.sanitizer.bypassSecurityTrustScript(value);
20
+ }
21
+ if (type === 'URL') {
22
+ return this.sanitizer.bypassSecurityTrustUrl(value);
23
+ }
24
+ }
25
+ }
26
+ SanitizerPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SanitizerPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
27
+ SanitizerPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SanitizerPipe, name: "sanitizer" });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SanitizerPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: 'sanitizer',
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9waXBlcy9zYW5pdGl6ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDO0lBRS9DLFNBQVMsQ0FDUCxLQUFhLEVBQ2IsT0FBNEMsTUFBTTtRQUVsRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzsyR0F2QlUsYUFBYTt5R0FBYixhQUFhOzRGQUFiLGFBQWE7a0JBSHpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzYW5pdGl6ZXInLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FuaXRpemVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gIHRyYW5zZm9ybShcclxuICAgIHZhbHVlOiBzdHJpbmcsXHJcbiAgICB0eXBlOiAnSFRNTCcgfCAnU1RZTEUnIHwgJ1NDUklQVCcgfCAnVVJMJyA9ICdIVE1MJ1xyXG4gICk6IFNhZmVWYWx1ZSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ0hUTUwnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZSA9PT0gJ1NUWUxFJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlID09PSAnU0NSSVBUJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFNjcmlwdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZSA9PT0gJ1VSTCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ngx-translate/core";
4
+ export class SortListPipe {
5
+ constructor(_translate) {
6
+ this._translate = _translate;
7
+ }
8
+ transform(items, sortObj) {
9
+ if (!items || !sortObj) {
10
+ return items;
11
+ }
12
+ const currentLang = this._translate.currentLang || 'en';
13
+ const { value, direction } = sortObj;
14
+ const _items = items.sort((a, b) => {
15
+ var _a, _b, _c, _d;
16
+ let compareValue = 0;
17
+ if (value === 'count') {
18
+ const countA = parseInt(((_a = a.count) === null || _a === void 0 ? void 0 : _a.toString()) || '0');
19
+ const countB = parseInt(((_b = b.count) === null || _b === void 0 ? void 0 : _b.toString()) || '0');
20
+ compareValue = countA - countB;
21
+ }
22
+ if (value === 'alphabetically') {
23
+ const labelA = ((_c = a === null || a === void 0 ? void 0 : a.localizedLabel) === null || _c === void 0 ? void 0 : _c[currentLang]) || a.label;
24
+ const labelB = ((_d = b === null || b === void 0 ? void 0 : b.localizedLabel) === null || _d === void 0 ? void 0 : _d[currentLang]) || b.label;
25
+ compareValue = labelA.localeCompare(labelB);
26
+ }
27
+ return direction === 'asc' ? compareValue : -compareValue;
28
+ });
29
+ return _items;
30
+ }
31
+ }
32
+ SortListPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortListPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
33
+ SortListPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortListPipe, name: "sortList" });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortListPipe, decorators: [{
35
+ type: Pipe,
36
+ args: [{
37
+ name: 'sortList'
38
+ }]
39
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2ZpbHRlcnMtcGFuZWwvcGlwZXMvc29ydC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFRcEQsTUFBTSxPQUFPLFlBQVk7SUFDeEIsWUFBb0IsVUFBNEI7UUFBNUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7SUFBRyxDQUFDO0lBQ3BELFNBQVMsQ0FBQyxLQUFxQixFQUFFLE9BQWtCO1FBQ2xELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDYjtRQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUN4RCxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVyQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFOztZQUNsQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7WUFFckIsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUN0QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRSxLQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQSxNQUFBLENBQUMsQ0FBQyxLQUFLLDBDQUFFLFFBQVEsRUFBRSxLQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNwRCxZQUFZLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQzthQUMvQjtZQUVELElBQUksS0FBSyxLQUFLLGdCQUFnQixFQUFFO2dCQUMvQixNQUFNLE1BQU0sR0FBRyxDQUFBLE1BQUEsQ0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLGNBQWMsMENBQUcsV0FBVyxDQUFDLEtBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDM0QsTUFBTSxNQUFNLEdBQUcsQ0FBQSxNQUFBLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRSxjQUFjLDBDQUFHLFdBQVcsQ0FBQyxLQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQzNELFlBQVksR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVDO1lBRUQsT0FBTyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDOzswR0EzQlcsWUFBWTt3R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRmlsdGVyT3B0aW9uLCBTb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcblx0bmFtZTogJ3NvcnRMaXN0J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydExpc3RQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxyXG5cdHRyYW5zZm9ybShpdGVtczogRmlsdGVyT3B0aW9uW10sIHNvcnRPYmo6IFNvcnRNb2RlbCk6IEZpbHRlck9wdGlvbltdIHtcclxuXHRcdGlmICghaXRlbXMgfHwgIXNvcnRPYmopIHtcclxuXHRcdFx0cmV0dXJuIGl0ZW1zO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLl90cmFuc2xhdGUuY3VycmVudExhbmcgfHwgJ2VuJztcclxuXHRcdGNvbnN0IHsgdmFsdWUsIGRpcmVjdGlvbiB9ID0gc29ydE9iajtcclxuXHJcblx0XHRjb25zdCBfaXRlbXMgPSBpdGVtcy5zb3J0KChhLCBiKSA9PiB7XHJcblx0XHRcdGxldCBjb21wYXJlVmFsdWUgPSAwO1xyXG5cclxuXHRcdFx0aWYgKHZhbHVlID09PSAnY291bnQnKSB7XHJcblx0XHRcdFx0Y29uc3QgY291bnRBID0gcGFyc2VJbnQoYS5jb3VudD8udG9TdHJpbmcoKSB8fCAnMCcpO1xyXG5cdFx0XHRcdGNvbnN0IGNvdW50QiA9IHBhcnNlSW50KGIuY291bnQ/LnRvU3RyaW5nKCkgfHwgJzAnKTtcclxuXHRcdFx0XHRjb21wYXJlVmFsdWUgPSBjb3VudEEgLSBjb3VudEI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh2YWx1ZSA9PT0gJ2FscGhhYmV0aWNhbGx5Jykge1xyXG5cdFx0XHRcdGNvbnN0IGxhYmVsQSA9IGE/LmxvY2FsaXplZExhYmVsPy5bY3VycmVudExhbmddIHx8IGEubGFiZWw7XHJcblx0XHRcdFx0Y29uc3QgbGFiZWxCID0gYj8ubG9jYWxpemVkTGFiZWw/LltjdXJyZW50TGFuZ10gfHwgYi5sYWJlbDtcclxuXHRcdFx0XHRjb21wYXJlVmFsdWUgPSBsYWJlbEEubG9jYWxlQ29tcGFyZShsYWJlbEIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gZGlyZWN0aW9uID09PSAnYXNjJyA/IGNvbXBhcmVWYWx1ZSA6IC1jb21wYXJlVmFsdWU7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiBfaXRlbXM7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as moment from 'moment';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ export class TooltipPipe {
6
+ constructor(_translate) {
7
+ this._translate = _translate;
8
+ this.currentLanguage = this._translate.currentLang;
9
+ }
10
+ transform(option, lang) {
11
+ if (!option || !Object.values(option.values).filter(Boolean).length) {
12
+ return;
13
+ }
14
+ this.currentLanguage = lang;
15
+ const { config, values } = option;
16
+ switch (config.type) {
17
+ case 'text':
18
+ return this._handleTextType(config, values);
19
+ case 'translate':
20
+ return this._handelTranslateType(config, values);
21
+ case 'localizeValue':
22
+ return this._handeLocalizeType(config, values);
23
+ case 'date':
24
+ return this._handleDateType(config, values);
25
+ case 'translatedDate':
26
+ return this._handleTranslatedDate(config, values);
27
+ }
28
+ }
29
+ _handleTextType(config, values) {
30
+ var _a;
31
+ return values.join((_a = config === null || config === void 0 ? void 0 : config.separator) !== null && _a !== void 0 ? _a : ' ');
32
+ }
33
+ _handelTranslateType(config, values) {
34
+ var _a;
35
+ return Object.values(values)
36
+ .map((val) => this._translate.instant(`${config === null || config === void 0 ? void 0 : config.prefix}${val}`))
37
+ .join((_a = config === null || config === void 0 ? void 0 : config.separator) !== null && _a !== void 0 ? _a : ' ');
38
+ }
39
+ _handeLocalizeType(config, values) {
40
+ return this._translate.instant(config === null || config === void 0 ? void 0 : config.translateKey, values);
41
+ }
42
+ _handleDateType(config, values) {
43
+ var _a;
44
+ return Object.values(values)
45
+ .map((val) => this._formatDateType(val, config === null || config === void 0 ? void 0 : config.format))
46
+ .join((_a = config === null || config === void 0 ? void 0 : config.separator) !== null && _a !== void 0 ? _a : ' - ');
47
+ }
48
+ _handleTranslatedDate(config, values) {
49
+ const data = Object.entries(values).reduce((acc, [key, value]) => {
50
+ acc[key] = this._formatDateType(value, config === null || config === void 0 ? void 0 : config.format);
51
+ return acc;
52
+ }, {});
53
+ return this._translate.instant(config === null || config === void 0 ? void 0 : config.translateKey, data);
54
+ }
55
+ _formatDateType(value, format) {
56
+ moment.locale(this.currentLanguage);
57
+ const date = moment(value);
58
+ return date.isValid() ? date.format(format || 'dddd, DD MMMM YYYY hh:mm A') : value;
59
+ }
60
+ }
61
+ TooltipPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
62
+ TooltipPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipPipe, name: "optionTooltip" });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TooltipPipe, decorators: [{
64
+ type: Pipe,
65
+ args: [{
66
+ name: 'optionTooltip'
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2ZpbHRlcnMtcGFuZWwvcGlwZXMvdG9vbHRpcC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBVXBELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFLakMsTUFBTSxPQUFPLFdBQVc7SUFLdkIsWUFBb0IsVUFBNEI7UUFBNUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE1BQStCLEVBQUUsSUFBYTtRQUN2RCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNwRSxPQUFPO1NBQ1A7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUVsQyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDcEIsS0FBSyxNQUFNO2dCQUNWLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUEwQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pFLEtBQUssV0FBVztnQkFDZixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUErQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNFLEtBQUssZUFBZTtnQkFDbkIsT0FBTyxJQUFJLENBQUMs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QUUsZUFBZTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtcclxuXHRGaWx0ZXJPcHRpb24sXHJcblx0VG9vbHRpcEZvcm1hdHRlZERhdGUsXHJcblx0VG9vbHRpcExvY2FsaXplZFRleHQsXHJcblx0VG9vbHRpcFBsYWluVGV4dCxcclxuXHRUb29sdGlwVHJhbnNsYXRlZERhdGUsXHJcblx0VG9vbHRpcFRyYW5zbGF0aW9uS2V5XHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5AUGlwZSh7XHJcblx0bmFtZTogJ29wdGlvblRvb2x0aXAnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cdC8qKlxyXG5cdCAqXHJcblx0ICovXHJcblx0Y3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcblx0XHR0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuX3RyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuXHR9XHJcblx0dHJhbnNmb3JtKG9wdGlvbjogRmlsdGVyT3B0aW9uWyd0b29sdGlwJ10sIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0aWYgKCFvcHRpb24gfHwgIU9iamVjdC52YWx1ZXMob3B0aW9uLnZhbHVlcykuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxhbmc7XHJcblxyXG5cdFx0Y29uc3QgeyBjb25maWcsIHZhbHVlcyB9ID0gb3B0aW9uO1xyXG5cclxuXHRcdHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuX2hhbmRsZVRleHRUeXBlKGNvbmZpZyBhcyBUb29sdGlwUGxhaW5UZXh0LCB2YWx1ZXMpO1xyXG5cdFx0XHRjYXNlICd0cmFuc2xhdGUnOlxyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9oYW5kZWxUcmFuc2xhdGVUeXBlKGNvbmZpZyBhcyBUb29sdGlwVHJhbnNsYXRpb25LZXksIHZhbHVlcyk7XHJcblx0XHRcdGNhc2UgJ2xvY2FsaXplVmFsdWUnOlxyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9oYW5kZUxvY2FsaXplVHlwZShjb25maWcgYXMgVG9vbHRpcExvY2FsaXplZFRleHQsIHZhbHVlcyk7XHJcblx0XHRcdGNhc2UgJ2RhdGUnOlxyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9oYW5kbGVEYXRlVHlwZShjb25maWcgYXMgVG9vbHRpcEZvcm1hdHRlZERhdGUsIHZhbHVlcyk7XHJcblx0XHRcdGNhc2UgJ3RyYW5zbGF0ZWREYXRlJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5faGFuZGxlVHJhbnNsYXRlZERhdGUoY29uZmlnIGFzIFRvb2x0aXBUcmFuc2xhdGVkRGF0ZSwgdmFsdWVzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRsZVRleHRUeXBlKGNvbmZpZzogVG9vbHRpcFBsYWluVGV4dCwgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRyZXR1cm4gdmFsdWVzLmpvaW4oY29uZmlnPy5zZXBhcmF0b3IgPz8gJyAnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRlbFRyYW5zbGF0ZVR5cGUoY29uZmlnOiBUb29sdGlwVHJhbnNsYXRpb25LZXksIHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0cmV0dXJuIE9iamVjdC52YWx1ZXModmFsdWVzKVxyXG5cdFx0XHQubWFwKCh2YWwpID0+IHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KGAke2NvbmZpZz8ucHJlZml4fSR7dmFsfWApKVxyXG5cdFx0XHQuam9pbihjb25maWc/LnNlcGFyYXRvciA/PyAnICcpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaGFuZGVMb2NhbGl6ZVR5cGUoY29uZmlnOiBUb29sdGlwTG9jYWxpemVkVGV4dCwgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoY29uZmlnPy50cmFuc2xhdGVLZXksIHZhbHVlcyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kbGVEYXRlVHlwZShjb25maWc6IFRvb2x0aXBGb3JtYXR0ZWREYXRlLCB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHJldHVybiBPYmplY3QudmFsdWVzKHZhbHVlcylcclxuXHRcdFx0Lm1hcCgodmFsKSA9PiB0aGlzLl9mb3JtYXREYXRlVHlwZSh2YWwsIGNvbmZpZz8uZm9ybWF0KSlcclxuXHRcdFx0LmpvaW4oY29uZmlnPy5zZXBhcmF0b3IgPz8gJyAtICcpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaGFuZGxlVHJhbnNsYXRlZERhdGUoY29uZmlnOiBUb29sdGlwVHJhbnNsYXRlZERhdGUsIHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0Y29uc3QgZGF0YSA9IE9iamVjdC5lbnRyaWVzKHZhbHVlcykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xyXG5cdFx0XHRhY2Nba2V5XSA9IHRoaXMuX2Zvcm1hdERhdGVUeXBlKHZhbHVlLCBjb25maWc/LmZvcm1hdCk7XHJcblx0XHRcdHJldHVybiBhY2M7XHJcblx0XHR9LCB7fSk7XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KGNvbmZpZz8udHJhbnNsYXRlS2V5LCBkYXRhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2Zvcm1hdERhdGVUeXBlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuXHRcdG1vbWVudC5sb2NhbGUodGhpcy5jdXJyZW50TGFuZ3VhZ2UpO1xyXG5cdFx0Y29uc3QgZGF0ZTogbW9tZW50Lk1vbWVudCA9IG1vbWVudCh2YWx1ZSk7XHJcblx0XHRyZXR1cm4gZGF0ZS5pc1ZhbGlkKCkgPyBkYXRlLmZvcm1hdChmb3JtYXQgfHwgJ2RkZGQsIEREIE1NTU0gWVlZWSBoaDptbSBBJykgOiB2YWx1ZTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,105 @@
1
+ import { __rest } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import _ from 'lodash';
4
+ import { of } from 'rxjs';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./ndf-transform.service";
8
+ export class AggregationFieldService {
9
+ constructor(_ndfTransformService) {
10
+ this._ndfTransformService = _ndfTransformService;
11
+ }
12
+ prepareAggregationFiled(data) {
13
+ var _a, _b;
14
+ return !!((_a = data.fieldConfig) === null || _a === void 0 ? void 0 : _a.dataTransformer)
15
+ ? this._transformData(data.aggregation, (_b = data.fieldConfig) === null || _b === void 0 ? void 0 : _b.dataTransformer)
16
+ : this._prepareOptions(data);
17
+ }
18
+ _prepareOptions({ fieldConfig, aggregation }) {
19
+ return of(aggregation).pipe(map((aggregation) => {
20
+ const _items = _.get(aggregation, (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.propertyPath) || 'buckets') || [];
21
+ return _items.map((item) => this._mapOption(item, fieldConfig));
22
+ }));
23
+ }
24
+ _transformData(aggregation, transformer) {
25
+ const _key = (k) => `${k}`.split('/').pop();
26
+ const createMappedData = (res, aggregation) => {
27
+ return res.map((item) => {
28
+ const bucket = aggregation.buckets.find((it) => _key(it.key) === _key(item.code));
29
+ item.code = bucket.key;
30
+ return this._createFilterOption(item, (bucket === null || bucket === void 0 ? void 0 : bucket.docCount) || 0);
31
+ });
32
+ };
33
+ const dataMappers = {
34
+ subject: (res, aggregation) => createMappedData(res, aggregation),
35
+ format: (res, aggregation) => createMappedData(res, aggregation)
36
+ };
37
+ if (!this._ndfTransformService.has(transformer)) {
38
+ throw new Error(`No transformer defined for type: ${transformer}`);
39
+ }
40
+ const keys = aggregation.buckets.map((bt) => bt.key);
41
+ return this._ndfTransformService.transform(transformer, keys).pipe(map((res) => {
42
+ const _dataMapper = dataMappers[transformer];
43
+ if (_dataMapper) {
44
+ return _dataMapper(res, aggregation);
45
+ }
46
+ return res.map((item) => {
47
+ const bucket = aggregation.buckets.find((bkt) => bkt.key === item.code || bkt.key === (item === null || item === void 0 ? void 0 : item.id));
48
+ return this._createFilterOption(item, (bucket === null || bucket === void 0 ? void 0 : bucket.docCount) || 0);
49
+ });
50
+ }));
51
+ }
52
+ _createFilterOption(item, docCount) {
53
+ const code = item.code || item.id;
54
+ return {
55
+ id: code,
56
+ label: item.code,
57
+ value: code,
58
+ count: docCount,
59
+ localizedLabel: { ar: item.arabicTitle, en: item.englishTitle }
60
+ };
61
+ }
62
+ _mapOption(item, config) {
63
+ const prefix = (config === null || config === void 0 ? void 0 : config.prefix) || '';
64
+ const bindValue = config === null || config === void 0 ? void 0 : config.bindValue;
65
+ const value = _.get(item, bindValue || 'key') || _.get(item, bindValue || 'id');
66
+ const option = {
67
+ id: item.key,
68
+ label: `${prefix}${item.key}`,
69
+ value: value,
70
+ count: item === null || item === void 0 ? void 0 : item.docCount,
71
+ localizedLabel: config.bindLabel
72
+ ? {
73
+ ar: _.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.ar),
74
+ en: _.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.en)
75
+ }
76
+ : null
77
+ };
78
+ if (config === null || config === void 0 ? void 0 : config.tooltip) {
79
+ const _a = config === null || config === void 0 ? void 0 : config.tooltip, { properties } = _a, tooltipConfig = __rest(_a, ["properties"]);
80
+ option.tooltip = {
81
+ config: tooltipConfig,
82
+ values: this._prepareTooltip(item, config === null || config === void 0 ? void 0 : config.tooltip) || null
83
+ };
84
+ }
85
+ return option;
86
+ }
87
+ _prepareTooltip(item, config) {
88
+ return Object.entries(config.properties).reduce((acc, [key]) => {
89
+ const val = _.get(item, key);
90
+ if (val) {
91
+ acc[key] = val;
92
+ }
93
+ return acc;
94
+ }, {});
95
+ }
96
+ }
97
+ AggregationFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldService, deps: [{ token: i1.NdfTransformService }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ AggregationFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldService, providedIn: 'root' });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldService, decorators: [{
100
+ type: Injectable,
101
+ args: [{
102
+ providedIn: 'root'
103
+ }]
104
+ }], ctorParameters: function () { return [{ type: i1.NdfTransformService }]; } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL25kZi10YWJsZS9maWx0ZXJzLXBhbmVsL3NlcnZpY2VzL2FnZ3JlZ2F0aW9uLWZpZWxkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFnQnJDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbkMsWUFBNkIsb0JBQXlDO1FBQXpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7SUFBRyxDQUFDO0lBRTFFLHVCQUF1QixDQUFDLElBQXNCOztRQUM3QyxPQUFPLENBQUMsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsZUFBZSxDQUFBO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxlQUFlLENBQUM7WUFDMUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQW9CO1FBQ3JFLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxX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QXVCO3lIQUF2Qix1QkFBdUIsY0FGdkIsTUFBTTs0RkFFTix1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge1xyXG5cdEFnZ3JlZ2F0aW9uQnVja2V0LFxyXG5cdEFnZ3JlZ2F0aW9uRmllbGRDb25maWcsXHJcblx0QWdncmVnYXRpb25SZXNwb25zZSxcclxuXHRBZ2dyZWdhdGlvblRvb2x0aXBUeXBlLFxyXG5cdEZpZWxkT3B0aW9uc1R5cGUsXHJcblx0RmlsdGVyT3B0aW9uLFxyXG5cdE5kZlRyYW5zZm9ybWVyRGF0YU1vZGVsXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgTmRmVHJhbnNmb3JtU2VydmljZSB9IGZyb20gJy4vbmRmLXRyYW5zZm9ybS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0aW9uRmllbGRTZXJ2aWNlIHtcclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9uZGZUcmFuc2Zvcm1TZXJ2aWNlOiBOZGZUcmFuc2Zvcm1TZXJ2aWNlKSB7fVxyXG5cclxuXHRwcmVwYXJlQWdncmVnYXRpb25GaWxlZChkYXRhOiBGaWVsZE9wdGlvbnNUeXBlKSB7XHJcblx0XHRyZXR1cm4gISFkYXRhLmZpZWxkQ29uZmlnPy5kYXRhVHJhbnNmb3JtZXJcclxuXHRcdFx0PyB0aGlzLl90cmFuc2Zvcm1EYXRhKGRhdGEuYWdncmVnYXRpb24sIGRhdGEuZmllbGRDb25maWc/LmRhdGFUcmFuc2Zvcm1lcilcclxuXHRcdFx0OiB0aGlzLl9wcmVwYXJlT3B0aW9ucyhkYXRhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVPcHRpb25zKHsgZmllbGRDb25maWcsIGFnZ3JlZ2F0aW9uIH06IEZpZWxkT3B0aW9uc1R5cGUpOiBPYnNlcnZhYmxlPEZpbHRlck9wdGlvbltdPiB7XHJcblx0XHRyZXR1cm4gb2YoYWdncmVnYXRpb24pLnBpcGUoXHJcblx0XHRcdG1hcCgoYWdncmVnYXRpb24pID0+IHtcclxuXHRcdFx0XHRjb25zdCBfaXRlbXMgPSBfLmdldChhZ2dyZWdhdGlvbiwgZmllbGRDb25maWc/LnByb3BlcnR5UGF0aCB8fCAnYnVja2V0cycpIHx8IFtdO1xyXG5cdFx0XHRcdHJldHVybiBfaXRlbXMubWFwKChpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCkgPT4gdGhpcy5fbWFwT3B0aW9uKGl0ZW0sIGZpZWxkQ29uZmlnKSk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdHJhbnNmb3JtRGF0YShhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZSwgdHJhbnNmb3JtZXI6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgX2tleSA9IChrOiBzdHJpbmcpID0+IGAke2t9YC5zcGxpdCgnLycpLnBvcCgpO1xyXG5cclxuXHRcdGNvbnN0IGNyZWF0ZU1hcHBlZERhdGEgPSAocmVzOiBOZGZUcmFuc2Zvcm1lckRhdGFNb2RlbFtdLCBhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gcmVzLm1hcCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGJ1Y2tldCA9IGFnZ3JlZ2F0aW9uLmJ1Y2tldHMuZmluZCgoaXQpID0+IF9rZXkoaXQua2V5KSA9PT0gX2tleShpdGVtLmNvZGUpKTtcclxuXHRcdFx0XHRpdGVtLmNvZGUgPSBidWNrZXQua2V5O1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9jcmVhdGVGaWx0ZXJPcHRpb24oaXRlbSwgYnVja2V0Py5kb2NDb3VudCB8fCAwKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IGRhdGFNYXBwZXJzOiBQYXJ0aWFsPFxyXG5cdFx0XHRSZWNvcmQ8XHJcblx0XHRcdFx0c3RyaW5nLFxyXG5cdFx0XHRcdChyZXM6IE5kZlRyYW5zZm9ybWVyRGF0YU1vZGVsW10sIGFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblJlc3BvbnNlKSA9PiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVNYXBwZWREYXRhPlxyXG5cdFx0XHQ+XHJcblx0XHQ+ID0ge1xyXG5cdFx0XHRzdWJqZWN0OiAocmVzLCBhZ2dyZWdhdGlvbikgPT4gY3JlYXRlTWFwcGVkRGF0YShyZXMsIGFnZ3JlZ2F0aW9uKSxcclxuXHRcdFx0Zm9ybWF0OiAocmVzLCBhZ2dyZWdhdGlvbikgPT4gY3JlYXRlTWFwcGVkRGF0YShyZXMsIGFnZ3JlZ2F0aW9uKVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoIXRoaXMuX25kZlRyYW5zZm9ybVNlcnZpY2UuaGFzKHRyYW5zZm9ybWVyKSkge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYE5vIHRyYW5zZm9ybWVyIGRlZmluZWQgZm9yIHR5cGU6ICR7dHJhbnNmb3JtZXJ9YCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3Qga2V5cyA9IGFnZ3JlZ2F0aW9uLmJ1Y2tldHMubWFwKChidCkgPT4gYnQua2V5KTtcclxuXHRcdHJldHVybiB0aGlzLl9uZGZUcmFuc2Zvcm1TZXJ2aWNlLnRyYW5zZm9ybSh0cmFuc2Zvcm1lciwga2V5cykucGlwZShcclxuXHRcdFx0bWFwKChyZXMpID0+IHtcclxuXHRcdFx0XHRjb25zdCBfZGF0YU1hcHBlciA9IGRhdGFNYXBwZXJzW3RyYW5zZm9ybWVyXTtcclxuXHRcdFx0XHRpZiAoX2RhdGFNYXBwZXIpIHtcclxuXHRcdFx0XHRcdHJldHVybiBfZGF0YU1hcHBlcihyZXMsIGFnZ3JlZ2F0aW9uKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHJlcy5tYXAoKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IGJ1Y2tldCA9IGFnZ3JlZ2F0aW9uLmJ1Y2tldHMuZmluZCgoYmt0KSA9PiBia3Qua2V5ID09PSBpdGVtLmNvZGUgfHwgYmt0LmtleSA9PT0gaXRlbT8uaWQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuX2NyZWF0ZUZpbHRlck9wdGlvbihpdGVtLCBidWNrZXQ/LmRvY0NvdW50IHx8IDApO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NyZWF0ZUZpbHRlck9wdGlvbihpdGVtOiBhbnksIGRvY0NvdW50OiBudW1iZXIpOiBGaWx0ZXJPcHRpb24ge1xyXG5cdFx0Y29uc3QgY29kZSA9IGl0ZW0uY29kZSB8fCBpdGVtLmlkO1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0aWQ6IGNvZGUsXHJcblx0XHRcdGxhYmVsOiBpdGVtLmNvZGUsXHJcblx0XHRcdHZhbHVlOiBjb2RlLFxyXG5cdFx0XHRjb3VudDogZG9jQ291bnQsXHJcblx0XHRcdGxvY2FsaXplZExhYmVsOiB7IGFyOiBpdGVtLmFyYWJpY1RpdGxlLCBlbjogaXRlbS5lbmdsaXNoVGl0bGUgfVxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX21hcE9wdGlvbihpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCwgY29uZmlnOiBBZ2dyZWdhdGlvbkZpZWxkQ29uZmlnKTogRmlsdGVyT3B0aW9uIHtcclxuXHRcdGNvbnN0IHByZWZpeCA9IGNvbmZpZz8ucHJlZml4IHx8ICcnO1xyXG5cdFx0Y29uc3QgYmluZFZhbHVlID0gY29uZmlnPy5iaW5kVmFsdWU7XHJcblx0XHRjb25zdCB2YWx1ZSA9IF8uZ2V0KGl0ZW0sIGJpbmRWYWx1ZSB8fCAna2V5JykgfHwgXy5nZXQoaXRlbSwgYmluZFZhbHVlIHx8ICdpZCcpO1xyXG5cclxuXHRcdGNvbnN0IG9wdGlvbjogRmlsdGVyT3B0aW9uID0ge1xyXG5cdFx0XHRpZDogaXRlbS5rZXksXHJcblx0XHRcdGxhYmVsOiBgJHtwcmVmaXh9JHtpdGVtLmtleX1gLFxyXG5cdFx0XHR2YWx1ZTogdmFsdWUsXHJcblx0XHRcdGNvdW50OiBpdGVtPy5kb2NDb3VudCxcclxuXHRcdFx0bG9jYWxpemVkTGFiZWw6IGNvbmZpZy5iaW5kTGFiZWxcclxuXHRcdFx0XHQ/IHtcclxuXHRcdFx0XHRcdFx0YXI6IF8uZ2V0KGl0ZW0sIGNvbmZpZz8uYmluZExhYmVsLmFyKSxcclxuXHRcdFx0XHRcdFx0ZW46IF8uZ2V0KGl0ZW0sIGNvbmZpZz8uYmluZExhYmVsLmVuKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDogbnVsbFxyXG5cdFx0fTtcclxuXHRcdGlmIChjb25maWc/LnRvb2x0aXApIHtcclxuXHRcdFx0Y29uc3QgeyBwcm9wZXJ0aWVzLCAuLi50b29sdGlwQ29uZmlnIH0gPSBjb25maWc/LnRvb2x0aXA7XHJcblx0XHRcdG9wdGlvbi50b29sdGlwID0ge1xyXG5cdFx0XHRcdGNvbmZpZzogdG9vbHRpcENvbmZpZyxcclxuXHRcdFx0XHR2YWx1ZXM6IHRoaXMuX3ByZXBhcmVUb29sdGlwKGl0ZW0sIGNvbmZpZz8udG9vbHRpcCkgfHwgbnVsbFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG9wdGlvbjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVUb29sdGlwKGl0ZW06IEFnZ3JlZ2F0aW9uQnVja2V0LCBjb25maWc6IEFnZ3JlZ2F0aW9uVG9vbHRpcFR5cGUpIHtcclxuXHRcdHJldHVybiBPYmplY3QuZW50cmllcyhjb25maWcucHJvcGVydGllcykucmVkdWNlKChhY2MsIFtrZXldKSA9PiB7XHJcblx0XHRcdGNvbnN0IHZhbCA9IF8uZ2V0KGl0ZW0sIGtleSk7XHJcblx0XHRcdGlmICh2YWwpIHtcclxuXHRcdFx0XHRhY2Nba2V5XSA9IHZhbDtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwge30pO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, PredicateDateInputComponent, PredicateTextInputComponent } from '../components';
3
+ import { AGGREGATION_FIELD_TYPES, CUSTOM_FIELD_TYPES, PREDICATE_FIELD_TYPES } from '../constants';
4
+ import { ActiveUserSwitchComponent } from '../custom-components';
5
+ import * as i0 from "@angular/core";
6
+ export class DynamicComponentLoaderService {
7
+ constructor(_factoryResolver) {
8
+ this._factoryResolver = _factoryResolver;
9
+ this._components = new Map();
10
+ this._registerCustomComponent();
11
+ this._registerAggregationsComponents();
12
+ this._registerPredicateComponents();
13
+ }
14
+ registerComponent(key, component) {
15
+ this._components.set(key, component);
16
+ }
17
+ renderComponent(key, vcr) {
18
+ if (!this._components.has(key)) {
19
+ throw 'unknown component ';
20
+ }
21
+ const component = this._components.get(key);
22
+ return this.loadComponent(component, vcr);
23
+ }
24
+ loadComponent(componentAngularType, vcr) {
25
+ const component = this._factoryResolver.resolveComponentFactory(componentAngularType);
26
+ return vcr.createComponent(component);
27
+ }
28
+ //------
29
+ // CUSTOM
30
+ //------
31
+ _registerCustomComponent() {
32
+ this.registerComponent(CUSTOM_FIELD_TYPES.activeUser, ActiveUserSwitchComponent);
33
+ }
34
+ //------
35
+ // AGGREGATION
36
+ //------
37
+ _registerAggregationsComponents() {
38
+ this.registerComponent(AGGREGATION_FIELD_TYPES.autocomplete, AggregationAutocompleteComponent);
39
+ this.registerComponent(AGGREGATION_FIELD_TYPES.dropdown, AggregationSelectComponent);
40
+ this.registerComponent(AGGREGATION_FIELD_TYPES.switch, AggregationSwitchComponent);
41
+ this.registerComponent(AGGREGATION_FIELD_TYPES.radio, AggregationRadioComponent);
42
+ this.registerComponent(AGGREGATION_FIELD_TYPES.dateList, AggregationDateListComponent);
43
+ this.registerComponent(AGGREGATION_FIELD_TYPES.custom, AggregationCustomComponent);
44
+ this.registerComponent(AGGREGATION_FIELD_TYPES.checkbox, AggregationCheckboxComponent);
45
+ }
46
+ //------
47
+ // PREDICATE
48
+ //------
49
+ _registerPredicateComponents() {
50
+ this.registerComponent(PREDICATE_FIELD_TYPES.input, PredicateTextInputComponent);
51
+ this.registerComponent(PREDICATE_FIELD_TYPES.date, PredicateDateInputComponent);
52
+ }
53
+ }
54
+ DynamicComponentLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
55
+ DynamicComponentLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, decorators: [{
57
+ type: Injectable
58
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9zZXJ2aWNlcy9keW5hbWljLWNvbXBvbmVudC1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUNOLGdDQUFnQyxFQUNoQyw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLDZCQUE2QjtJQUd6QyxZQUFvQixnQkFBMEM7UUFBMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtRQUY3QyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBR2xFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxpQkFBaUIsQ0FBSSxHQUFrQixFQUFFLFNBQWtCO1FBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQWtCLEVBQUUsR0FBcUI7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sb0JBQW9CLENBQUM7U0FDM0I7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhLENBQUksb0JBQTZCLEVBQUUsR0FBcUI7UUFDcEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEYsT0FBTyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDQSx3QkFBd0I7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxRQUFRO0lBQ1IsY0FBYztJQUNkLFFBQVE7SUFDQSwrQkFBK0I7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxRQUFRO0lBQ1IsWUFBWTtJQUNaLFFBQVE7SUFDQSw0QkFBNEI7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNqRixDQUFDOzsySEFwRFcsNkJBQTZCOytIQUE3Qiw2QkFBNkI7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0YWJsZSwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdEFnZ3JlZ2F0aW9uQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG5cdEFnZ3JlZ2F0aW9uQ2hlY2tib3hDb21wb25lbnQsXHJcblx0QWdncmVnYXRpb25DdXN0b21Db21wb25lbnQsXHJcblx0QWdncmVnYXRpb25EYXRlTGlzdENvbXBvbmVudCxcclxuXHRBZ2dyZWdhdGlvblJhZGlvQ29tcG9uZW50LFxyXG5cdEFnZ3JlZ2F0aW9uU2VsZWN0Q29tcG9uZW50LFxyXG5cdEFnZ3JlZ2F0aW9uU3dpdGNoQ29tcG9uZW50LFxyXG5cdFByZWRpY2F0ZURhdGVJbnB1dENvbXBvbmVudCxcclxuXHRQcmVkaWNhdGVUZXh0SW5wdXRDb21wb25lbnRcclxufSBmcm9tICcuLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQUdHUkVHQVRJT05fRklFTERfVFlQRVMsIENVU1RPTV9GSUVMRF9UWVBFUywgUFJFRElDQVRFX0ZJRUxEX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQWdncmVnYXRpb25GaWVsZFR5cGUsIEN1c3RvbUZpZWxkVHlwZSwgUHJlZGljYXRlRmllbGRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQWN0aXZlVXNlclN3aXRjaENvbXBvbmVudCB9IGZyb20gJy4uL2N1c3RvbS1jb21wb25lbnRzJztcclxuXHJcbnR5cGUgQ29tcG9uZW50VHlwZSA9IEFnZ3JlZ2F0aW9uRmllbGRUeXBlIHwgUHJlZGljYXRlRmllbGRUeXBlIHwgQ3VzdG9tRmllbGRUeXBlO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2Uge1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudHMgPSBuZXcgTWFwPENvbXBvbmVudFR5cGUsIFR5cGU8YW55Pj4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuXHRcdHRoaXMuX3JlZ2lzdGVyQ3VzdG9tQ29tcG9uZW50KCk7XHJcblx0XHR0aGlzLl9yZWdpc3RlckFnZ3JlZ2F0aW9uc0NvbXBvbmVudHMoKTtcclxuXHRcdHRoaXMuX3JlZ2lzdGVyUHJlZGljYXRlQ29tcG9uZW50cygpO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJDb21wb25lbnQ8VD4oa2V5OiBDb21wb25lbnRUeXBlLCBjb21wb25lbnQ6IFR5cGU8VD4pIHtcclxuXHRcdHRoaXMuX2NvbXBvbmVudHMuc2V0KGtleSwgY29tcG9uZW50KTtcclxuXHR9XHJcblxyXG5cdHJlbmRlckNvbXBvbmVudChrZXk6IENvbXBvbmVudFR5cGUsIHZjcjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cdFx0aWYgKCF0aGlzLl9jb21wb25lbnRzLmhhcyhrZXkpKSB7XHJcblx0XHRcdHRocm93ICd1bmtub3duIGNvbXBvbmVudCAnO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgY29tcG9uZW50ID0gdGhpcy5fY29tcG9uZW50cy5nZXQoa2V5KTtcclxuXHRcdHJldHVybiB0aGlzLmxvYWRDb21wb25lbnQoY29tcG9uZW50LCB2Y3IpO1xyXG5cdH1cclxuXHJcblx0bG9hZENvbXBvbmVudDxUPihjb21wb25lbnRBbmd1bGFyVHlwZTogVHlwZTxUPiwgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHRjb25zdCBjb21wb25lbnQgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50QW5ndWxhclR5cGUpO1xyXG5cdFx0cmV0dXJuIHZjci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcclxuXHR9XHJcblxyXG5cdC8vLS0tLS0tXHJcblx0Ly8gQ1VTVE9NXHJcblx0Ly8tLS0tLS1cclxuXHRwcml2YXRlIF9yZWdpc3RlckN1c3RvbUNvbXBvbmVudCgpIHtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQ1VTVE9NX0ZJRUxEX1RZUEVTLmFjdGl2ZVVzZXIsIEFjdGl2ZVVzZXJTd2l0Y2hDb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0Ly8tLS0tLS1cclxuXHQvLyBBR0dSRUdBVElPTlxyXG5cdC8vLS0tLS0tXHJcblx0cHJpdmF0ZSBfcmVnaXN0ZXJBZ2dyZWdhdGlvbnNDb21wb25lbnRzKCkge1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5hdXRvY29tcGxldGUsIEFnZ3JlZ2F0aW9uQXV0b2NvbXBsZXRlQ29tcG9uZW50KTtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZHJvcGRvd24sIEFnZ3JlZ2F0aW9uU2VsZWN0Q29tcG9uZW50KTtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQUdHUkVHQVRJT05fRklFTERfVFlQRVMuc3dpdGNoLCBBZ2dyZWdhdGlvblN3aXRjaENvbXBvbmVudCk7XHJcblx0XHR0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KEFHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTLnJhZGlvLCBBZ2dyZWdhdGlvblJhZGlvQ29tcG9uZW50KTtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZGF0ZUxpc3QsIEFnZ3JlZ2F0aW9uRGF0ZUxpc3RDb21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jdXN0b20sIEFnZ3JlZ2F0aW9uQ3VzdG9tQ29tcG9uZW50KTtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQUdHUkVHQVRJT05fRklFTERfVFlQRVMuY2hlY2tib3gsIEFnZ3JlZ2F0aW9uQ2hlY2tib3hDb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0Ly8tLS0tLS1cclxuXHQvLyBQUkVESUNBVEVcclxuXHQvLy0tLS0tLVxyXG5cdHByaXZhdGUgX3JlZ2lzdGVyUHJlZGljYXRlQ29tcG9uZW50cygpIHtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoUFJFRElDQVRFX0ZJRUxEX1RZUEVTLmlucHV0LCBQcmVkaWNhdGVUZXh0SW5wdXRDb21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChQUkVESUNBVEVfRklFTERfVFlQRVMuZGF0ZSwgUHJlZGljYXRlRGF0ZUlucHV0Q29tcG9uZW50KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,117 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { VALUE_OBJECT } from '../constants';
3
+ import * as i0 from "@angular/core";
4
+ export class FilterQueryService {
5
+ constructor() {
6
+ this.keyToShortMap = new Map();
7
+ this.shortToKeyMap = new Map();
8
+ this.defaultShortKeys = {
9
+ value: 'v',
10
+ operator: 'o',
11
+ min: 'n',
12
+ max: 'x',
13
+ prefix: 'p'
14
+ };
15
+ this.initializeDefaultKeys();
16
+ }
17
+ registerKeys(keys) {
18
+ Object.entries(keys).forEach(([key, value]) => this.registerKey(key, value));
19
+ }
20
+ registerKey(longKey, shortKey) {
21
+ this.keyToShortMap.set(longKey, shortKey);
22
+ this.shortToKeyMap.set(shortKey, longKey);
23
+ }
24
+ /**
25
+ * Encodes a query object into a URL-safe string by transforming its keys
26
+ * and converting it to a JSON string.
27
+ *
28
+ * @param {Record<string, any>} query - The query object to encode.
29
+ *
30
+ * @example
31
+ * // Example query object
32
+ * const query = {
33
+ * // Predicate field (payload sent)
34
+ * 'locRef:boxCode': {
35
+ * value: '1',
36
+ * operator: 'LIKE',
37
+ * },
38
+ *
39
+ * // Aggregation field (query parameter)
40
+ * 'locRef:boxCode': [1]
41
+ * };
42
+ *
43
+ * const encodedQuery = encodeQuery(query);
44
+ * console.log(encodedQuery); // Encoded string representation
45
+ *
46
+ * @returns {string} - The URL-encoded JSON string representation of the query object.
47
+ */
48
+ encodeQuery(query) {
49
+ const transformed = this.transformObject(query, this.keyToShortMap, false);
50
+ return encodeURIComponent(JSON.stringify(transformed));
51
+ }
52
+ /**
53
+ * Decodes a URL-encoded query string back into its original object form.
54
+ *
55
+ * @param {string} encodedQuery - The URL-encoded JSON string representation of a query.
56
+ *
57
+ * @example
58
+ * const encodedQuery = "%7B%22locRef%3AboxCode%22%3A%7B%22value%22%3A%221%22%2C%22operator%22%3A%22LIKE%22%7D%7D";
59
+ * const decodedQuery = decodeQuery(encodedQuery);
60
+ * console.log(decodedQuery);
61
+ * Output:
62
+ * {
63
+ * 'locRef:boxCode': {
64
+ * value: '1',
65
+ * operator: 'LIKE'
66
+ * }
67
+ * }
68
+ *
69
+ * @returns {Record<string, any> | null} - The decoded query object, or `null` if decoding fails.
70
+ */
71
+ decodeQuery(encodedQuery) {
72
+ try {
73
+ const parsedQuery = JSON.parse(decodeURIComponent(encodedQuery));
74
+ return this.transformObject(parsedQuery, this.shortToKeyMap, true);
75
+ }
76
+ catch (error) {
77
+ console.error('Failed to decode query:', error);
78
+ return null;
79
+ }
80
+ }
81
+ initializeDefaultKeys() {
82
+ Object.entries(this.defaultShortKeys).forEach(([longKey, shortKey]) => {
83
+ this.registerKey(longKey, shortKey);
84
+ });
85
+ }
86
+ transformObject(entry, keyMap, isDecode) {
87
+ if (Array.isArray(entry)) {
88
+ return entry.map((item) => this.transformObject(item, keyMap, isDecode));
89
+ }
90
+ if (entry && typeof entry === 'object') {
91
+ if (!isDecode) {
92
+ delete entry[VALUE_OBJECT];
93
+ }
94
+ return Object.keys(entry).reduce((acc, key) => {
95
+ const newKey = keyMap.get(key);
96
+ if (!newKey) {
97
+ throw new Error(`Query key mapping not found for: ${key}`);
98
+ }
99
+ if (isDecode && newKey === 'operator') {
100
+ acc[VALUE_OBJECT] = `${VALUE_OBJECT}`;
101
+ }
102
+ acc[newKey] = this.transformObject(entry[key], keyMap, isDecode);
103
+ return acc;
104
+ }, {});
105
+ }
106
+ return entry;
107
+ }
108
+ }
109
+ FilterQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
110
+ FilterQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, providedIn: 'root' });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, decorators: [{
112
+ type: Injectable,
113
+ args: [{
114
+ providedIn: 'root'
115
+ }]
116
+ }], ctorParameters: function () { return []; } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2ZpbHRlcnMtcGFuZWwvc2VydmljZXMvZmlsdGVycy1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLGtCQUFrQjtJQVk5QjtRQVhpQixrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQzFDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFFMUMscUJBQWdCLEdBQTJCO1lBQzNELEtBQUssRUFBRSxHQUFHO1lBQ1YsUUFBUSxFQUFFLEdBQUc7WUFDYixHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxHQUFHO1lBQ1IsTUFBTSxFQUFFLEdBQUc7U0FDWCxDQUFDO1FBR0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUE0QjtRQUN4QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXVCRztJQUNILFdBQVcsQ0FBQyxLQUEwQjtRQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNFLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBRUgsV0FBVyxDQUFDLFlBQW9CO1FBQy9CLElBQUk7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ25FO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDO1NBQ1o7SUFDRixDQUFDO0lBRU8scUJBQXFCO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNyRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVSxFQUFFLE1BQTJCLEVBQUUsUUFBaUI7UUFDakYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDekU7UUFFRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZCxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzQjtZQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQy9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNaLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsR0FBRyxFQUFFLENBQUMsQ0FBQztpQkFDM0Q7Z0JBQ0QsSUFBSSxRQUFRLElBQUksTUFBTSxLQUFLLFVBQVUsRUFBRTtvQkFDdEMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsWUFBWSxFQUFFLENBQUM7aUJBQ3RDO2dCQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ2pFLE9BQU8sR0FBRyxDQUFDO1lBQ1osQ0FBQyxFQUNELEVBQXlCLENBQ3pCLENBQUM7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQzs7Z0hBcEhXLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmxCLE1BQU07NEZBRU4sa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVkFMVUVfT0JKRUNUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclF1ZXJ5U2VydmljZSB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBrZXlUb1Nob3J0TWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IHNob3J0VG9LZXlNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTaG9ydEtleXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XHJcblx0XHR2YWx1ZTogJ3YnLFxyXG5cdFx0b3BlcmF0b3I6ICdvJyxcclxuXHRcdG1pbjogJ24nLFxyXG5cdFx0bWF4OiAneCcsXHJcblx0XHRwcmVmaXg6ICdwJ1xyXG5cdH07XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy5pbml0aWFsaXplRGVmYXVsdEtleXMoKTtcclxuXHR9XHJcblxyXG5cdHJlZ2lzdGVyS2V5cyhrZXlzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XHJcblx0XHRPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHRoaXMucmVnaXN0ZXJLZXkoa2V5LCB2YWx1ZSkpO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJLZXkobG9uZ0tleTogc3RyaW5nLCBzaG9ydEtleTogc3RyaW5nKTogdm9pZCB7XHJcblx0XHR0aGlzLmtleVRvU2hvcnRNYXAuc2V0KGxvbmdLZXksIHNob3J0S2V5KTtcclxuXHRcdHRoaXMuc2hvcnRUb0tleU1hcC5zZXQoc2hvcnRLZXksIGxvbmdLZXkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRW5jb2RlcyBhIHF1ZXJ5IG9iamVjdCBpbnRvIGEgVVJMLXNhZmUgc3RyaW5nIGJ5IHRyYW5zZm9ybWluZyBpdHMga2V5c1xyXG5cdCAqIGFuZCBjb252ZXJ0aW5nIGl0IHRvIGEgSlNPTiBzdHJpbmcuXHJcblx0ICpcclxuXHQgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IHF1ZXJ5IC0gVGhlIHF1ZXJ5IG9iamVjdCB0byBlbmNvZGUuXHJcblx0ICpcclxuXHQgKiBAZXhhbXBsZVxyXG5cdCAqIC8vIEV4YW1wbGUgcXVlcnkgb2JqZWN0XHJcblx0ICogY29uc3QgcXVlcnkgPSB7XHJcblx0ICogICAvLyBQcmVkaWNhdGUgZmllbGQgKHBheWxvYWQgc2VudClcclxuXHQgKiAgICdsb2NSZWY6Ym94Q29kZSc6IHtcclxuXHQgKiAgICAgdmFsdWU6ICcxJyxcclxuXHQgKiAgICAgb3BlcmF0b3I6ICdMSUtFJyxcclxuXHQgKiAgIH0sXHJcblx0ICpcclxuXHQgKiAgIC8vIEFnZ3JlZ2F0aW9uIGZpZWxkIChxdWVyeSBwYXJhbWV0ZXIpXHJcblx0ICogICAnbG9jUmVmOmJveENvZGUnOiBbMV1cclxuXHQgKiB9O1xyXG5cdCAqXHJcblx0ICogY29uc3QgZW5jb2RlZFF1ZXJ5ID0gZW5jb2RlUXVlcnkocXVlcnkpO1xyXG5cdCAqIGNvbnNvbGUubG9nKGVuY29kZWRRdWVyeSk7IC8vIEVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uXHJcblx0ICpcclxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBVUkwtZW5jb2RlZCBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVlcnkgb2JqZWN0LlxyXG5cdCAqL1xyXG5cdGVuY29kZVF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gdGhpcy50cmFuc2Zvcm1PYmplY3QocXVlcnksIHRoaXMua2V5VG9TaG9ydE1hcCwgZmFsc2UpO1xyXG5cdFx0cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0cmFuc2Zvcm1lZCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGVjb2RlcyBhIFVSTC1lbmNvZGVkIHF1ZXJ5IHN0cmluZyBiYWNrIGludG8gaXRzIG9yaWdpbmFsIG9iamVjdCBmb3JtLlxyXG5cdCAqXHJcblx0ICogQHBhcmFtIHtzdHJpbmd9IGVuY29kZWRRdWVyeSAtIFRoZSBVUkwtZW5jb2RlZCBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIHF1ZXJ5LlxyXG5cdCAqXHJcblx0ICogQGV4YW1wbGVcclxuXHQgKiBjb25zdCBlbmNvZGVkUXVlcnkgPSBcIiU3QiUyMmxvY1JlZiUzQWJveENvZGUlMjIlM0ElN0IlMjJ2YWx1ZSUyMiUzQSUyMjElMjIlMkMlMjJvcGVyYXRvciUyMiUzQSUyMkxJS0UlMjIlN0QlN0RcIjtcclxuXHQgKiBjb25zdCBkZWNvZGVkUXVlcnkgPSBkZWNvZGVRdWVyeShlbmNvZGVkUXVlcnkpO1xyXG5cdCAqIGNvbnNvbGUubG9nKGRlY29kZWRRdWVyeSk7XHJcblx0ICogT3V0cHV0OlxyXG5cdCAqIHtcclxuXHQgKiAgICdsb2NSZWY6Ym94Q29kZSc6IHtcclxuXHQgKiAgICAgdmFsdWU6ICcxJyxcclxuXHQgKiAgICAgb3BlcmF0b3I6ICdMSUtFJ1xyXG5cdCAqICAgfVxyXG5cdCAqIH1cclxuXHQgKlxyXG5cdCAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbH0gLSBUaGUgZGVjb2RlZCBxdWVyeSBvYmplY3QsIG9yIGBudWxsYCBpZiBkZWNvZGluZyBmYWlscy5cclxuXHQgKi9cclxuXHJcblx0ZGVjb2RlUXVlcnkoZW5jb2RlZFF1ZXJ5OiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbCB7XHJcblx0XHR0cnkge1xyXG5cdFx0XHRjb25zdCBwYXJzZWRRdWVyeSA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGVuY29kZWRRdWVyeSkpO1xyXG5cdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1PYmplY3QocGFyc2VkUXVlcnksIHRoaXMuc2hvcnRUb0tleU1hcCwgdHJ1ZSk7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZGVjb2RlIHF1ZXJ5OicsIGVycm9yKTtcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRpYWxpemVEZWZhdWx0S2V5cygpOiB2b2lkIHtcclxuXHRcdE9iamVjdC5lbnRyaWVzKHRoaXMuZGVmYXVsdFNob3J0S2V5cykuZm9yRWFjaCgoW2xvbmdLZXksIHNob3J0S2V5XSkgPT4ge1xyXG5cdFx0XHR0aGlzLnJlZ2lzdGVyS2V5KGxvbmdLZXksIHNob3J0S2V5KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB0cmFuc2Zvcm1PYmplY3QoZW50cnk6IGFueSwga2V5TWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+LCBpc0RlY29kZTogYm9vbGVhbik6IGFueSB7XHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheShlbnRyeSkpIHtcclxuXHRcdFx0cmV0dXJuIGVudHJ5Lm1hcCgoaXRlbSkgPT4gdGhpcy50cmFuc2Zvcm1PYmplY3QoaXRlbSwga2V5TWFwLCBpc0RlY29kZSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChlbnRyeSAmJiB0eXBlb2YgZW50cnkgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGlmICghaXNEZWNvZGUpIHtcclxuXHRcdFx0XHRkZWxldGUgZW50cnlbVkFMVUVfT0JKRUNUXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gT2JqZWN0LmtleXMoZW50cnkpLnJlZHVjZShcclxuXHRcdFx0XHQoYWNjLCBrZXkpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IG5ld0tleSA9IGtleU1hcC5nZXQoa2V5KTtcclxuXHRcdFx0XHRcdGlmICghbmV3S2V5KSB7XHJcblx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihgUXVlcnkga2V5IG1hcHBpbmcgbm90IGZvdW5kIGZvcjogJHtrZXl9YCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoaXNEZWNvZGUgJiYgbmV3S2V5ID09PSAnb3BlcmF0b3InKSB7XHJcblx0XHRcdFx0XHRcdGFjY1tWQUxVRV9PQkpFQ1RdID0gYCR7VkFMVUVfT0JKRUNUfWA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhY2NbbmV3S2V5XSA9IHRoaXMudHJhbnNmb3JtT2JqZWN0KGVudHJ5W2tleV0sIGtleU1hcCwgaXNEZWNvZGUpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT5cclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZW50cnk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './aggregation-field.service';
2
+ export * from './dynamic-component-loader.service';
3
+ export * from './filters-query.service';
4
+ export * from './ndf-transform.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZmlsdGVycy1wYW5lbC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZ2dyZWdhdGlvbi1maWVsZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1sb2FkZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy1xdWVyeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uZGYtdHJhbnNmb3JtLnNlcnZpY2UnO1xyXG4iXX0=