@pepperi-addons/ngx-lib 0.2.59-query-builder.7 → 0.2.61

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 (521) hide show
  1. package/README.md +39 -39
  2. package/address/address.component.theme.scss +8 -8
  3. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  4. package/attachment/attachment.component.d.ts +0 -1
  5. package/attachment/attachment.component.theme.scss +3 -3
  6. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  7. package/bread-crumbs/bread-crumbs.component.theme.scss +8 -8
  8. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +1 -6
  12. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +1 -1
  14. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
  16. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  17. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +1 -1
  18. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +1 -4
  19. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js +2 -7
  21. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-date.umd.js +3 -5
  23. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +2 -2
  25. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  28. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
  29. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-form.umd.js +23 -26
  31. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
  33. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
  35. package/bundles/pepperi-addons-ngx-lib-image.umd.js +1 -6
  36. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  37. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +1 -6
  38. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  39. package/bundles/pepperi-addons-ngx-lib-list.umd.js +8 -8
  40. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  41. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +2 -2
  42. package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +1 -1
  43. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
  45. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +1 -6
  46. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  47. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +1 -6
  48. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  49. package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
  50. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
  51. package/bundles/pepperi-addons-ngx-lib-select.umd.js +1 -6
  52. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +1 -9
  54. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  55. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
  56. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  57. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +1 -6
  58. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  59. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
  60. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +1 -1
  62. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  63. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +40 -307
  64. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  65. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +1 -6
  66. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  67. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
  68. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
  69. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +3 -5
  70. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  71. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
  72. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  73. package/bundles/pepperi-addons-ngx-lib.umd.js +36 -38
  74. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  75. package/button/button.component.theme.scss +2 -2
  76. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  77. package/checkbox/checkbox.component.theme.scss +2 -2
  78. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  79. package/color/color-picker.component.theme.scss +175 -175
  80. package/color/color.component.d.ts +0 -1
  81. package/color/color.component.theme.scss +7 -7
  82. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  83. package/core/common/services/addon.service.d.ts +2 -1
  84. package/core/common/services/file.service.d.ts +4 -4
  85. package/core/customization/customization.service.d.ts +0 -1
  86. package/date/date.component.theme.scss +169 -169
  87. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  88. package/dialog/dialog.component.theme.scss +5 -5
  89. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  90. package/esm2015/address/address.component.js +2 -2
  91. package/esm2015/address/address.module.js +1 -1
  92. package/esm2015/address/public-api.js +1 -1
  93. package/esm2015/attachment/attachment.component.js +2 -7
  94. package/esm2015/attachment/attachment.module.js +1 -1
  95. package/esm2015/attachment/public-api.js +1 -1
  96. package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
  97. package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
  98. package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
  99. package/esm2015/bread-crumbs/public-api.js +1 -1
  100. package/esm2015/button/button.component.js +2 -2
  101. package/esm2015/button/button.model.js +1 -1
  102. package/esm2015/button/button.module.js +1 -1
  103. package/esm2015/button/public-api.js +1 -1
  104. package/esm2015/carousel/carousel-item.directive.js +1 -1
  105. package/esm2015/carousel/carousel.component.js +15 -15
  106. package/esm2015/carousel/carousel.module.js +1 -1
  107. package/esm2015/carousel/public-api.js +1 -1
  108. package/esm2015/checkbox/checkbox.component.js +2 -5
  109. package/esm2015/checkbox/checkbox.module.js +1 -1
  110. package/esm2015/checkbox/public-api.js +1 -1
  111. package/esm2015/color/color-picker.component.js +28 -28
  112. package/esm2015/color/color.component.js +2 -7
  113. package/esm2015/color/color.model.js +1 -1
  114. package/esm2015/color/color.module.js +1 -1
  115. package/esm2015/color/public-api.js +1 -1
  116. package/esm2015/core/clipboard/clipboard.directive.js +1 -1
  117. package/esm2015/core/clipboard/clipboard.service.js +1 -1
  118. package/esm2015/core/clipboard/index.js +1 -1
  119. package/esm2015/core/clipboard/public-api.js +1 -1
  120. package/esm2015/core/common/directives/auto-width.directive.js +1 -1
  121. package/esm2015/core/common/directives/button-blur.directive.js +1 -1
  122. package/esm2015/core/common/directives/button-loader.directive.js +1 -1
  123. package/esm2015/core/common/directives/data-qa.directive.js +1 -1
  124. package/esm2015/core/common/directives/index.js +1 -1
  125. package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
  126. package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
  127. package/esm2015/core/common/directives/public-api.js +1 -1
  128. package/esm2015/core/common/index.js +1 -1
  129. package/esm2015/core/common/model/index.js +1 -1
  130. package/esm2015/core/common/model/papi.model.js +1 -1
  131. package/esm2015/core/common/model/public-api.js +1 -1
  132. package/esm2015/core/common/model/utilities.model.js +1 -1
  133. package/esm2015/core/common/model/wapi.model.js +1 -1
  134. package/esm2015/core/common/pipes/common-pipes.js +1 -1
  135. package/esm2015/core/common/pipes/index.js +1 -1
  136. package/esm2015/core/common/pipes/public-api.js +1 -1
  137. package/esm2015/core/common/public-api.js +1 -1
  138. package/esm2015/core/common/services/addon.service.js +19 -4
  139. package/esm2015/core/common/services/color.service.js +1 -1
  140. package/esm2015/core/common/services/cookie.service.js +1 -1
  141. package/esm2015/core/common/services/data-convertor.service.js +1 -1
  142. package/esm2015/core/common/services/file.service.js +9 -9
  143. package/esm2015/core/common/services/index.js +1 -1
  144. package/esm2015/core/common/services/jwt-helper.service.js +1 -1
  145. package/esm2015/core/common/services/public-api.js +1 -1
  146. package/esm2015/core/common/services/session.service.js +1 -1
  147. package/esm2015/core/common/services/utilities.service.js +4 -25
  148. package/esm2015/core/common/services/validator.service.js +1 -1
  149. package/esm2015/core/common/services/window-scrolling.service.js +5 -5
  150. package/esm2015/core/customization/customization.model.js +1 -1
  151. package/esm2015/core/customization/customization.service.js +2 -4
  152. package/esm2015/core/customization/index.js +1 -1
  153. package/esm2015/core/customization/public-api.js +1 -1
  154. package/esm2015/core/http/index.js +1 -1
  155. package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
  156. package/esm2015/core/http/interceptors/index.js +1 -1
  157. package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
  158. package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
  159. package/esm2015/core/http/public-api.js +1 -1
  160. package/esm2015/core/http/services/http.service.js +1 -1
  161. package/esm2015/core/http/services/loader.service.js +1 -1
  162. package/esm2015/core/index.js +1 -1
  163. package/esm2015/core/layout/index.js +1 -1
  164. package/esm2015/core/layout/layout.service.js +1 -1
  165. package/esm2015/core/layout/public-api.js +1 -1
  166. package/esm2015/core/layout/rtl.directive.js +1 -1
  167. package/esm2015/core/portal/attach.directive.js +1 -1
  168. package/esm2015/core/portal/index.js +1 -1
  169. package/esm2015/core/portal/portal.service.js +1 -1
  170. package/esm2015/core/portal/public-api.js +1 -1
  171. package/esm2015/core/portal/target.directive.js +1 -1
  172. package/esm2015/core/public-api.js +1 -1
  173. package/esm2015/core/scroll-to/index.js +1 -1
  174. package/esm2015/core/scroll-to/public-api.js +1 -1
  175. package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
  176. package/esm2015/date/date.component.js +4 -6
  177. package/esm2015/date/date.module.js +1 -1
  178. package/esm2015/date/public-api.js +1 -1
  179. package/esm2015/dialog/default-dialog.component.js +2 -2
  180. package/esm2015/dialog/dialog.component.js +2 -2
  181. package/esm2015/dialog/dialog.model.js +1 -1
  182. package/esm2015/dialog/dialog.module.js +1 -1
  183. package/esm2015/dialog/dialog.service.js +1 -1
  184. package/esm2015/dialog/public-api.js +1 -1
  185. package/esm2015/field-title/field-title.component.js +2 -2
  186. package/esm2015/field-title/field-title.module.js +1 -1
  187. package/esm2015/field-title/public-api.js +1 -1
  188. package/esm2015/files-uploader/files-uploader.component.js +2 -2
  189. package/esm2015/files-uploader/files-uploader.module.js +1 -1
  190. package/esm2015/files-uploader/public-api.js +1 -1
  191. package/esm2015/form/field-generator.component.js +2 -2
  192. package/esm2015/form/form.component.js +2 -2
  193. package/esm2015/form/form.module.js +1 -1
  194. package/esm2015/form/indicators.component.js +2 -2
  195. package/esm2015/form/internal-button.component.js +18 -21
  196. package/esm2015/form/internal-carusel.component.js +2 -2
  197. package/esm2015/form/internal-carusel.service.js +1 -1
  198. package/esm2015/form/internal-list.component.js +2 -2
  199. package/esm2015/form/internal-menu.component.js +2 -2
  200. package/esm2015/form/internal-page.component.js +2 -2
  201. package/esm2015/form/internal-page.service.js +1 -1
  202. package/esm2015/form/public-api.js +1 -1
  203. package/esm2015/group-buttons/group-buttons.component.js +2 -2
  204. package/esm2015/group-buttons/group-buttons.module.js +1 -1
  205. package/esm2015/group-buttons/public-api.js +1 -1
  206. package/esm2015/icon/icon-generated-all.model.js +1 -1
  207. package/esm2015/icon/icon-generated.model.js +1 -1
  208. package/esm2015/icon/icon-registry.service.js +2 -2
  209. package/esm2015/icon/icon.component.js +1 -1
  210. package/esm2015/icon/icon.module.js +1 -1
  211. package/esm2015/icon/public-api.js +1 -1
  212. package/esm2015/image/image.component.js +2 -7
  213. package/esm2015/image/image.module.js +1 -1
  214. package/esm2015/image/public-api.js +1 -1
  215. package/esm2015/images-filmstrip/images-filmstrip.component.js +2 -7
  216. package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
  217. package/esm2015/images-filmstrip/public-api.js +1 -1
  218. package/esm2015/list/list-actions.component.js +2 -2
  219. package/esm2015/list/list-carousel.component.js +2 -2
  220. package/esm2015/list/list-chooser.component.js +2 -2
  221. package/esm2015/list/list-pager.component.js +2 -2
  222. package/esm2015/list/list-sorting.component.js +2 -2
  223. package/esm2015/list/list-total.component.js +2 -2
  224. package/esm2015/list/list-views.component.js +2 -2
  225. package/esm2015/list/list.component.js +2 -2
  226. package/esm2015/list/list.model.js +1 -1
  227. package/esm2015/list/list.module.js +1 -1
  228. package/esm2015/list/public-api.js +1 -1
  229. package/esm2015/menu/menu-item.component.js +2 -2
  230. package/esm2015/menu/menu.component.js +2 -2
  231. package/esm2015/menu/menu.model.js +1 -1
  232. package/esm2015/menu/menu.module.js +1 -1
  233. package/esm2015/menu/public-api.js +1 -1
  234. package/esm2015/ngx-lib.module.js +1 -1
  235. package/esm2015/page-layout/page-layout.component.js +2 -2
  236. package/esm2015/page-layout/page-layout.module.js +1 -1
  237. package/esm2015/page-layout/public-api.js +1 -1
  238. package/esm2015/public-api.js +1 -1
  239. package/esm2015/quantity-selector/public-api.js +1 -1
  240. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
  241. package/esm2015/quantity-selector/quantity-selector.component.js +2 -7
  242. package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
  243. package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
  244. package/esm2015/rich-html-textarea/public-api.js +1 -1
  245. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +2 -7
  246. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
  247. package/esm2015/search/public-api.js +1 -1
  248. package/esm2015/search/search.component.js +2 -2
  249. package/esm2015/search/search.model.js +1 -1
  250. package/esm2015/search/search.module.js +1 -1
  251. package/esm2015/select/public-api.js +1 -1
  252. package/esm2015/select/select.component.js +2 -7
  253. package/esm2015/select/select.module.js +1 -1
  254. package/esm2015/separator/public-api.js +1 -1
  255. package/esm2015/separator/separator.component.js +2 -10
  256. package/esm2015/separator/separator.module.js +1 -1
  257. package/esm2015/side-bar/public-api.js +1 -1
  258. package/esm2015/side-bar/side-bar.component.js +2 -2
  259. package/esm2015/side-bar/side-bar.model.js +1 -1
  260. package/esm2015/side-bar/side-bar.module.js +1 -1
  261. package/esm2015/signature/public-api.js +1 -1
  262. package/esm2015/signature/signature.component.js +2 -7
  263. package/esm2015/signature/signature.module.js +1 -1
  264. package/esm2015/size-detector/public-api.js +1 -1
  265. package/esm2015/size-detector/size-detector.component.js +2 -2
  266. package/esm2015/size-detector/size-detector.module.js +1 -1
  267. package/esm2015/slider/public-api.js +1 -1
  268. package/esm2015/slider/slider.component.js +2 -2
  269. package/esm2015/slider/slider.module.js +1 -1
  270. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +3 -23
  271. package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
  272. package/esm2015/smart-filters/common/model/base-filter-component.js +8 -35
  273. package/esm2015/smart-filters/common/model/creator.js +2 -8
  274. package/esm2015/smart-filters/common/model/field.js +1 -12
  275. package/esm2015/smart-filters/common/model/filter.js +1 -1
  276. package/esm2015/smart-filters/common/model/operator.js +8 -8
  277. package/esm2015/smart-filters/common/model/type.js +1 -1
  278. package/esm2015/smart-filters/date-filter/date-filter.component.js +2 -45
  279. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +14 -53
  280. package/esm2015/smart-filters/number-filter/number-filter.component.js +2 -27
  281. package/esm2015/smart-filters/public-api.js +1 -2
  282. package/esm2015/smart-filters/smart-filters.component.js +2 -2
  283. package/esm2015/smart-filters/smart-filters.module.js +3 -16
  284. package/esm2015/textarea/public-api.js +1 -1
  285. package/esm2015/textarea/textarea.component.js +2 -7
  286. package/esm2015/textarea/textarea.module.js +1 -1
  287. package/esm2015/textbox/public-api.js +1 -1
  288. package/esm2015/textbox/textbox-validation.directive.js +1 -1
  289. package/esm2015/textbox/textbox.component.js +4 -6
  290. package/esm2015/textbox/textbox.module.js +1 -1
  291. package/esm2015/textbox-icon/public-api.js +1 -1
  292. package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
  293. package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
  294. package/esm2015/top-bar/public-api.js +1 -1
  295. package/esm2015/top-bar/top-bar.component.js +2 -2
  296. package/esm2015/top-bar/top-bar.model.js +1 -1
  297. package/esm2015/top-bar/top-bar.module.js +1 -1
  298. package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
  299. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  300. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +1 -6
  301. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  302. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +1 -1
  303. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  304. package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
  305. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  306. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
  307. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
  308. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +1 -4
  309. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  310. package/fesm2015/pepperi-addons-ngx-lib-color.js +28 -33
  311. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  312. package/fesm2015/pepperi-addons-ngx-lib-date.js +3 -5
  313. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  314. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +2 -2
  315. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  316. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
  317. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  318. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
  319. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  320. package/fesm2015/pepperi-addons-ngx-lib-form.js +23 -26
  321. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  322. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
  323. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  324. package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
  325. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  326. package/fesm2015/pepperi-addons-ngx-lib-image.js +1 -6
  327. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  328. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +1 -6
  329. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  330. package/fesm2015/pepperi-addons-ngx-lib-list.js +8 -8
  331. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  332. package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
  333. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
  334. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  335. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  336. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +1 -6
  337. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  338. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +1 -6
  339. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  340. package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
  341. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
  342. package/fesm2015/pepperi-addons-ngx-lib-select.js +1 -6
  343. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  344. package/fesm2015/pepperi-addons-ngx-lib-separator.js +1 -9
  345. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  346. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
  347. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  348. package/fesm2015/pepperi-addons-ngx-lib-signature.js +1 -6
  349. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  350. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
  351. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
  352. package/fesm2015/pepperi-addons-ngx-lib-slider.js +1 -1
  353. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  354. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +37 -294
  355. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  356. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +1 -6
  357. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  358. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
  359. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
  360. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +3 -5
  361. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  362. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
  363. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  364. package/fesm2015/pepperi-addons-ngx-lib.js +34 -42
  365. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  366. package/field-title/field-title.component.theme.scss +2 -2
  367. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  368. package/files-uploader/files-uploader.component.theme.scss +2 -2
  369. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  370. package/form/form.component.theme.scss +2 -2
  371. package/form/indicators.component.theme.scss +7 -7
  372. package/form/internal-button.component.d.ts +1 -0
  373. package/form/internal-button.component.theme.scss +2 -2
  374. package/form/internal-menu.component.theme.scss +3 -3
  375. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  376. package/group-buttons/group-buttons.component.theme.scss +15 -15
  377. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  378. package/image/image.component.d.ts +0 -1
  379. package/image/image.component.theme.scss +35 -35
  380. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  381. package/images-filmstrip/images-filmstrip.component.d.ts +0 -1
  382. package/images-filmstrip/images-filmstrip.component.theme.scss +32 -32
  383. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  384. package/list/list-actions.component.theme.scss +3 -3
  385. package/list/list-carousel.component.theme.scss +9 -9
  386. package/list/list-chooser.component.theme.scss +3 -3
  387. package/list/list-pager.component.theme.scss +3 -3
  388. package/list/list-sorting.component.theme.scss +3 -3
  389. package/list/list-total.component.theme.scss +10 -10
  390. package/list/list-views.component.theme.scss +3 -3
  391. package/list/list.component.theme.scss +5 -5
  392. package/list/list_old.component.theme.scss +5 -5
  393. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  394. package/menu/menu.component.theme.scss +2 -2
  395. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
  396. package/package.json +1 -1
  397. package/page-layout/page-layout.component.theme.scss +7 -7
  398. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  399. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  400. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  401. package/quantity-selector/quantity-selector.component.d.ts +0 -1
  402. package/quantity-selector/quantity-selector.component.theme.scss +77 -77
  403. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  404. package/rich-html-textarea/rich-html-textarea.component.d.ts +0 -1
  405. package/rich-html-textarea/rich-html-textarea.component.theme.scss +236 -236
  406. package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
  407. package/search/search.component.theme.scss +3 -3
  408. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  409. package/select/select.component.d.ts +0 -1
  410. package/select/select.component.theme.scss +2 -2
  411. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  412. package/separator/separator.component.theme.scss +2 -2
  413. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  414. package/side-bar/side-bar.component.theme.scss +25 -25
  415. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  416. package/signature/signature.component.d.ts +0 -1
  417. package/signature/signature.component.theme.scss +28 -28
  418. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
  419. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  420. package/slider/slider.component.theme.scss +65 -65
  421. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +1 -6
  422. package/smart-filters/common/model/base-filter-component.d.ts +0 -7
  423. package/smart-filters/common/model/field.d.ts +0 -4
  424. package/smart-filters/common/model/operator.d.ts +0 -1
  425. package/smart-filters/common/model/type.d.ts +2 -2
  426. package/smart-filters/date-filter/date-filter.component.d.ts +1 -8
  427. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +0 -6
  428. package/smart-filters/number-filter/number-filter.component.d.ts +0 -5
  429. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  430. package/smart-filters/public-api.d.ts +0 -1
  431. package/smart-filters/smart-filters.component.theme.scss +10 -10
  432. package/src/assets/i18n/de.ngx-lib.json +77 -77
  433. package/src/assets/i18n/en.ngx-lib.json +138 -139
  434. package/src/assets/i18n/es.ngx-lib.json +77 -77
  435. package/src/assets/i18n/fr.ngx-lib.json +78 -78
  436. package/src/assets/i18n/he.ngx-lib.json +78 -78
  437. package/src/assets/i18n/hu.ngx-lib.json +78 -78
  438. package/src/assets/i18n/it.ngx-lib.json +78 -78
  439. package/src/assets/i18n/ja.ngx-lib.json +78 -78
  440. package/src/assets/i18n/nl.ngx-lib.json +78 -78
  441. package/src/assets/i18n/pl.ngx-lib.json +78 -78
  442. package/src/assets/i18n/pt.ngx-lib.json +78 -78
  443. package/src/assets/i18n/ru.ngx-lib.json +78 -78
  444. package/src/assets/i18n/zh.ngx-lib.json +76 -76
  445. package/src/assets/images/no-image.svg +41 -41
  446. package/src/core/style/abstracts/breakpoints.scss +35 -35
  447. package/src/core/style/abstracts/functions.scss +422 -422
  448. package/src/core/style/abstracts/mixins.scss +797 -797
  449. package/src/core/style/abstracts/variables.scss +545 -545
  450. package/src/core/style/base/base.scss +873 -873
  451. package/src/core/style/base/grids.scss +4 -4
  452. package/src/core/style/base/helpers.scss +70 -70
  453. package/src/core/style/base/typography.scss +255 -255
  454. package/src/core/style/components/button.scss +349 -349
  455. package/src/core/style/components/checkbox.scss +473 -473
  456. package/src/core/style/components/datetime.scss +22 -22
  457. package/src/core/style/components/file.scss +219 -219
  458. package/src/core/style/components/general.scss +1086 -1088
  459. package/src/core/style/components/input.scss +94 -94
  460. package/src/core/style/components/quantity-selector.scss +14 -14
  461. package/src/core/style/components/radio-button.scss +168 -168
  462. package/src/core/style/components/select.scss +185 -185
  463. package/src/core/style/components/signature.scss +12 -12
  464. package/src/core/style/components/splitter.scss +64 -64
  465. package/src/core/style/components/textarea.scss +195 -195
  466. package/src/core/style/themes/black-theme.scss +7 -7
  467. package/src/core/style/themes/default-theme.scss +144 -144
  468. package/src/core/style/themes/light-theme.scss +7 -7
  469. package/src/core/style/themes/nature-theme.scss +7 -7
  470. package/src/core/style/vendors/normalize.scss +497 -497
  471. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  472. package/textarea/textarea.component.d.ts +0 -1
  473. package/textarea/textarea.component.theme.scss +2 -2
  474. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  475. package/textbox/textbox.component.theme.scss +3 -3
  476. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
  477. package/textbox-icon/textbox-icon.component.theme.scss +2 -2
  478. package/theming.scss +220 -224
  479. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  480. package/top-bar/top-bar.component.theme.scss +9 -9
  481. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +0 -1113
  482. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +0 -1
  483. package/esm2015/query-builder/common/model/filter.js +0 -2
  484. package/esm2015/query-builder/common/model/legacy.js +0 -2
  485. package/esm2015/query-builder/common/model/operator-unit.js +0 -42
  486. package/esm2015/query-builder/common/model/operator.js +0 -207
  487. package/esm2015/query-builder/common/model/structure.js +0 -2
  488. package/esm2015/query-builder/common/model/type-map.js +0 -27
  489. package/esm2015/query-builder/common/model/type.js +0 -6
  490. package/esm2015/query-builder/common/services/output-query.service.js +0 -114
  491. package/esm2015/query-builder/common/services/type-convertor.service.js +0 -44
  492. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +0 -9
  493. package/esm2015/query-builder/public-api.js +0 -8
  494. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +0 -103
  495. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +0 -64
  496. package/esm2015/query-builder/query-builder.component.js +0 -101
  497. package/esm2015/query-builder/query-builder.module.js +0 -43
  498. package/esm2015/query-builder/query-builder.service.js +0 -283
  499. package/esm2015/smart-filters/text-filter/text-filter.component.js +0 -79
  500. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +0 -1010
  501. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +0 -1
  502. package/query-builder/common/model/filter.d.ts +0 -6
  503. package/query-builder/common/model/legacy.d.ts +0 -20
  504. package/query-builder/common/model/operator-unit.d.ts +0 -13
  505. package/query-builder/common/model/operator.d.ts +0 -21
  506. package/query-builder/common/model/structure.d.ts +0 -4
  507. package/query-builder/common/model/type-map.d.ts +0 -12
  508. package/query-builder/common/model/type.d.ts +0 -4
  509. package/query-builder/common/services/output-query.service.d.ts +0 -43
  510. package/query-builder/common/services/type-convertor.service.d.ts +0 -10
  511. package/query-builder/package.json +0 -14
  512. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +0 -8
  513. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +0 -1
  514. package/query-builder/public-api.d.ts +0 -4
  515. package/query-builder/query-builder-item/query-builder-item.component.d.ts +0 -30
  516. package/query-builder/query-builder-section/query-builder-section.component.d.ts +0 -27
  517. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +0 -6
  518. package/query-builder/query-builder.component.d.ts +0 -35
  519. package/query-builder/query-builder.module.d.ts +0 -2
  520. package/query-builder/query-builder.service.d.ts +0 -94
  521. package/smart-filters/text-filter/text-filter.component.d.ts +0 -17
@@ -1 +0,0 @@
1
- {"version":3,"file":"pepperi-addons-ngx-lib-query-builder.js","sources":["../../../projects/ngx-lib/query-builder/common/model/operator.ts","../../../projects/ngx-lib/query-builder/common/services/type-convertor.service.ts","../../../projects/ngx-lib/query-builder/query-builder-section/query-builder-section.component.ts","../../../projects/ngx-lib/query-builder/query-builder-item/query-builder-item.component.ts","../../../projects/ngx-lib/query-builder/common/model/type-map.ts","../../../projects/ngx-lib/query-builder/common/model/operator-unit.ts","../../../projects/ngx-lib/query-builder/common/services/output-query.service.ts","../../../projects/ngx-lib/query-builder/common/model/type.ts","../../../projects/ngx-lib/query-builder/query-builder.service.ts","../../../projects/ngx-lib/query-builder/query-builder.component.ts","../../../projects/ngx-lib/query-builder/query-builder.module.ts","../../../projects/ngx-lib/query-builder/public-api.ts","../../../projects/ngx-lib/query-builder/pepperi-addons-ngx-lib-query-builder.ts"],"sourcesContent":["import { PepSmartFilterOperators, IPepSmartFilterOperator } from '@pepperi-addons/ngx-lib/smart-filters';\r\nimport { PepSmartFilterType } from '@pepperi-addons/ngx-lib/smart-filters';\r\n\r\nexport interface IPepQueryBuilderOperator {\r\n legacy: string, //legacy Operator \r\n smartFilter: IPepSmartFilterOperator, //smart filter operator \r\n type: PepSmartFilterType[] | null //smart filter type\r\n}\r\n\r\nconst Equals: IPepQueryBuilderOperator = {\r\n legacy: 'IsEqual',\r\n smartFilter: PepSmartFilterOperators.Equals,\r\n type: ['boolean', 'int', 'text']\r\n};\r\n\r\nconst NotEqual: IPepQueryBuilderOperator = {\r\n legacy: 'IsNotEqual',\r\n smartFilter: PepSmartFilterOperators.NotEqual,\r\n type: null\r\n};\r\n\r\nconst LessThan: IPepQueryBuilderOperator = {\r\n legacy: '<',\r\n smartFilter: PepSmartFilterOperators.LessThan,\r\n type: null\r\n};\r\n\r\nconst GreaterThan: IPepQueryBuilderOperator = {\r\n legacy: '>',\r\n smartFilter: PepSmartFilterOperators.GreaterThan,\r\n type: null\r\n};\r\n\r\n/*\r\nconst GreaterThanOrEquals: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: '>=',\r\n type: 'Integer'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.GreaterThanOrEquals,\r\n type: 'int'\r\n }\r\n};\r\n\r\nconst LessThanOrEquals: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: '<=',\r\n type: 'Integer'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.LessThanOrEquals,\r\n type: 'int',\r\n type: 'Integer'\r\n }\r\n}; */\r\n\r\nconst NumberRange: IPepQueryBuilderOperator = {\r\n legacy: 'Between',\r\n smartFilter: PepSmartFilterOperators.NumberRange,\r\n type: ['int']\r\n};\r\n\r\nconst Contains: IPepQueryBuilderOperator = {\r\n legacy: 'Contains',\r\n smartFilter: PepSmartFilterOperators.Contains,\r\n type: null\r\n};\r\n\r\n/*\r\nconst BeginsWith: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: 'BeginsWith',\r\n type: 'String'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.BeginsWith,\r\n type: 'text'\r\n }\r\n};\r\n\r\nconst EndsWith: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: 'EndsWith',\r\n type: 'String'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.EndsWith,\r\n type: 'text'\r\n }\r\n};\r\n\r\nconst Before: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: 'Before',\r\n type: 'Date'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.Before,\r\n type: 'date'\r\n }\r\n};\r\n\r\nconst After: IPepQueryBuilderOperator = {\r\n legacy: {\r\n operator: 'After',\r\n type: 'Date'\r\n },\r\n smartFilter: {\r\n item: PepSmartFilterOperators.After,\r\n type: 'date'\r\n }\r\n}; */\r\n\r\nconst InTheLast: IPepQueryBuilderOperator = {\r\n legacy: 'InTheLast',\r\n smartFilter: PepSmartFilterOperators.InTheLast,\r\n type: null\r\n};\r\n\r\nconst NotInTheLast: IPepQueryBuilderOperator = {\r\n legacy: 'NotInTheLast',\r\n smartFilter: PepSmartFilterOperators.NotInTheLast,\r\n type: null\r\n};\r\n\r\nconst Today: IPepQueryBuilderOperator = {\r\n legacy: 'Today',\r\n smartFilter: PepSmartFilterOperators.Today,\r\n type: null\r\n};\r\n\r\nconst ThisWeek: IPepQueryBuilderOperator = {\r\n legacy: 'ThisWeek',\r\n smartFilter: PepSmartFilterOperators.ThisWeek,\r\n type: null\r\n};\r\n\r\nconst ThisMonth: IPepQueryBuilderOperator = {\r\n legacy: 'ThisMonth',\r\n smartFilter: PepSmartFilterOperators.ThisMonth,\r\n type: null\r\n};\r\n\r\nconst DateRange: IPepQueryBuilderOperator = {\r\n legacy: 'Between',\r\n smartFilter: PepSmartFilterOperators.DateRange,\r\n type: ['date-time']\r\n};\r\n\r\nconst DueIn: IPepQueryBuilderOperator = {\r\n legacy: 'DueIn',\r\n smartFilter: PepSmartFilterOperators.DueIn,\r\n type: null\r\n};\r\n\r\nconst NotDueIn: IPepQueryBuilderOperator = {\r\n legacy: 'NotDueIn',\r\n smartFilter: PepSmartFilterOperators.NotDueIn,\r\n type: null\r\n};\r\n\r\nconst On: IPepQueryBuilderOperator = {\r\n legacy: 'On',\r\n smartFilter: PepSmartFilterOperators.On,\r\n type: null\r\n};\r\n\r\nconst IsEmpty: IPepQueryBuilderOperator = {\r\n legacy: 'IsEmpty',\r\n smartFilter: PepSmartFilterOperators.IsEmpty,\r\n type: null\r\n};\r\n\r\nconst IsNotEmpty: IPepQueryBuilderOperator = {\r\n legacy: 'IsNotEmpty',\r\n smartFilter: PepSmartFilterOperators.IsNotEmpty,\r\n type: null\r\n};\r\n\r\nconst In: IPepQueryBuilderOperator = {\r\n legacy: 'IsEqual',\r\n smartFilter: PepSmartFilterOperators.In,\r\n type: ['multi-select']\r\n};\r\n\r\n\r\nconst PepQueryBuilderOperators = [\r\n Equals,\r\n NotEqual,\r\n LessThan,\r\n // LessThanOrEquals,\r\n GreaterThan,\r\n // GreaterThanOrEquals,\r\n NumberRange,\r\n Contains,\r\n // BeginsWith,\r\n // EndsWith,\r\n // After,\r\n // Before,\r\n InTheLast,\r\n NotInTheLast,\r\n Today,\r\n ThisWeek,\r\n ThisMonth,\r\n DateRange,\r\n DueIn,\r\n NotDueIn,\r\n On,\r\n IsEmpty,\r\n IsNotEmpty,\r\n In\r\n]\r\n\r\n/**\r\n * gets a smart filter operator item\r\n * @param operator legacy operator\r\n * @param type smart filter's type\r\n * @returns smart filter operator item\r\n */\r\nexport function getSmartBuilderOperator(operator: string, type: PepSmartFilterType): IPepSmartFilterOperator | null {\r\n const smartFilterOperator = PepQueryBuilderOperators.find(item =>\r\n item.legacy === operator &&\r\n (item.type === null || item.type.includes(type))\r\n );\r\n return smartFilterOperator ? smartFilterOperator.smartFilter : null;\r\n}\r\n\r\n/**\r\n * gets a legacy operator value\r\n * @param operator smart filter operator item\r\n * @param type smart filter's type\r\n * @returns legacy operator value\r\n */\r\nexport function getLegacyOperator(operator: IPepSmartFilterOperator, type: PepSmartFilterType): string | null {\r\n const legacyOperator = PepQueryBuilderOperators.find(item =>\r\n item.smartFilter === operator &&\r\n (item.type === null || item.type.includes(type))\r\n );\r\n return legacyOperator ? legacyOperator.legacy : null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PepTypeConvertorService {\r\n private readonly _operators: IPepOption[] = [];\r\n private readonly _booleans: IPepOption[] = [];\r\n\r\n public get operators(): IPepOption[] {\r\n return this._operators;\r\n }\r\n\r\n public get booleans(): IPepOption[] {\r\n return this._booleans;\r\n }\r\n\r\n constructor() {\r\n this.initOperators();\r\n this.initBooleans();\r\n }\r\n\r\n private initOperators() {\r\n this._operators.push({\r\n key: 'AND',\r\n value: 'And'\r\n });\r\n this._operators.push({\r\n key: 'OR',\r\n value: 'Or'\r\n });\r\n }\r\n\r\n private initBooleans() {\r\n this._booleans.push({\r\n key: 'True',\r\n value: 'True'\r\n });\r\n this._booleans.push({\r\n key: 'False',\r\n value: 'False'\r\n });\r\n }\r\n\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport {\r\n IPepButtonClickEvent,\r\n PepButton,\r\n} from '@pepperi-addons/ngx-lib/button';\r\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\r\nimport { PepTypeConvertorService } from '../common/services/type-convertor.service';\r\nimport { IPepQueryDepth } from '../common/model/structure';\r\n\r\n@Component({\r\n selector: 'pep-query-builder-section',\r\n templateUrl: './query-builder-section.component.html',\r\n styleUrls: ['./query-builder-section.component.scss'],\r\n})\r\nexport class PepQueryBuilderSectionComponent {\r\n @Input() form: FormGroup;\r\n @Input() depth: IPepQueryDepth;\r\n @Input() hasFields = true;\r\n\r\n @Output()\r\n createSection = new EventEmitter();\r\n @Output()\r\n createItem = new EventEmitter();\r\n @Output()\r\n remove = new EventEmitter();\r\n @Output()\r\n operatorChange = new EventEmitter();\r\n\r\n @ViewChild('sectionContainer', { read: ViewContainerRef, static: true }) sectionContainer: ViewContainerRef;\r\n\r\n toggleButtons: Array<PepButton>;\r\n\r\n constructor(private _typeConvertorService: PepTypeConvertorService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.initOperators();\r\n }\r\n\r\n get f() {\r\n return this.form.controls;\r\n }\r\n\r\n initOperators() {\r\n this.toggleButtons = this._typeConvertorService.operators.map((operator: IPepOption) => {\r\n return {\r\n key: operator.key,\r\n value: operator.value,\r\n callback: (event: IPepButtonClickEvent) =>\r\n this.onOperatorChanged(event)\r\n } as PepButton\r\n });\r\n }\r\n\r\n onOperatorChanged(event) {\r\n if (event?.source?.key) {\r\n this.f.operator.setValue(event.source.key);\r\n this.operatorChange.emit();\r\n }\r\n }\r\n\r\n onAddRuleClicked() {\r\n this.createItem.emit();\r\n }\r\n\r\n onAddRuleSetClicked() {\r\n this.createSection.emit();\r\n }\r\n\r\n onDeleteSectionClicked() {\r\n this.remove.emit();\r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { PepSmartFilterBaseField, IPepSmartFilterField } from '@pepperi-addons/ngx-lib/smart-filters';\r\nimport { IPepSmartFilterData } from '@pepperi-addons/ngx-lib/smart-filters';\r\nimport { IPepOption } from '@pepperi-addons/ngx-lib';\r\nimport { PepTypeConvertorService } from '../common/services/type-convertor.service';\r\n\r\n@Component({\r\n selector: 'pep-query-builder-item',\r\n templateUrl: './query-builder-item.component.html',\r\n styleUrls: ['./query-builder-item.component.scss'],\r\n})\r\nexport class PepQueryBuilderItemComponent {\r\n @Input() formKey: string;\r\n _fields: Array<any> = [];\r\n _options: IPepOption[] = [];\r\n @Input()\r\n set fields(list: Array<IPepSmartFilterField>) {\r\n if (list?.length > 0) {\r\n this._fields = list;\r\n this._options = list.map(field => {\r\n return {\r\n key: field.id,\r\n value: field.name\r\n }\r\n })\r\n }\r\n }\r\n _selectedField: PepSmartFilterBaseField = null;\r\n @Input()\r\n set selected(value: any) {\r\n if (value) {\r\n this._selectedField = value;\r\n }\r\n }\r\n _filter: IPepSmartFilterData;\r\n @Input()\r\n set filter(value: IPepSmartFilterData) {\r\n if (value) {\r\n this._filter = value;\r\n }\r\n }\r\n _parentForm: FormGroup;\r\n @Input()\r\n set parentForm(value: FormGroup) {\r\n if (value) {\r\n this._parentForm = value;\r\n this.addToParentForm();\r\n }\r\n }\r\n\r\n @Output()\r\n filterChange = new EventEmitter();\r\n @Output()\r\n remove = new EventEmitter();\r\n\r\n form: FormGroup;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n public typeConvertorService: PepTypeConvertorService\r\n ) {\r\n this.setupForm();\r\n }\r\n\r\n ngOnInit() {\r\n //\r\n }\r\n\r\n setupForm() {\r\n this.form = this._fb.group({\r\n fieldId: this._fb.control(null),\r\n fieldType: this._fb.control(null),\r\n operator: this._fb.control(null),\r\n operatorUnit: this._fb.control(null),\r\n values: this._fb.group({\r\n first: this._fb.control(null),\r\n second: this._fb.control(null)\r\n }),\r\n });\r\n }\r\n\r\n addToParentForm() {\r\n this._parentForm.setControl(this.formKey, this.form);\r\n }\r\n\r\n onFieldChanged(key) {\r\n const item = this._fields.find(field => field.id === key);\r\n\r\n this.setupForm();\r\n this.addToParentForm();\r\n\r\n /**\r\n * hack due to angular's change detection bug -\r\n * ERROR Error: There is no FormControl instance attached to form control element with name: [formControlName]\r\n */\r\n this._selectedField = null;\r\n setTimeout(() => {\r\n this._selectedField = item ? item : null;\r\n }, 0);\r\n\r\n this._filter = null;\r\n }\r\n\r\n onFilterChanged() {\r\n if (this.form.valid) {\r\n this.filterChange.emit();\r\n }\r\n }\r\n\r\n onDeleteItemClicked() {\r\n this.remove.emit();\r\n }\r\n\r\n\r\n\r\n}\r\n","import { PepSmartFilterType } from '@pepperi-addons/ngx-lib/smart-filters';\r\n\r\n\r\nexport class PepQueryBuilderTypeMap {\r\n private map: Map<string, PepSmartFilterType>;\r\n\r\n constructor() {\r\n this.loadTypes();\r\n }\r\n\r\n private loadTypes() {\r\n this.map = new Map<string, PepSmartFilterType>();\r\n this.map.set('Bool', 'boolean');\r\n this.map.set('JsonBool', 'boolean');\r\n this.map.set('Integer', 'int');\r\n this.map.set('Double', 'int');\r\n this.map.set('String', 'text');\r\n this.map.set('Guid', 'text');\r\n this.map.set('Date', 'date');\r\n this.map.set('DateTime', 'date-time');\r\n this.map.set('MultipleStringValues', 'multi-select');\r\n }\r\n\r\n /**\r\n * Converts legacy field type to smart builder type\r\n * @param type legacy type\r\n * @returns smart builder field type\r\n */\r\n getSmartBuilderType(key: string): PepSmartFilterType | null {\r\n const item = this.map.get(key);\r\n return item ? item : null;\r\n }\r\n\r\n}\r\n\r\n","\r\nimport { IPepSmartFilterOperatorUnit, PepSmartFilterOperatorUnits } from '@pepperi-addons/ngx-lib/smart-filters';\r\n\r\ninterface IPepQueryBuilderOperationUnit {\r\n legacy: string,\r\n smartFilter: IPepSmartFilterOperatorUnit,\r\n}\r\n\r\nconst Days: IPepQueryBuilderOperationUnit = {\r\n legacy: 'Days',\r\n smartFilter: PepSmartFilterOperatorUnits.Days\r\n};\r\n\r\nconst Weeks: IPepQueryBuilderOperationUnit = {\r\n legacy: 'Weeks',\r\n smartFilter: PepSmartFilterOperatorUnits.Weeks\r\n};\r\n\r\nconst Months: IPepQueryBuilderOperationUnit = {\r\n legacy: 'Months',\r\n smartFilter: PepSmartFilterOperatorUnits.Months\r\n};\r\n\r\nconst Years: IPepQueryBuilderOperationUnit = {\r\n legacy: 'Years',\r\n smartFilter: PepSmartFilterOperatorUnits.Years\r\n};\r\n\r\nconst PepQueryBuilderOperationUnit = [\r\n Days,\r\n Weeks,\r\n Months,\r\n Years,\r\n];\r\n\r\n/**\r\n * gets a smart filter operation unit item\r\n * @param operationUnit legacy operation unit\r\n * @returns smart filter operation unit item\r\n */\r\nexport function getSmartBuilderOperationUnit(operationUnit: string): IPepSmartFilterOperatorUnit | null {\r\n const smartFilterOperationUnit: IPepQueryBuilderOperationUnit = PepQueryBuilderOperationUnit.find(unit => unit.legacy === operationUnit);\r\n return smartFilterOperationUnit ? smartFilterOperationUnit.smartFilter : null;\r\n}\r\n\r\n/**\r\n * gets a legacy operation unit value\r\n * @param operationUnit smart filter operation unit item\r\n * @returns legacy operation unit value\r\n */\r\nexport function getLegacyOperationUnit(operationUnit: IPepSmartFilterOperatorUnit): string | null {\r\n const legacyOperationUnit: IPepQueryBuilderOperationUnit = PepQueryBuilderOperationUnit.find(unit => unit.smartFilter === operationUnit);\r\n return legacyOperationUnit ? legacyOperationUnit.legacy : null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IPepQueryItem } from '../model/legacy';\r\nimport { getLegacyOperator } from '../model/operator';\r\nimport { getLegacyOperationUnit } from '../model/operator-unit';\r\nimport { PepSmartFilterOperators } from '@pepperi-addons/ngx-lib/smart-filters';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PepOutputQueryService {\r\n private _complexIdCounter: number;\r\n private _expressionIdCounter: number;\r\n\r\n constructor() {\r\n //\r\n }\r\n\r\n /**\r\n * generates a legacy query structure \r\n * @param filters UI smart filters structure \r\n * @returns legacy query\r\n */\r\n generateQuery(filters: any) {\r\n this.initParams();\r\n\r\n return this.sectionWalk(filters);\r\n }\r\n\r\n /**\r\n * init params\r\n */\r\n private initParams() {\r\n this._complexIdCounter = 1;\r\n this._expressionIdCounter = 1;\r\n }\r\n\r\n /**\r\n * a recursive function dynamically builds legacy query structure\r\n * @param current UI object represents either a section or filter component\r\n * @returns section query data\r\n */\r\n private sectionWalk(current: any) {\r\n let section: any = null;\r\n\r\n Object.keys(current).forEach(key => {\r\n if (key.includes('item')) {\r\n section = this.addToSection(section, {\r\n ExpressionId: (this._expressionIdCounter++).toString(),\r\n ApiName: current[key].fieldId,\r\n Operation: getLegacyOperator(current[key].operator, current[key].fieldType),\r\n Values: this.getItemValues(current[key])\r\n } as IPepQueryItem, current.operator);\r\n } else if (key.includes('section')) {\r\n const childSection = this.sectionWalk(current[key]);\r\n if (childSection) {\r\n section = this.addToSection(section, childSection, current.operator);\r\n }\r\n }\r\n });\r\n\r\n return section;\r\n }\r\n\r\n /**\r\n * adds a legacy filter object to the current query structure\r\n * @param section section query data\r\n * @param item filter item\r\n * @param operator query operator\r\n * @returns \r\n */\r\n private addToSection(section: any, item: any, operator: string): any {\r\n return section ? this.createSection(section, item, operator) : item;\r\n }\r\n\r\n /**\r\n * creates a legacy complex object\r\n * @param left LeftNode object\r\n * @param right RightNode object\r\n * @param operator query operator\r\n * @returns legacy complex object\r\n */\r\n private createSection(left: any, right: any, operator: string) {\r\n return {\r\n ComplexId: (this._complexIdCounter++).toString(),\r\n LeftNode: left,\r\n RightNode: right,\r\n Operation: operator\r\n }\r\n }\r\n\r\n /**\r\n * gets legacy filter values object\r\n * @param current UI filter object's values\r\n * @returns an array represents legacy values\r\n */\r\n private getItemValues(current: any) {\r\n let values: any[] = [];\r\n\r\n if (current?.values?.first) {\r\n if (current.operator === PepSmartFilterOperators.In) { //multi select \r\n values = current.values.first;\r\n } else if (\r\n current.operator === PepSmartFilterOperators.InTheLast ||\r\n current.operator === PepSmartFilterOperators.NotInTheLast ||\r\n current.operator === PepSmartFilterOperators.DueIn ||\r\n current.operator === PepSmartFilterOperators.NotDueIn\r\n ) { //operation unit \r\n values.push(current.values.first);\r\n if (current.operatorUnit) {\r\n values.push(getLegacyOperationUnit(current.operatorUnit));\r\n }\r\n } else {\r\n values.push(current.values.first);\r\n if (current.values.second) {\r\n values.push(current.values.second);\r\n }\r\n }\r\n }\r\n\r\n return values;\r\n }\r\n\r\n}","export enum PepOperatorTypes {\r\n And = 'AND',\r\n Or = 'OR'\r\n}\r\n","import { Injectable, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { } from 'lodash';\r\nimport { IPepQueryBuilderField, IPepQuerySection, IPepQueryItem } from './common/model/legacy';\r\nimport {\r\n IPepSmartFilterField,\r\n IPepSmartFilterData,\r\n PepSmartFilterOperators,\r\n IPepSmartFilterOperator,\r\n PepSmartFilterType,\r\n createSmartFilter,\r\n createSmartFilterField\r\n} from '@pepperi-addons/ngx-lib/smart-filters';\r\nimport { getSmartBuilderOperator } from './common/model/operator';\r\nimport { PepQueryBuilderSectionComponent } from './query-builder-section/query-builder-section.component';\r\nimport { PepQueryBuilderItemComponent } from './query-builder-item/query-builder-item.component';\r\nimport { PepQueryBuilderTypeMap } from './common/model/type-map';\r\nimport { getSmartBuilderOperationUnit } from './common/model/operator-unit';\r\nimport { PepOutputQueryService } from './common/services/output-query.service';\r\nimport { IPepQueryBuilderValues } from './common/model/filter';\r\nimport { PepOperatorTypes } from './common/model/type';\r\n\r\nconst MAX_STRUCTURE_DEPTH = 3;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PepQueryBuilderService {\r\n private _outputQuery$ = new BehaviorSubject<any>(null);\r\n\r\n private _smartFilterFields: Array<IPepSmartFilterField>;\r\n private _form: FormGroup;\r\n private _maxStructureDepth = MAX_STRUCTURE_DEPTH;\r\n\r\n public outputQuery$ = this._outputQuery$.asObservable();\r\n\r\n constructor(private _fb: FormBuilder, private _resolver: ComponentFactoryResolver, private _outputQueryService: PepOutputQueryService) {\r\n\r\n }\r\n\r\n set maxDepth(value) {\r\n this._maxStructureDepth = value;\r\n }\r\n\r\n get maxDepth() {\r\n return this._maxStructureDepth;\r\n }\r\n\r\n set fields(list: Array<IPepQueryBuilderField>) {\r\n this._smartFilterFields = this.convertToSmartFilterFields(list);\r\n }\r\n\r\n get hasFields(): boolean {\r\n return this._smartFilterFields?.length > 0;\r\n }\r\n\r\n set form(value: FormGroup) {\r\n this._form = value;\r\n }\r\n\r\n get form() {\r\n return this._form;\r\n }\r\n\r\n /**\r\n * builds a dynamic UI query structure\r\n * might has a different structure than the query's due to parent-child elements merge\r\n * @param query legacy query \r\n * @param containerRef reference to root element\r\n */\r\n buildQueryStructure(\r\n query: IPepQuerySection,\r\n containerRef: ViewContainerRef\r\n ) {\r\n //update root operator \r\n if (this.hasProperty(query, 'ComplexId') &&\r\n query?.Operation &&\r\n query.Operation !== this._form.get('operator').value) {\r\n this._form.get('operator').setValue(query.Operation);\r\n }\r\n this.flatten(null, query, containerRef, this._form, 1);\r\n }\r\n\r\n /**\r\n * checks if the object contains property\r\n * @param obj object\r\n * @param prop property name\r\n * @returns true if contains, false otherwise\r\n */\r\n private hasProperty(obj, prop) {\r\n return Object.prototype.hasOwnProperty.call(obj, prop);\r\n }\r\n\r\n /**\r\n * a recursive function dynamically builds UI filters structure\r\n * @param parent legacy complex object\r\n * @param current child legacy object (either another complex or expression type)\r\n * @param containerRef parent element\r\n * @param parentForm parent form\r\n */\r\n private flatten(parent: IPepQuerySection, current: IPepQuerySection | IPepQueryItem, containerRef: ViewContainerRef, parentForm: FormGroup, depth: number) {\r\n if (this.hasProperty(current, 'ComplexId')) {\r\n const section = current as IPepQuerySection;\r\n if (parent?.Operation === current.Operation) {\r\n this.flatten(parent, section.LeftNode, containerRef, parentForm, depth);\r\n this.flatten(parent, section.RightNode, containerRef, parentForm, depth);\r\n } else {\r\n const result = this.createSection(section.Operation, containerRef, parentForm, depth);\r\n this.flatten(section, section.LeftNode, result.containerRef, result.parentForm, depth + 1);\r\n this.flatten(section, section.RightNode, result.containerRef, result.parentForm, depth + 1);\r\n }\r\n } else if (this.hasProperty(current, 'ExpressionId')) {\r\n this.createItem(current as IPepQueryItem, containerRef, parentForm);\r\n }\r\n }\r\n\r\n /**\r\n * creates a container object of two or more child filter items\r\n * @param operator AND/OR operator\r\n * @param containerRef parent element\r\n * @param parentForm parent form\r\n * @param depth\r\n * @returns an object containing the current element and current form\r\n */\r\n createSection(operator: PepOperatorTypes, containerRef: ViewContainerRef, parentForm: FormGroup, depth: number) {\r\n const factory = this._resolver.resolveComponentFactory(PepQueryBuilderSectionComponent);\r\n const componentRef = containerRef.createComponent(factory);\r\n\r\n const sectionGroup = this._fb.group({\r\n operator: this._fb.control(operator || PepOperatorTypes.And)\r\n });\r\n let counter = 1;\r\n Object.keys(parentForm.controls).forEach(item => { if (item.includes('section')) { counter++; } });\r\n const formKey = `section${counter}`;\r\n parentForm.addControl(formKey, sectionGroup);\r\n\r\n componentRef.instance.form = sectionGroup;\r\n componentRef.instance.depth = {\r\n current: depth,\r\n max: this._maxStructureDepth\r\n };\r\n componentRef.instance.createSection.subscribe(() => {\r\n const section = this.createSection(PepOperatorTypes.And, componentRef.instance.sectionContainer, sectionGroup, depth + 1);\r\n this.createItem(null, section.containerRef, section.parentForm);\r\n });\r\n componentRef.instance.createItem.subscribe(() => {\r\n this.createItem(null, componentRef.instance.sectionContainer, sectionGroup);\r\n });\r\n componentRef.instance.remove.subscribe(() => {\r\n parentForm.removeControl(formKey);\r\n componentRef.destroy();\r\n this.createOutputQuery();\r\n });\r\n componentRef.instance.operatorChange.subscribe(() => {\r\n this.createOutputQuery();\r\n });\r\n\r\n return {\r\n containerRef: componentRef.instance.sectionContainer,\r\n parentForm: sectionGroup\r\n };\r\n }\r\n\r\n /**\r\n * creates a component represents filter item (leaf element - has no childs)\r\n * @param current filter legacy element\r\n * @param containerRef parent element\r\n * @param parentForm parent form\r\n */\r\n createItem(current: IPepQueryItem, containerRef: ViewContainerRef, parentForm: FormGroup) {\r\n const factory = this._resolver.resolveComponentFactory(PepQueryBuilderItemComponent);\r\n const componentRef = containerRef.createComponent(factory);\r\n\r\n let counter = 1;\r\n Object.keys(parentForm.controls).forEach(item => { if (item.includes('item')) { counter++; } });\r\n const formKey = `item${counter}`;\r\n\r\n componentRef.instance.formKey = formKey;\r\n componentRef.instance.fields = this._smartFilterFields;\r\n const selectedField = this.getSelectedField(current);\r\n if (selectedField) {\r\n componentRef.instance.selected = selectedField;\r\n if (current) {\r\n componentRef.instance.filter = this.getFilter(current, selectedField);\r\n }\r\n }\r\n componentRef.instance.parentForm = parentForm;\r\n componentRef.instance.filterChange.subscribe(() => {\r\n this.createOutputQuery();\r\n });\r\n componentRef.instance.remove.subscribe(() => {\r\n parentForm.removeControl(formKey);\r\n componentRef.destroy();\r\n this.createOutputQuery();\r\n });\r\n }\r\n\r\n /**\r\n * creates a smart filter object\r\n * @param current filter legacy element\r\n * @param field filter's selected field\r\n * @returns smart filter object\r\n */\r\n private getFilter(current: IPepQueryItem, field: any): IPepSmartFilterData | null {\r\n const operator: IPepSmartFilterOperator = getSmartBuilderOperator(current.Operation, field.type);\r\n if (operator) {\r\n const filterValues: IPepQueryBuilderValues = this.getFilterValues(current, operator, field);\r\n return createSmartFilter(\r\n current.ApiName,\r\n operator,\r\n filterValues.first,\r\n filterValues.second,\r\n filterValues.operationUnit\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * get smart filter field\r\n * @param current filter legacy element\r\n * @returns smart filter field, if not found returns the first fields\r\n */\r\n private getSelectedField(current: IPepQueryItem): IPepSmartFilterField | null {\r\n if (current) {\r\n const item = this._smartFilterFields.find(field => field.id === current.ApiName);\r\n return item ? item : this._smartFilterFields?.length > 0 ? this._smartFilterFields[0] : null;\r\n } else {\r\n return this._smartFilterFields?.length > 0 ? this._smartFilterFields[0] : null;\r\n }\r\n }\r\n\r\n /**\r\n * gets smart filter's values data\r\n * @param current filter legacy element\r\n * @param operator smart filter operator\r\n * @param field filter's selected field\r\n * @returns object contains the filter values data\r\n */\r\n private getFilterValues(current: IPepQueryItem, operator: IPepSmartFilterOperator, field: any) {\r\n const data: IPepQueryBuilderValues = {\r\n first: null,\r\n second: null,\r\n operationUnit: null\r\n };\r\n\r\n if (operator === PepSmartFilterOperators.In) { //multi select \r\n //filter keys don't exist on field options\r\n data.first = current?.Values?.length > 0 ? current.Values.filter(item => {\r\n return field.options.find(option => option.key === item);\r\n }) : null;\r\n } else if (\r\n operator === PepSmartFilterOperators.InTheLast ||\r\n operator === PepSmartFilterOperators.NotInTheLast ||\r\n operator === PepSmartFilterOperators.DueIn ||\r\n operator === PepSmartFilterOperators.NotDueIn\r\n ) { //operation unit\r\n data.first = current?.Values?.length > 0 ? current.Values[0] : null;\r\n if (current?.Values?.length === 2) {\r\n data.operationUnit = getSmartBuilderOperationUnit(current.Values[1]);\r\n }\r\n } else {\r\n data.first = current?.Values?.length > 0 ? current.Values[0] : null;\r\n data.second = current?.Values?.length === 2 ? current.Values[1] : null;\r\n }\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * converts legacy fields to smart filter fields\r\n * @param fields legacy fields array\r\n * @returns smart filter fields array\r\n */\r\n private convertToSmartFilterFields(fields: Array<IPepQueryBuilderField>) {\r\n if (fields?.length > 0) {\r\n const typeMapper = new PepQueryBuilderTypeMap();\r\n return fields.map((field) => {\r\n return createSmartFilterField(\r\n {\r\n id: field.FieldID,\r\n name: field.Title,\r\n options: field.OptionalValues?.map(option => {\r\n return {\r\n key: option.Key,\r\n value: option.Value\r\n }\r\n })\r\n } as IPepSmartFilterField\r\n , typeMapper.getSmartBuilderType(field.FieldType) as PepSmartFilterType)\r\n })\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * creates a legacy output query \r\n */\r\n createOutputQuery() {\r\n if (this._form.valid) {\r\n const query = this._outputQueryService.generateQuery(this._form.value);\r\n this._outputQuery$.next(query);\r\n }\r\n }\r\n\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n OnInit,\r\n OnDestroy,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { PepQueryBuilderSectionComponent } from './query-builder-section/query-builder-section.component';\r\nimport { IPepQueryBuilderField, IPepQuerySection } from './common/model/legacy';\r\nimport { PepQueryBuilderService } from './query-builder.service';\r\nimport { IPepQueryDepth } from './common/model/structure';\r\nimport { PepOperatorTypes } from './common/model/type';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'pep-query-builder',\r\n templateUrl: './query-builder.component.html',\r\n styleUrls: ['./query-builder.component.scss'],\r\n})\r\nexport class PepQueryBuilderComponent implements OnInit, OnDestroy {\r\n _query: IPepQuerySection = null;\r\n @Input()\r\n set query(object: IPepQuerySection) {\r\n this._query = object;\r\n this.loadQuery()\r\n }\r\n @Input()\r\n set fields(list: Array<IPepQueryBuilderField>) {\r\n this.queryBuilderService.fields = list;\r\n this.hasFields = this.queryBuilderService.hasFields;\r\n this.loadQuery();\r\n }\r\n @Input()\r\n set maxDepth(value: number) {\r\n this.queryBuilderService.maxDepth = value;\r\n }\r\n\r\n @Output()\r\n queryChange: EventEmitter<IPepQuerySection> = new EventEmitter<IPepQuerySection>();\r\n @Output()\r\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @ViewChild('rootContainer', { static: true }) root: PepQueryBuilderSectionComponent;\r\n\r\n _formSubscription$: Subscription;\r\n _outputQuerySubscription$: Subscription;\r\n _lastFormValidStatus = true;\r\n depth: IPepQueryDepth;\r\n hasFields = false;\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n public queryBuilderService: PepQueryBuilderService\r\n ) {\r\n this.setupForm();\r\n this.initDepth();\r\n this._formSubscription$ = this.queryBuilderService.form.valueChanges.subscribe((val) => {\r\n if (this.queryBuilderService.form.valid !== this._lastFormValidStatus) {\r\n this._lastFormValidStatus = this.queryBuilderService.form.valid;\r\n this.formValidationChange.emit(this._lastFormValidStatus);\r\n }\r\n });\r\n this._outputQuerySubscription$ = this.queryBuilderService.outputQuery$.subscribe((outputQuery) => {\r\n this.queryChange.emit(outputQuery);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //\r\n }\r\n\r\n setupForm() {\r\n this.queryBuilderService.form = this._fb.group({\r\n operator: this._fb.control(PepOperatorTypes.And)\r\n });\r\n }\r\n\r\n initDepth() {\r\n this.depth = {\r\n current: 0,\r\n max: this.queryBuilderService.maxDepth\r\n }\r\n }\r\n\r\n /**\r\n * builds UI query structure as soon as both the fields and query loads\r\n */\r\n loadQuery() {\r\n if (\r\n this._query &&\r\n this.queryBuilderService.hasFields &&\r\n this.root?.sectionContainer\r\n ) {\r\n this.queryBuilderService.buildQueryStructure(this._query, this.root.sectionContainer);\r\n }\r\n }\r\n\r\n onCreateSection() {\r\n const section = this.queryBuilderService.createSection(PepOperatorTypes.And, this.root.sectionContainer, this.queryBuilderService.form, 1);\r\n this.queryBuilderService.createItem(null, section.containerRef, section.parentForm);\r\n }\r\n\r\n onCreateItem() {\r\n this.queryBuilderService.createItem(null, this.root.sectionContainer, this.queryBuilderService.form);\r\n }\r\n\r\n onOperatorChange() {\r\n this.queryBuilderService.createOutputQuery();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._formSubscription$) {\r\n this._formSubscription$.unsubscribe();\r\n }\r\n if (this._outputQuerySubscription$) {\r\n this._outputQuerySubscription$.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\r\nimport { PepSelectModule } from '@pepperi-addons/ngx-lib/select';\r\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\r\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\r\n\r\nimport { PepQueryBuilderService } from './query-builder.service';\r\nimport { PepOutputQueryService } from './common/services/output-query.service';\r\nimport { PepTypeConvertorService } from './common/services/type-convertor.service';\r\n\r\nimport { PepQueryBuilderComponent } from './query-builder.component';\r\nimport { PepQueryBuilderSectionComponent } from './query-builder-section/query-builder-section.component';\r\nimport { PepQueryBuilderItemComponent } from './query-builder-item/query-builder-item.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FlexLayoutModule,\r\n PepSelectModule,\r\n PepButtonModule,\r\n PepGroupButtonsModule,\r\n PepSmartFiltersModule\r\n ],\r\n exports: [\r\n PepQueryBuilderComponent\r\n ],\r\n declarations: [\r\n PepQueryBuilderComponent,\r\n PepQueryBuilderSectionComponent,\r\n PepQueryBuilderItemComponent\r\n ],\r\n providers: [\r\n PepQueryBuilderService,\r\n PepOutputQueryService,\r\n PepTypeConvertorService\r\n ]\r\n})\r\nexport class PepQueryBuilderModule { }\r\n","/*\r\n * Public API Surface of ngx-lib/query-builder\r\n */\r\nexport * from './query-builder.module';\r\nexport * from './query-builder.component';\r\nexport * from './query-builder.service';\r\nexport * from './common/model/legacy';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {PepOutputQueryService as ɵa} from './common/services/output-query.service';\nexport {PepTypeConvertorService as ɵc} from './common/services/type-convertor.service';\nexport {PepQueryBuilderItemComponent as ɵd} from './query-builder-item/query-builder-item.component';\nexport {PepQueryBuilderSectionComponent as ɵb} from './query-builder-section/query-builder-section.component';"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAM,MAAM,GAA6B;IACrC,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,uBAAuB,CAAC,MAAM;IAC3C,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACvC,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,uBAAuB,CAAC,QAAQ;IAC7C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACvC,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,uBAAuB,CAAC,QAAQ;IAC7C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,WAAW,GAA6B;IAC1C,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,uBAAuB,CAAC,WAAW;IAChD,IAAI,EAAE,IAAI;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,WAAW,GAA6B;IAC1C,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,uBAAuB,CAAC,WAAW;IAChD,IAAI,EAAE,CAAC,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACvC,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,uBAAuB,CAAC,QAAQ;IAC7C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAM,SAAS,GAA6B;IACxC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,uBAAuB,CAAC,SAAS;IAC9C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,YAAY,GAA6B;IAC3C,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,uBAAuB,CAAC,YAAY;IACjD,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,KAAK,GAA6B;IACpC,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,uBAAuB,CAAC,KAAK;IAC1C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACvC,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,uBAAuB,CAAC,QAAQ;IAC7C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,SAAS,GAA6B;IACxC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,uBAAuB,CAAC,SAAS;IAC9C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,SAAS,GAA6B;IACxC,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,uBAAuB,CAAC,SAAS;IAC9C,IAAI,EAAE,CAAC,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,KAAK,GAA6B;IACpC,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,uBAAuB,CAAC,KAAK;IAC1C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACvC,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,uBAAuB,CAAC,QAAQ;IAC7C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,EAAE,GAA6B;IACjC,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,uBAAuB,CAAC,EAAE;IACvC,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,OAAO,GAA6B;IACtC,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,uBAAuB,CAAC,OAAO;IAC5C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,UAAU,GAA6B;IACzC,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,uBAAuB,CAAC,UAAU;IAC/C,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,EAAE,GAA6B;IACjC,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,uBAAuB,CAAC,EAAE;IACvC,IAAI,EAAE,CAAC,cAAc,CAAC;CACzB,CAAC;AAGF,MAAM,wBAAwB,GAAG;IAC7B,MAAM;IACN,QAAQ;IACR,QAAQ;;IAER,WAAW;;IAEX,WAAW;IACX,QAAQ;;;;;IAKR,SAAS;IACT,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,KAAK;IACL,QAAQ;IACR,EAAE;IACF,OAAO;IACP,UAAU;IACV,EAAE;CACL,CAAA;AAED;;;;;;SAMgB,uBAAuB,CAAC,QAAgB,EAAE,IAAwB;IAC9E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,IAC1D,IAAI,CAAC,MAAM,KAAK,QAAQ;SACvB,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;IACF,OAAO,mBAAmB,GAAG,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC;AACxE,CAAC;AAED;;;;;;SAMgB,iBAAiB,CAAC,QAAiC,EAAE,IAAwB;IACzF,MAAM,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,IACrD,IAAI,CAAC,WAAW,KAAK,QAAQ;SAC5B,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;IACF,OAAO,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;AACzD;;MC1Oa,uBAAuB;IAYhC;QAXiB,eAAU,GAAiB,EAAE,CAAC;QAC9B,cAAS,GAAiB,EAAE,CAAC;QAW1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IAXD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAOO,aAAa;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;KACN;IAEO,YAAY;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;SACjB,CAAC,CAAC;KACN;;;;YAxCJ,UAAU,SAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;;MCiBY,+BAA+B;IAkBxC,YAAoB,qBAA8C;QAA9C,0BAAqB,GAArB,qBAAqB,CAAyB;QAfzD,cAAS,GAAG,IAAI,CAAC;QAG1B,kBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QAEnC,eAAU,GAAG,IAAI,YAAY,EAAE,CAAC;QAEhC,WAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAE5B,mBAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAOnC;IAED,QAAQ;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC7B;IAED,aAAa;QACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAoB;YAC/E,OAAO;gBACH,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,CAAC,KAA2B,KAClC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;aACvB,CAAA;SACjB,CAAC,CAAC;KACN;IAED,iBAAiB,CAAC,KAAK;;QACnB,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,GAAG,EAAE;YACpB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC9B;KACJ;IAED,gBAAgB;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,mBAAmB;QACf,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,sBAAsB;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB;;;YA9DJ,SAAS,SAAC;gBACP,QAAQ,EAAE,2BAA2B;gBACrC,krDAAqD;;aAExD;;;YAPQ,uBAAuB;;;mBAS3B,KAAK;oBACL,KAAK;wBACL,KAAK;4BAEL,MAAM;yBAEN,MAAM;qBAEN,MAAM;6BAEN,MAAM;+BAGN,SAAS,SAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCxB9D,4BAA4B;IA8CrC,YACY,GAAgB,EACjB,oBAA6C;QAD5C,QAAG,GAAH,GAAG,CAAa;QACjB,yBAAoB,GAApB,oBAAoB,CAAyB;QA9CxD,YAAO,GAAe,EAAE,CAAC;QACzB,aAAQ,GAAiB,EAAE,CAAC;QAa5B,mBAAc,GAA4B,IAAI,CAAC;QAwB/C,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAElC,WAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAQxB,IAAI,CAAC,SAAS,EAAE,CAAC;KACpB;IA/CD,IACI,MAAM,CAAC,IAAiC;QACxC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;gBAC1B,OAAO;oBACH,GAAG,EAAE,KAAK,CAAC,EAAE;oBACb,KAAK,EAAE,KAAK,CAAC,IAAI;iBACpB,CAAA;aACJ,CAAC,CAAA;SACL;KACJ;IAED,IACI,QAAQ,CAAC,KAAU;QACnB,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC/B;KACJ;IAED,IACI,MAAM,CAAC,KAA0B;QACjC,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACxB;KACJ;IAED,IACI,UAAU,CAAC,KAAgB;QAC3B,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;KACJ;IAgBD,QAAQ;;KAEP;IAED,SAAS;QACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;aACjC,CAAC;SACL,CAAC,CAAC;KACN;IAED,eAAe;QACX,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACxD;IAED,cAAc,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;;;;;QAMvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;SAC5C,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IAED,eAAe;QACX,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC5B;KACJ;IAED,mBAAmB;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB;;;YAzGJ,SAAS,SAAC;gBACP,QAAQ,EAAE,wBAAwB;gBAClC,imGAAkD;;aAErD;;;YAVQ,WAAW;YAIX,uBAAuB;;;sBAQ3B,KAAK;qBAGL,KAAK;uBAaL,KAAK;qBAOL,KAAK;yBAOL,KAAK;2BAQL,MAAM;qBAEN,MAAM;;;MClDE,sBAAsB;IAG/B;QACI,IAAI,CAAC,SAAS,EAAE,CAAC;KACpB;IAEO,SAAS;QACb,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;KACxD;;;;;;IAOD,mBAAmB,CAAC,GAAW;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;KAC7B;;;ACvBL,MAAM,IAAI,GAAkC;IACxC,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,2BAA2B,CAAC,IAAI;CAChD,CAAC;AAEF,MAAM,KAAK,GAAkC;IACzC,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,2BAA2B,CAAC,KAAK;CACjD,CAAC;AAEF,MAAM,MAAM,GAAkC;IAC1C,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,2BAA2B,CAAC,MAAM;CAClD,CAAC;AAEF,MAAM,KAAK,GAAkC;IACzC,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,2BAA2B,CAAC,KAAK;CACjD,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACjC,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;CACR,CAAC;AAEF;;;;;SAKgB,4BAA4B,CAAC,aAAqB;IAC9D,MAAM,wBAAwB,GAAkC,4BAA4B,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;IACzI,OAAO,wBAAwB,GAAG,wBAAwB,CAAC,WAAW,GAAG,IAAI,CAAC;AAClF,CAAC;AAED;;;;;SAKgB,sBAAsB,CAAC,aAA0C;IAC7E,MAAM,mBAAmB,GAAkC,4BAA4B,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;IACzI,OAAO,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC;AACnE;;MC3Ca,qBAAqB;IAI9B;;KAEC;;;;;;IAOD,aAAa,CAAC,OAAY;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACpC;;;;IAKO,UAAU;QACd,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;KACjC;;;;;;IAOO,WAAW,CAAC,OAAY;QAC5B,IAAI,OAAO,GAAQ,IAAI,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG;YAC5B,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACtB,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;oBACjC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE;oBACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO;oBAC7B,SAAS,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;oBAC3E,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAC1B,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;aACzC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,IAAI,YAAY,EAAE;oBACd,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACxE;aACJ;SACJ,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;KAClB;;;;;;;;IASO,YAAY,CAAC,OAAY,EAAE,IAAS,EAAE,QAAgB;QAC1D,OAAO,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;KACvE;;;;;;;;IASO,aAAa,CAAC,IAAS,EAAE,KAAU,EAAE,QAAgB;QACzD,OAAO;YACH,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE;YAChD,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,QAAQ;SACtB,CAAA;KACJ;;;;;;IAOO,aAAa,CAAC,OAAY;;QAC9B,IAAI,MAAM,GAAU,EAAE,CAAC;QAEvB,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,KAAK,EAAE;YACxB,IAAI,OAAO,CAAC,QAAQ,KAAK,uBAAuB,CAAC,EAAE,EAAE;gBACjD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;aACjC;iBAAM,IACH,OAAO,CAAC,QAAQ,KAAK,uBAAuB,CAAC,SAAS;gBACtD,OAAO,CAAC,QAAQ,KAAK,uBAAuB,CAAC,YAAY;gBACzD,OAAO,CAAC,QAAQ,KAAK,uBAAuB,CAAC,KAAK;gBAClD,OAAO,CAAC,QAAQ,KAAK,uBAAuB,CAAC,QAAQ,EACvD;gBACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,YAAY,EAAE;oBACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC7D;aACJ;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACtC;aACJ;SACJ;QAED,OAAO,MAAM,CAAC;KACjB;;;;YAlHJ,UAAU,SAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;;ACTD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,+BAAW,CAAA;IACX,6BAAS,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB;;ACuB5B,MAAM,mBAAmB,GAAG,CAAC,CAAC;MAKjB,sBAAsB;IAS/B,YAAoB,GAAgB,EAAU,SAAmC,EAAU,mBAA0C;QAAjH,QAAG,GAAH,GAAG,CAAa;QAAU,cAAS,GAAT,SAAS,CAA0B;QAAU,wBAAmB,GAAnB,mBAAmB,CAAuB;QAR7H,kBAAa,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAI/C,uBAAkB,GAAG,mBAAmB,CAAC;QAE1C,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAIvD;IAED,IAAI,QAAQ,CAAC,KAAK;QACd,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACnC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;IAED,IAAI,MAAM,CAAC,IAAkC;QACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;KACnE;IAED,IAAI,SAAS;;QACT,OAAO,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,CAAC,CAAC;KAC9C;IAED,IAAI,IAAI,CAAC,KAAgB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;;;;;;;IAQD,mBAAmB,CACf,KAAuB,EACvB,YAA8B;;QAG9B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC;aACpC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA;YAChB,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;YACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC1D;;;;;;;IAQO,WAAW,CAAC,GAAG,EAAE,IAAI;QACzB,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KAC1D;;;;;;;;IASO,OAAO,CAAC,MAAwB,EAAE,OAAyC,EAAE,YAA8B,EAAE,UAAqB,EAAE,KAAa;QACrJ,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;YACxC,MAAM,OAAO,GAAG,OAA2B,CAAC;YAC5C,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,MAAK,OAAO,CAAC,SAAS,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;aAC5E;iBAAM;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3F,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;aAC/F;SACJ;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,OAAwB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SACvE;KACJ;;;;;;;;;IAUD,aAAa,CAAC,QAA0B,EAAE,YAA8B,EAAE,UAAqB,EAAE,KAAa;QAC1G,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,+BAA+B,CAAC,CAAC;QACxF,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,GAAG,CAAC;SAC/D,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,UAAU,OAAO,EAAE,CAAC;QACpC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE7C,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;QAC1C,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG;YAC1B,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,IAAI,CAAC,kBAAkB;SAC/B,CAAC;QACF,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;SACnE,CAAC,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;SAC/E,CAAC,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAClC,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B,CAAC,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;YAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,OAAO;YACH,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,gBAAgB;YACpD,UAAU,EAAE,YAAY;SAC3B,CAAC;KACL;;;;;;;IAQD,UAAU,CAAC,OAAsB,EAAE,YAA8B,EAAE,UAAqB;QACpF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE3D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE,EAAE,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,OAAO,OAAO,EAAE,CAAC;QAEjC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QACxC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,aAAa,EAAE;YACf,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC/C,IAAI,OAAO,EAAE;gBACT,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;aACzE;SACJ;QACD,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9C,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B,CAAC,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAClC,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B,CAAC,CAAC;KACN;;;;;;;IAQO,SAAS,CAAC,OAAsB,EAAE,KAAU;QAChD,MAAM,QAAQ,GAA4B,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjG,IAAI,QAAQ,EAAE;YACV,MAAM,YAAY,GAA2B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5F,OAAO,iBAAiB,CACpB,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,aAAa,CAC7B,CAAC;SACL;aAAM;YACH,OAAO,IAAI,CAAC;SACf;KACJ;;;;;;IAOO,gBAAgB,CAAC,OAAsB;;QAC3C,IAAI,OAAO,EAAE;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;YACjF,OAAO,IAAI,GAAG,IAAI,GAAG,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAChG;aAAM;YACH,OAAO,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAClF;KACJ;;;;;;;;IASO,eAAe,CAAC,OAAsB,EAAE,QAAiC,EAAE,KAAU;;QACzF,MAAM,IAAI,GAA2B;YACjC,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;SACtB,CAAC;QAEF,IAAI,QAAQ,KAAK,uBAAuB,CAAC,EAAE,EAAE;;YAEzC,IAAI,CAAC,KAAK,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;gBACjE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;aAC5D,CAAC,GAAG,IAAI,CAAC;SACb;aAAM,IACH,QAAQ,KAAK,uBAAuB,CAAC,SAAS;YAC9C,QAAQ,KAAK,uBAAuB,CAAC,YAAY;YACjD,QAAQ,KAAK,uBAAuB,CAAC,KAAK;YAC1C,QAAQ,KAAK,uBAAuB,CAAC,QAAQ,EAC/C;YACE,IAAI,CAAC,KAAK,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACpE,IAAI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,EAAE;gBAC/B,IAAI,CAAC,aAAa,GAAG,4BAA4B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;SACJ;aAAM;YACH,IAAI,CAAC,KAAK,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACpE,IAAI,CAAC,MAAM,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAC1E;QAED,OAAO,IAAI,CAAC;KACf;;;;;;IAOO,0BAA0B,CAAC,MAAoC;QACnE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,IAAG,CAAC,EAAE;YACpB,MAAM,UAAU,GAAG,IAAI,sBAAsB,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK;;gBACpB,OAAO,sBAAsB,CACzB;oBACI,EAAE,EAAE,KAAK,CAAC,OAAO;oBACjB,IAAI,EAAE,KAAK,CAAC,KAAK;oBACjB,OAAO,EAAE,MAAA,KAAK,CAAC,cAAc,0CAAE,GAAG,CAAC,MAAM;wBACrC,OAAO;4BACH,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,KAAK,EAAE,MAAM,CAAC,KAAK;yBACtB,CAAA;qBACJ,CAAC;iBACmB,EACvB,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAC,CAAA;aAC/E,CAAC,CAAA;SACL;aAAM;YACH,OAAO,EAAE,CAAC;SACb;KACJ;;;;IAKD,iBAAiB;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;KACJ;;;;YAzRJ,UAAU,SAAC;gBACR,UAAU,EAAE,MAAM;aACrB;;;YA1BQ,WAAW;YADmB,wBAAwB;YAmBtD,qBAAqB;;;MCGjB,wBAAwB;IA+BjC,YACY,GAAgB,EACjB,mBAA2C;QAD1C,QAAG,GAAH,GAAG,CAAa;QACjB,wBAAmB,GAAnB,mBAAmB,CAAwB;QAhCtD,WAAM,GAAqB,IAAI,CAAC;QAkBhC,gBAAW,GAAmC,IAAI,YAAY,EAAoB,CAAC;QAEnF,yBAAoB,GAA0B,IAAI,YAAY,EAAW,CAAC;QAM1E,yBAAoB,GAAG,IAAI,CAAC;QAE5B,cAAS,GAAG,KAAK,CAAC;QAMd,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG;YAC/E,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,oBAAoB,EAAE;gBACnE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC7D;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW;YACzF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACtC,CAAC,CAAC;KACN;IA5CD,IACI,KAAK,CAAC,MAAwB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAA;KACnB;IACD,IACI,MAAM,CAAC,IAAkC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;KACpB;IACD,IACI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,GAAG,KAAK,CAAC;KAC7C;IAgCD,QAAQ;;KAEP;IAED,SAAS;QACL,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAC3C,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;SACnD,CAAC,CAAC;KACN;IAED,SAAS;QACL,IAAI,CAAC,KAAK,GAAG;YACT,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ;SACzC,CAAA;KACJ;;;;IAKD,SAAS;;QACL,IACI,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,mBAAmB,CAAC,SAAS;aAClC,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,CAAA,EAC7B;YACE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACzF;KACJ;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3I,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;KACvF;IAED,YAAY;QACR,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;KACxG;IAED,gBAAgB;QACZ,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;KAChD;IAED,WAAW;QACP,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAChC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;SAChD;KACJ;;;YAvGJ,SAAS,SAAC;gBACP,QAAQ,EAAE,mBAAmB;gBAC7B,2RAA6C;;aAEhD;;;YAZQ,WAAW;YAGX,sBAAsB;;;oBAY1B,KAAK;qBAKL,KAAK;uBAML,KAAK;0BAKL,MAAM;mCAEN,MAAM;mBAGN,SAAS,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCHnC,qBAAqB;;;YAxBjC,QAAQ,SAAC;gBACN,OAAO,EAAE;oBACL,YAAY;oBACZ,mBAAmB;oBACnB,gBAAgB;oBAChB,eAAe;oBACf,eAAe;oBACf,qBAAqB;oBACrB,qBAAqB;iBACxB;gBACD,OAAO,EAAE;oBACL,wBAAwB;iBAC3B;gBACD,YAAY,EAAE;oBACV,wBAAwB;oBACxB,+BAA+B;oBAC/B,4BAA4B;iBAC/B;gBACD,SAAS,EAAE;oBACP,sBAAsB;oBACtB,qBAAqB;oBACrB,uBAAuB;iBAC1B;aACJ;;;ACzCD;;;;ACAA;;;;;;"}
@@ -1,6 +0,0 @@
1
- import { IPepSmartFilterOperatorUnit } from '@pepperi-addons/ngx-lib/smart-filters';
2
- export interface IPepQueryBuilderValues {
3
- first: any;
4
- second: any;
5
- operationUnit: IPepSmartFilterOperatorUnit;
6
- }
@@ -1,20 +0,0 @@
1
- import { KeyValuePair } from '@pepperi-addons/ngx-lib';
2
- import { PepOperatorTypes } from './type';
3
- export interface IPepQueryBuilderField {
4
- FieldID: string;
5
- FieldType: string;
6
- Title: string;
7
- OptionalValues: Array<KeyValuePair<string>>;
8
- }
9
- export interface IPepQuerySection {
10
- ComplexId: string;
11
- Operation: PepOperatorTypes;
12
- LeftNode?: IPepQuerySection | IPepQueryItem;
13
- RightNode?: IPepQuerySection | IPepQueryItem;
14
- }
15
- export interface IPepQueryItem {
16
- ExpressionId: string;
17
- ApiName: string;
18
- Operation: string;
19
- Values: any[];
20
- }
@@ -1,13 +0,0 @@
1
- import { IPepSmartFilterOperatorUnit } from '@pepperi-addons/ngx-lib/smart-filters';
2
- /**
3
- * gets a smart filter operation unit item
4
- * @param operationUnit legacy operation unit
5
- * @returns smart filter operation unit item
6
- */
7
- export declare function getSmartBuilderOperationUnit(operationUnit: string): IPepSmartFilterOperatorUnit | null;
8
- /**
9
- * gets a legacy operation unit value
10
- * @param operationUnit smart filter operation unit item
11
- * @returns legacy operation unit value
12
- */
13
- export declare function getLegacyOperationUnit(operationUnit: IPepSmartFilterOperatorUnit): string | null;
@@ -1,21 +0,0 @@
1
- import { IPepSmartFilterOperator } from '@pepperi-addons/ngx-lib/smart-filters';
2
- import { PepSmartFilterType } from '@pepperi-addons/ngx-lib/smart-filters';
3
- export interface IPepQueryBuilderOperator {
4
- legacy: string;
5
- smartFilter: IPepSmartFilterOperator;
6
- type: PepSmartFilterType[] | null;
7
- }
8
- /**
9
- * gets a smart filter operator item
10
- * @param operator legacy operator
11
- * @param type smart filter's type
12
- * @returns smart filter operator item
13
- */
14
- export declare function getSmartBuilderOperator(operator: string, type: PepSmartFilterType): IPepSmartFilterOperator | null;
15
- /**
16
- * gets a legacy operator value
17
- * @param operator smart filter operator item
18
- * @param type smart filter's type
19
- * @returns legacy operator value
20
- */
21
- export declare function getLegacyOperator(operator: IPepSmartFilterOperator, type: PepSmartFilterType): string | null;
@@ -1,4 +0,0 @@
1
- export interface IPepQueryDepth {
2
- current: number;
3
- max: number;
4
- }
@@ -1,12 +0,0 @@
1
- import { PepSmartFilterType } from '@pepperi-addons/ngx-lib/smart-filters';
2
- export declare class PepQueryBuilderTypeMap {
3
- private map;
4
- constructor();
5
- private loadTypes;
6
- /**
7
- * Converts legacy field type to smart builder type
8
- * @param type legacy type
9
- * @returns smart builder field type
10
- */
11
- getSmartBuilderType(key: string): PepSmartFilterType | null;
12
- }
@@ -1,4 +0,0 @@
1
- export declare enum PepOperatorTypes {
2
- And = "AND",
3
- Or = "OR"
4
- }
@@ -1,43 +0,0 @@
1
- export declare class PepOutputQueryService {
2
- private _complexIdCounter;
3
- private _expressionIdCounter;
4
- constructor();
5
- /**
6
- * generates a legacy query structure
7
- * @param filters UI smart filters structure
8
- * @returns legacy query
9
- */
10
- generateQuery(filters: any): any;
11
- /**
12
- * init params
13
- */
14
- private initParams;
15
- /**
16
- * a recursive function dynamically builds legacy query structure
17
- * @param current UI object represents either a section or filter component
18
- * @returns section query data
19
- */
20
- private sectionWalk;
21
- /**
22
- * adds a legacy filter object to the current query structure
23
- * @param section section query data
24
- * @param item filter item
25
- * @param operator query operator
26
- * @returns
27
- */
28
- private addToSection;
29
- /**
30
- * creates a legacy complex object
31
- * @param left LeftNode object
32
- * @param right RightNode object
33
- * @param operator query operator
34
- * @returns legacy complex object
35
- */
36
- private createSection;
37
- /**
38
- * gets legacy filter values object
39
- * @param current UI filter object's values
40
- * @returns an array represents legacy values
41
- */
42
- private getItemValues;
43
- }
@@ -1,10 +0,0 @@
1
- import { IPepOption } from '@pepperi-addons/ngx-lib';
2
- export declare class PepTypeConvertorService {
3
- private readonly _operators;
4
- private readonly _booleans;
5
- get operators(): IPepOption[];
6
- get booleans(): IPepOption[];
7
- constructor();
8
- private initOperators;
9
- private initBooleans;
10
- }
@@ -1,14 +0,0 @@
1
- {
2
- "peerDependencies": {
3
- "@ngx-translate/core": "^13.0.0"
4
- },
5
- "main": "../bundles/pepperi-addons-ngx-lib-query-builder.umd.js",
6
- "module": "../fesm2015/pepperi-addons-ngx-lib-query-builder.js",
7
- "es2015": "../fesm2015/pepperi-addons-ngx-lib-query-builder.js",
8
- "esm2015": "../esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js",
9
- "fesm2015": "../fesm2015/pepperi-addons-ngx-lib-query-builder.js",
10
- "typings": "pepperi-addons-ngx-lib-query-builder.d.ts",
11
- "metadata": "pepperi-addons-ngx-lib-query-builder.metadata.json",
12
- "sideEffects": false,
13
- "name": "@pepperi-addons/ngx-lib/query-builder"
14
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { PepOutputQueryService as ɵa } from './common/services/output-query.service';
6
- export { PepTypeConvertorService as ɵc } from './common/services/type-convertor.service';
7
- export { PepQueryBuilderItemComponent as ɵd } from './query-builder-item/query-builder-item.component';
8
- export { PepQueryBuilderSectionComponent as ɵb } from './query-builder-section/query-builder-section.component';