@pepperi-addons/ngx-lib 0.2.61 → 0.3.2

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 (302) hide show
  1. package/address/address.component.theme.scss +4 -7
  2. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  3. package/attachment/attachment.component.d.ts +1 -0
  4. package/attachment/attachment.component.theme.scss +3 -2
  5. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  6. package/bread-crumbs/bread-crumbs.component.theme.scss +7 -7
  7. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  8. package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  12. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  14. package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  16. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +4 -1
  17. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  18. package/bundles/pepperi-addons-ngx-lib-color.umd.js +8 -3
  19. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-date.umd.js +4 -1
  21. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +1 -1
  23. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
  25. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  28. package/bundles/pepperi-addons-ngx-lib-form.umd.js +19 -16
  29. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
  31. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-image.umd.js +7 -2
  33. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
  35. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  36. package/bundles/pepperi-addons-ngx-lib-list.umd.js +3 -3
  37. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  38. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +7 -2
  39. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  40. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1104 -0
  41. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
  42. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
  43. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
  45. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  46. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +9 -1
  47. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  48. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
  49. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  50. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
  51. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  52. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  54. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +306 -39
  55. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  56. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
  57. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  58. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +5 -3
  59. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  60. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  62. package/bundles/pepperi-addons-ngx-lib.umd.js +3 -1
  63. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  64. package/button/button.component.theme.scss +0 -2
  65. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  66. package/checkbox/checkbox.component.theme.scss +0 -2
  67. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  68. package/color/color-picker.component.theme.scss +122 -128
  69. package/color/color.component.d.ts +1 -0
  70. package/color/color.component.theme.scss +0 -7
  71. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  72. package/core/customization/customization.service.d.ts +1 -0
  73. package/date/date.component.theme.scss +163 -169
  74. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  75. package/dialog/dialog.component.theme.scss +4 -4
  76. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  77. package/esm2015/address/address.component.js +2 -2
  78. package/esm2015/attachment/attachment.component.js +8 -3
  79. package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
  80. package/esm2015/button/button.component.js +2 -2
  81. package/esm2015/checkbox/checkbox.component.js +5 -2
  82. package/esm2015/color/color-picker.component.js +2 -2
  83. package/esm2015/color/color.component.js +8 -3
  84. package/esm2015/core/customization/customization.service.js +4 -2
  85. package/esm2015/date/date.component.js +5 -2
  86. package/esm2015/dialog/dialog.component.js +2 -2
  87. package/esm2015/field-title/field-title.component.js +2 -2
  88. package/esm2015/files-uploader/files-uploader.component.js +2 -2
  89. package/esm2015/form/indicators.component.js +2 -2
  90. package/esm2015/form/internal-button.component.js +20 -17
  91. package/esm2015/group-buttons/group-buttons.component.js +2 -2
  92. package/esm2015/image/image.component.js +8 -3
  93. package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
  94. package/esm2015/list/list-total.component.js +2 -2
  95. package/esm2015/list/virtual-scroller.js +3 -3
  96. package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
  97. package/esm2015/query-builder/common/model/field.js +2 -0
  98. package/esm2015/query-builder/common/model/filter.js +2 -0
  99. package/esm2015/query-builder/common/model/legacy.js +2 -0
  100. package/esm2015/query-builder/common/model/operator-unit.js +42 -0
  101. package/esm2015/query-builder/common/model/operator.js +207 -0
  102. package/esm2015/query-builder/common/model/structure.js +2 -0
  103. package/esm2015/query-builder/common/model/type-map.js +27 -0
  104. package/esm2015/query-builder/common/model/type.js +6 -0
  105. package/esm2015/query-builder/common/services/output-query.service.js +111 -0
  106. package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
  107. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
  108. package/esm2015/query-builder/public-api.js +8 -0
  109. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +116 -0
  110. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
  111. package/esm2015/query-builder/query-builder.component.js +104 -0
  112. package/esm2015/query-builder/query-builder.module.js +35 -0
  113. package/esm2015/query-builder/query-builder.service.js +282 -0
  114. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
  115. package/esm2015/select/select.component.js +8 -3
  116. package/esm2015/separator/separator.component.js +10 -2
  117. package/esm2015/side-bar/side-bar.component.js +2 -2
  118. package/esm2015/signature/signature.component.js +8 -3
  119. package/esm2015/slider/slider.component.js +2 -2
  120. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
  121. package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
  122. package/esm2015/smart-filters/common/model/creator.js +8 -2
  123. package/esm2015/smart-filters/common/model/field.js +12 -1
  124. package/esm2015/smart-filters/common/model/operator.js +8 -8
  125. package/esm2015/smart-filters/common/model/type.js +1 -1
  126. package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
  127. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
  128. package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
  129. package/esm2015/smart-filters/public-api.js +2 -1
  130. package/esm2015/smart-filters/smart-filters.component.js +2 -2
  131. package/esm2015/smart-filters/smart-filters.module.js +16 -3
  132. package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
  133. package/esm2015/textarea/textarea.component.js +8 -3
  134. package/esm2015/textbox/textbox.component.js +6 -4
  135. package/esm2015/top-bar/top-bar.component.js +2 -2
  136. package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
  137. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  138. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
  139. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  140. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +1 -1
  141. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  142. package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
  143. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  144. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +4 -1
  145. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  146. package/fesm2015/pepperi-addons-ngx-lib-color.js +8 -3
  147. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  148. package/fesm2015/pepperi-addons-ngx-lib-date.js +4 -1
  149. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  150. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +1 -1
  151. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  152. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
  153. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
  155. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-form.js +19 -16
  157. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
  159. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
  161. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
  163. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-list.js +3 -3
  165. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
  167. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1014 -0
  169. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
  170. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
  171. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
  173. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  174. package/fesm2015/pepperi-addons-ngx-lib-separator.js +9 -1
  175. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
  177. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
  179. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-slider.js +1 -1
  181. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +293 -36
  183. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  184. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
  185. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +5 -3
  187. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
  189. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib.js +3 -1
  191. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  192. package/field-title/field-title.component.theme.scss +0 -2
  193. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  194. package/files-uploader/files-uploader.component.theme.scss +3 -2
  195. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  196. package/form/indicators.component.theme.scss +5 -5
  197. package/form/internal-button.component.d.ts +0 -1
  198. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  199. package/group-buttons/group-buttons.component.theme.scss +11 -11
  200. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  201. package/image/image.component.d.ts +1 -0
  202. package/image/image.component.theme.scss +28 -27
  203. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  204. package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
  205. package/images-filmstrip/images-filmstrip.component.theme.scss +27 -26
  206. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  207. package/list/list-total.component.theme.scss +6 -6
  208. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  209. package/package.json +5 -5
  210. package/page-layout/page-layout.component.theme.scss +6 -6
  211. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  212. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  213. package/quantity-selector/quantity-selector.component.d.ts +1 -0
  214. package/quantity-selector/quantity-selector.component.theme.scss +21 -21
  215. package/query-builder/common/model/field.d.ts +8 -0
  216. package/query-builder/common/model/filter.d.ts +6 -0
  217. package/query-builder/common/model/legacy.d.ts +29 -0
  218. package/query-builder/common/model/operator-unit.d.ts +13 -0
  219. package/query-builder/common/model/operator.d.ts +21 -0
  220. package/query-builder/common/model/structure.d.ts +4 -0
  221. package/query-builder/common/model/type-map.d.ts +12 -0
  222. package/query-builder/common/model/type.d.ts +4 -0
  223. package/query-builder/common/services/output-query.service.d.ts +44 -0
  224. package/query-builder/common/services/type-convertor.service.d.ts +10 -0
  225. package/query-builder/package.json +14 -0
  226. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
  227. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
  228. package/query-builder/public-api.d.ts +4 -0
  229. package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
  230. package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
  231. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
  232. package/query-builder/query-builder.component.d.ts +35 -0
  233. package/query-builder/query-builder.module.d.ts +2 -0
  234. package/query-builder/query-builder.service.d.ts +94 -0
  235. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  236. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
  237. package/rich-html-textarea/rich-html-textarea.component.theme.scss +77 -70
  238. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  239. package/select/select.component.d.ts +1 -0
  240. package/select/select.component.theme.scss +98 -2
  241. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  242. package/separator/separator.component.theme.scss +1 -1
  243. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  244. package/side-bar/side-bar.component.theme.scss +17 -16
  245. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  246. package/signature/signature.component.d.ts +1 -0
  247. package/signature/signature.component.theme.scss +5 -21
  248. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  249. package/slider/slider.component.theme.scss +54 -53
  250. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
  251. package/smart-filters/common/model/base-filter-component.d.ts +7 -0
  252. package/smart-filters/common/model/field.d.ts +4 -0
  253. package/smart-filters/common/model/operator.d.ts +1 -0
  254. package/smart-filters/common/model/type.d.ts +2 -2
  255. package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
  256. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
  257. package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
  258. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  259. package/smart-filters/public-api.d.ts +1 -0
  260. package/smart-filters/smart-filters.component.theme.scss +6 -7
  261. package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
  262. package/src/assets/i18n/en.ngx-lib.json +2 -1
  263. package/src/core/style/abstracts/breakpoints.scss +4 -2
  264. package/src/core/style/abstracts/functions.scss +232 -216
  265. package/src/core/style/abstracts/mixins.scss +191 -188
  266. package/src/core/style/base/base.scss +125 -124
  267. package/src/core/style/base/grids.scss +1 -1
  268. package/src/core/style/base/typography.scss +66 -62
  269. package/src/core/style/components/button.scss +57 -60
  270. package/src/core/style/components/checkbox.scss +41 -38
  271. package/src/core/style/components/datetime.scss +182 -22
  272. package/src/core/style/components/file.scss +159 -141
  273. package/src/core/style/components/general.scss +176 -287
  274. package/src/core/style/components/input.scss +22 -24
  275. package/src/core/style/components/quantity-selector.scss +15 -12
  276. package/src/core/style/components/radio-button.scss +22 -38
  277. package/src/core/style/components/select.scss +184 -182
  278. package/src/core/style/components/signature.scss +14 -12
  279. package/src/core/style/components/splitter.scss +58 -55
  280. package/src/core/style/components/textarea.scss +90 -78
  281. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  282. package/textarea/textarea.component.d.ts +1 -0
  283. package/textarea/textarea.component.theme.scss +3 -2
  284. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  285. package/textbox/textbox.component.theme.scss +1 -1
  286. package/theming.scss +50 -144
  287. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  288. package/top-bar/top-bar.component.theme.scss +7 -7
  289. package/form/form.component.theme.scss +0 -2
  290. package/form/internal-button.component.theme.scss +0 -2
  291. package/form/internal-menu.component.theme.scss +0 -3
  292. package/list/list-actions.component.theme.scss +0 -3
  293. package/list/list-carousel.component.theme.scss +0 -9
  294. package/list/list-chooser.component.theme.scss +0 -3
  295. package/list/list-pager.component.theme.scss +0 -3
  296. package/list/list-sorting.component.theme.scss +0 -3
  297. package/list/list-views.component.theme.scss +0 -3
  298. package/list/list.component.theme.scss +0 -5
  299. package/list/list_old.component.theme.scss +0 -5
  300. package/menu/menu.component.theme.scss +0 -2
  301. package/search/search.component.theme.scss +0 -3
  302. package/textbox-icon/textbox-icon.component.theme.scss +0 -3
@@ -1,77 +1,77 @@
1
- // ******************************************************************************
2
- // QS styles declerations
3
- // ******************************************************************************
4
- @mixin pep-qs-action-state-button($pepperi-theme, $style, $color-name: color-qs) {
5
- @include pep-button-states($pepperi-theme, $style, $color-name);
1
+ @use '../src/core/style/abstracts/variables';
2
+ @use '../src/core/style/abstracts/mixins';
3
+ @use '../src/core/style/abstracts/functions';
4
+
5
+ @mixin pep-qs-action-state-button($style, $color-name: color-qs) {
6
+ @include mixins.pep-button-states($style, $color-name);
6
7
 
7
8
  &.qs-action {
8
- @include pep-button-states($pepperi-theme, weak, $color-name);
9
+ @include mixins.pep-button-states(weak, $color-name);
9
10
  box-shadow: unset;
10
11
  border: unset;
11
- @include fix-inline-z-index();
12
+ @include mixins.fix-inline-z-index();
12
13
  }
13
14
  }
14
15
 
15
- @mixin pep-qs-states($pepperi-theme, $style) {
16
+ @mixin pep-qs-states($style) {
16
17
  .mat-form-field {
17
- @include pep-form-field-states($pepperi-theme, $style, color-qs);
18
+ @include mixins.pep-form-field-states($style, color-qs);
18
19
  }
19
20
 
20
21
  // .pepperi-button:not(.qs-action), .pep-button:not(.qs-action) {
21
22
  .pepperi-button, .pep-button {
22
- @include pep-qs-action-state-button($pepperi-theme, $style);
23
+ @include pep-qs-action-state-button($style);
23
24
  }
24
25
 
25
26
  &.caution {
26
27
  .mat-form-field {
27
- @include pep-form-field-states($pepperi-theme, $style, color-system-caution);
28
+ @include mixins.pep-form-field-states($style, color-system-caution);
28
29
  }
29
30
 
30
31
  .pepperi-button, .pep-button {
31
- @include pep-qs-action-state-button($pepperi-theme, $style, color-system-caution);
32
+ @include pep-qs-action-state-button($style, color-system-caution);
32
33
  }
33
34
  }
34
35
  }
35
36
 
36
- @mixin pep-quantity-selector-component-theme($pepperi-theme) {
37
+ ::ng-deep {
37
38
  .pepperi-quantity-selector-container, .pep-quantity-selector-container {
38
39
  &:not(.strong) {
39
40
  .mat-form-field {
40
41
  .mat-input-element {
41
- color: get-pep-color($pepperi-theme, color-text, color-main);
42
+ color: functions.get-pep-color(color-text, color-main);
42
43
  }
43
44
  }
44
45
 
45
46
  &.zero-quantity {
46
47
  .mat-form-field {
47
48
  .mat-input-element {
48
- color: get-pep-color($pepperi-theme, color-text, color-dimmed);
49
+ color: functions.get-pep-color(color-text, color-dimmed);
49
50
  }
50
51
  }
51
52
 
52
53
  button {
53
- color: get-pep-color($pepperi-theme, color-text, color-dimmed);
54
+ color: functions.get-pep-color(color-text, color-dimmed);
54
55
  }
55
56
  }
56
57
  }
57
58
 
58
59
  &.weak {
59
- @include pep-qs-states($pepperi-theme, weak);
60
+ @include pep-qs-states(weak);
60
61
  }
61
62
 
62
63
  &.regular {
63
- @include pep-qs-states($pepperi-theme, regular);
64
+ @include pep-qs-states(regular);
64
65
  }
65
66
 
66
67
  &.strong {
67
- @include pep-qs-states($pepperi-theme, strong);
68
+ @include pep-qs-states(strong);
68
69
  }
69
70
 
70
71
  &.matrix-qs {
71
72
  .additional-value {
72
- @include pep-badge($pepperi-theme);
73
+ @include mixins.pep-badge();
73
74
  }
74
75
  }
75
-
76
76
  }
77
77
  }
@@ -0,0 +1,8 @@
1
+ import { PepSmartFilterBaseField } from '@pepperi-addons/ngx-lib/smart-filters';
2
+ export interface IPepQueryBuilderFieldContainer {
3
+ smart: PepSmartFilterBaseField;
4
+ query: IPepQueryBuilderFieldType;
5
+ }
6
+ export interface IPepQueryBuilderFieldType {
7
+ fieldType: string;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { IPepSmartFilterOperatorUnit } from '@pepperi-addons/ngx-lib/smart-filters';
2
+ export interface IPepQueryBuilderValues {
3
+ first: any;
4
+ second: any;
5
+ operationUnit: IPepSmartFilterOperatorUnit;
6
+ }
@@ -0,0 +1,29 @@
1
+ import { KeyValuePair } from '@pepperi-addons/ngx-lib';
2
+ import { PepOperatorTypes } from './type';
3
+ import { PepSmartFilterBaseField } from '@pepperi-addons/ngx-lib/smart-filters';
4
+ export interface IPepQueryBuilderFieldContainer {
5
+ smart: PepSmartFilterBaseField;
6
+ query: IPepQueryBuilderFieldType;
7
+ }
8
+ export interface IPepQueryBuilderFieldType {
9
+ fieldType: string;
10
+ }
11
+ export interface IPepQueryBuilderField {
12
+ FieldID: string;
13
+ FieldType: string;
14
+ Title: string;
15
+ OptionalValues: Array<KeyValuePair<string>>;
16
+ }
17
+ export interface IPepQuerySection {
18
+ ComplexId: string;
19
+ Operation: PepOperatorTypes;
20
+ LeftNode?: IPepQuerySection | IPepQueryItem;
21
+ RightNode?: IPepQuerySection | IPepQueryItem;
22
+ }
23
+ export interface IPepQueryItem {
24
+ ExpressionId: string;
25
+ ApiName: string;
26
+ FieldType: string;
27
+ Operation: string;
28
+ Values: any[];
29
+ }
@@ -0,0 +1,13 @@
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;
@@ -0,0 +1,21 @@
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;
@@ -0,0 +1,4 @@
1
+ export interface IPepQueryDepth {
2
+ current: number;
3
+ max: number;
4
+ }
@@ -0,0 +1,12 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum PepOperatorTypes {
2
+ And = "AND",
3
+ Or = "OR"
4
+ }
@@ -0,0 +1,44 @@
1
+ import { IPepQuerySection, IPepQueryItem } from '../model/legacy';
2
+ export declare class PepOutputQueryService {
3
+ private _complexIdCounter;
4
+ private _expressionIdCounter;
5
+ constructor();
6
+ /**
7
+ * generates a legacy query structure
8
+ * @param filters UI smart filters structure
9
+ * @returns legacy query
10
+ */
11
+ generateQuery(filters: any): IPepQuerySection | IPepQueryItem;
12
+ /**
13
+ * init params
14
+ */
15
+ private initParams;
16
+ /**
17
+ * a recursive function dynamically builds legacy query structure
18
+ * @param current UI object represents either a section or filter component
19
+ * @returns section query data
20
+ */
21
+ private sectionWalk;
22
+ /**
23
+ * adds a legacy filter object to the current query structure
24
+ * @param section section query data
25
+ * @param item filter item
26
+ * @param operator query operator
27
+ * @returns
28
+ */
29
+ private addToSection;
30
+ /**
31
+ * creates a legacy complex object
32
+ * @param left LeftNode object
33
+ * @param right RightNode object
34
+ * @param operator query operator
35
+ * @returns legacy complex object
36
+ */
37
+ private createSection;
38
+ /**
39
+ * gets legacy filter values object
40
+ * @param current UI filter object's values
41
+ * @returns an array represents legacy values
42
+ */
43
+ private getItemValues;
44
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,8 @@
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 ɵb } from './common/services/type-convertor.service';
7
+ export { PepQueryBuilderItemComponent as ɵd } from './query-builder-item/query-builder-item.component';
8
+ export { PepQueryBuilderSectionComponent as ɵc } from './query-builder-section/query-builder-section.component';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"PepQueryBuilderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":17,"character":8},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":18,"character":8},{"__symbolic":"reference","module":"@pepperi-addons/ngx-lib/select","name":"PepSelectModule","line":19,"character":8},{"__symbolic":"reference","module":"@pepperi-addons/ngx-lib/button","name":"PepButtonModule","line":20,"character":8},{"__symbolic":"reference","module":"@pepperi-addons/ngx-lib/group-buttons","name":"PepGroupButtonsModule","line":21,"character":8},{"__symbolic":"reference","module":"@pepperi-addons/ngx-lib/smart-filters","name":"PepSmartFiltersModule","line":22,"character":8}],"exports":[{"__symbolic":"reference","name":"PepQueryBuilderComponent"}],"declarations":[{"__symbolic":"reference","name":"PepQueryBuilderComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}]}]}],"members":{}},"PepQueryBuilderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"pep-query-builder","providers":[{"__symbolic":"reference","name":"PepQueryBuilderService"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵa"}],"template":"<pep-query-builder-section #rootContainer [form]=\"queryBuilderService.form\" [depth]=\"depth\" [hasFields]=\"hasFields\"\n (createSection)=\"onCreateSection()\" (createItem)=\"onCreateItem()\" (operatorChange)=\"onOperatorChange()\">\n</pep-query-builder-section>","styles":[""]}]}],"members":{"query":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"fields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"maxDepth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"queryChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":5}}]}],"formValidationChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"root":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":48,"character":5},"arguments":["rootContainer",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":57,"character":21},{"__symbolic":"reference","name":"PepQueryBuilderService"}]}],"ngOnInit":[{"__symbolic":"method"}],"setupForm":[{"__symbolic":"method"}],"initDepth":[{"__symbolic":"method"}],"loadQuery":[{"__symbolic":"method"}],"onCreateSection":[{"__symbolic":"method"}],"onCreateItem":[{"__symbolic":"method"}],"onOperatorChange":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"PepQueryBuilderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":27,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":37,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":37,"character":61},{"__symbolic":"reference","name":"ɵa"}]}],"buildQueryStructure":[{"__symbolic":"method"}],"hasProperty":[{"__symbolic":"method"}],"flatten":[{"__symbolic":"method"}],"createSection":[{"__symbolic":"method"}],"createItem":[{"__symbolic":"method"}],"getFilter":[{"__symbolic":"method"}],"getSelectedField":[{"__symbolic":"method"}],"getFilterValues":[{"__symbolic":"method"}],"convertToSmartFilterFields":[{"__symbolic":"method"}],"createOutputQuery":[{"__symbolic":"method"}]}},"IPepQueryBuilderFieldContainer":{"__symbolic":"interface"},"IPepQueryBuilderFieldType":{"__symbolic":"interface"},"IPepQueryBuilderField":{"__symbolic":"interface"},"IPepQuerySection":{"__symbolic":"interface"},"IPepQueryItem":{"__symbolic":"interface"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"generateQuery":[{"__symbolic":"method"}],"initParams":[{"__symbolic":"method"}],"sectionWalk":[{"__symbolic":"method"}],"addToSection":[{"__symbolic":"method"}],"createSection":[{"__symbolic":"method"}],"getItemValues":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"initOperators":[{"__symbolic":"method"}],"initBooleans":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"pep-query-builder-section","template":"<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>","styles":[".query-section-container{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);padding:.5rem;width:100%}",".query-section-container{box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid rgba(26,26,26,.24);border:1px solid hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)}"]}]}],"members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}}]}],"depth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"hasFields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":5}}]}],"createSection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":5}}]}],"createItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":29,"character":5}}]}],"remove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"operatorChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5}}]}],"sectionContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":36,"character":5},"arguments":["sectionContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":36,"character":43},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"initOperators":[{"__symbolic":"method"}],"onOperatorChanged":[{"__symbolic":"method"}],"onAddRuleClicked":[{"__symbolic":"method"}],"onAddRuleSetClicked":[{"__symbolic":"method"}],"onDeleteSectionClicked":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"pep-query-builder-item","template":"<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>","styles":["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}"]}]}],"members":{"formKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"fields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"selected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}}]}],"parentForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"filterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":5}}]}],"remove":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":61,"character":21},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}],"setupForm":[{"__symbolic":"method"}],"addToParentForm":[{"__symbolic":"method"}],"onFieldChanged":[{"__symbolic":"method"}],"onFilterChanged":[{"__symbolic":"method"}],"onDeleteItemClicked":[{"__symbolic":"method"}]}}},"origins":{"PepQueryBuilderModule":"./query-builder.module","PepQueryBuilderComponent":"./query-builder.component","PepQueryBuilderService":"./query-builder.service","IPepQueryBuilderFieldContainer":"./common/model/legacy","IPepQueryBuilderFieldType":"./common/model/legacy","IPepQueryBuilderField":"./common/model/legacy","IPepQuerySection":"./common/model/legacy","IPepQueryItem":"./common/model/legacy","ɵa":"./common/services/output-query.service","ɵb":"./common/services/type-convertor.service","ɵc":"./query-builder-section/query-builder-section.component","ɵd":"./query-builder-item/query-builder-item.component"},"importAs":"@pepperi-addons/ngx-lib/query-builder"}
@@ -0,0 +1,4 @@
1
+ export * from './query-builder.module';
2
+ export * from './query-builder.component';
3
+ export * from './query-builder.service';
4
+ export * from './common/model/legacy';
@@ -0,0 +1,37 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FormBuilder, FormGroup } from '@angular/forms';
3
+ import { PepSmartFilterBaseField } from '@pepperi-addons/ngx-lib/smart-filters';
4
+ import { IPepSmartFilterData } from '@pepperi-addons/ngx-lib/smart-filters';
5
+ import { IPepOption } from '@pepperi-addons/ngx-lib';
6
+ import { PepTypeConvertorService } from '../common/services/type-convertor.service';
7
+ import { IPepQueryBuilderFieldContainer } from '../common/model/field';
8
+ export declare class PepQueryBuilderItemComponent {
9
+ private _fb;
10
+ typeConvertorService: PepTypeConvertorService;
11
+ formKey: string;
12
+ _fields: Array<IPepQueryBuilderFieldContainer>;
13
+ _options: IPepOption[];
14
+ set fields(list: Array<IPepQueryBuilderFieldContainer>);
15
+ _selectedField: PepSmartFilterBaseField;
16
+ set selected(value: IPepQueryBuilderFieldContainer);
17
+ _filter: IPepSmartFilterData;
18
+ set filter(value: IPepSmartFilterData);
19
+ _parentForm: FormGroup;
20
+ set parentForm(value: FormGroup);
21
+ filterChange: EventEmitter<any>;
22
+ remove: EventEmitter<any>;
23
+ form: FormGroup;
24
+ constructor(_fb: FormBuilder, typeConvertorService: PepTypeConvertorService);
25
+ ngOnInit(): void;
26
+ get f(): {
27
+ [key: string]: import("@angular/forms").AbstractControl;
28
+ };
29
+ get queryForm(): {
30
+ [key: string]: import("@angular/forms").AbstractControl;
31
+ };
32
+ setupForm(): void;
33
+ addToParentForm(): void;
34
+ onFieldChanged(key: any): void;
35
+ onFilterChanged(): void;
36
+ onDeleteItemClicked(): void;
37
+ }
@@ -0,0 +1,27 @@
1
+ import { EventEmitter, ViewContainerRef } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { PepButton } from '@pepperi-addons/ngx-lib/button';
4
+ import { PepTypeConvertorService } from '../common/services/type-convertor.service';
5
+ import { IPepQueryDepth } from '../common/model/structure';
6
+ export declare class PepQueryBuilderSectionComponent {
7
+ private _typeConvertorService;
8
+ form: FormGroup;
9
+ depth: IPepQueryDepth;
10
+ hasFields: boolean;
11
+ createSection: EventEmitter<any>;
12
+ createItem: EventEmitter<any>;
13
+ remove: EventEmitter<any>;
14
+ operatorChange: EventEmitter<any>;
15
+ sectionContainer: ViewContainerRef;
16
+ toggleButtons: Array<PepButton>;
17
+ constructor(_typeConvertorService: PepTypeConvertorService);
18
+ ngOnInit(): void;
19
+ get f(): {
20
+ [key: string]: import("@angular/forms").AbstractControl;
21
+ };
22
+ initOperators(): void;
23
+ onOperatorChanged(event: any): void;
24
+ onAddRuleClicked(): void;
25
+ onAddRuleSetClicked(): void;
26
+ onDeleteSectionClicked(): void;
27
+ }
@@ -0,0 +1,7 @@
1
+ @use '../../src/core/style/abstracts/mixins';
2
+ @use '../../src/core/style/abstracts/functions';
3
+
4
+ .query-section-container {
5
+ box-shadow: functions.get-pep-shadow(shadow-sm, soft);
6
+ @include mixins.border(border, 1px, solid, functions.get-pep-color(color-system-primary, color-tran-50));
7
+ }
@@ -0,0 +1,35 @@
1
+ import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
2
+ import { FormBuilder } from '@angular/forms';
3
+ import { PepQueryBuilderSectionComponent } from './query-builder-section/query-builder-section.component';
4
+ import { IPepQueryBuilderField, IPepQuerySection, IPepQueryItem } from './common/model/legacy';
5
+ import { PepQueryBuilderService } from './query-builder.service';
6
+ import { IPepQueryDepth } from './common/model/structure';
7
+ import { Subscription } from 'rxjs';
8
+ export declare class PepQueryBuilderComponent implements OnInit, OnDestroy {
9
+ private _fb;
10
+ queryBuilderService: PepQueryBuilderService;
11
+ _query: IPepQuerySection | IPepQueryItem;
12
+ set query(object: IPepQuerySection | IPepQueryItem);
13
+ set fields(list: Array<IPepQueryBuilderField>);
14
+ set maxDepth(value: number);
15
+ queryChange: EventEmitter<IPepQuerySection | IPepQueryItem>;
16
+ formValidationChange: EventEmitter<boolean>;
17
+ root: PepQueryBuilderSectionComponent;
18
+ _formSubscription$: Subscription;
19
+ _outputQuerySubscription$: Subscription;
20
+ _lastFormValidStatus: boolean;
21
+ depth: IPepQueryDepth;
22
+ hasFields: boolean;
23
+ constructor(_fb: FormBuilder, queryBuilderService: PepQueryBuilderService);
24
+ ngOnInit(): void;
25
+ setupForm(): void;
26
+ initDepth(): void;
27
+ /**
28
+ * builds UI query structure as soon as both the fields and query loads
29
+ */
30
+ loadQuery(): void;
31
+ onCreateSection(): void;
32
+ onCreateItem(): void;
33
+ onOperatorChange(): void;
34
+ ngOnDestroy(): void;
35
+ }
@@ -0,0 +1,2 @@
1
+ export declare class PepQueryBuilderModule {
2
+ }
@@ -0,0 +1,94 @@
1
+ import { ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
2
+ import { FormBuilder, FormGroup } from '@angular/forms';
3
+ import { IPepQueryBuilderField, IPepQuerySection, IPepQueryItem } from './common/model/legacy';
4
+ import { PepOutputQueryService } from './common/services/output-query.service';
5
+ import { PepOperatorTypes } from './common/model/type';
6
+ export declare class PepQueryBuilderService {
7
+ private _fb;
8
+ private _resolver;
9
+ private _outputQueryService;
10
+ private _outputQuery$;
11
+ private _smartFilterFields;
12
+ private _form;
13
+ private _maxStructureDepth;
14
+ outputQuery$: import("rxjs").Observable<IPepQuerySection | IPepQueryItem>;
15
+ constructor(_fb: FormBuilder, _resolver: ComponentFactoryResolver, _outputQueryService: PepOutputQueryService);
16
+ set maxDepth(value: number);
17
+ get maxDepth(): number;
18
+ set fields(list: Array<IPepQueryBuilderField>);
19
+ get hasFields(): boolean;
20
+ set form(value: FormGroup);
21
+ get form(): FormGroup;
22
+ /**
23
+ * builds a dynamic UI query structure
24
+ * might has a different structure than the query's due to parent-child elements merge
25
+ * @param query legacy query
26
+ * @param containerRef reference to root element
27
+ */
28
+ buildQueryStructure(query: IPepQuerySection | IPepQueryItem, containerRef: ViewContainerRef): void;
29
+ /**
30
+ * checks if the object contains property
31
+ * @param obj object
32
+ * @param prop property name
33
+ * @returns true if contains, false otherwise
34
+ */
35
+ private hasProperty;
36
+ /**
37
+ * a recursive function dynamically builds UI filters structure
38
+ * @param parentOperator parent legacy complex operator
39
+ * @param current child legacy object (either another complex or expression type)
40
+ * @param containerRef parent element
41
+ * @param parentForm parent form
42
+ */
43
+ private flatten;
44
+ /**
45
+ * creates a container object of two or more child filter items
46
+ * @param operator AND/OR operator
47
+ * @param containerRef parent element
48
+ * @param parentForm parent form
49
+ * @param depth
50
+ * @returns an object containing the current element and current form
51
+ */
52
+ createSection(operator: PepOperatorTypes, containerRef: ViewContainerRef, parentForm: FormGroup, depth: number): {
53
+ containerRef: ViewContainerRef;
54
+ parentForm: FormGroup;
55
+ };
56
+ /**
57
+ * creates a component represents filter item (leaf element - has no childs)
58
+ * @param current filter legacy element
59
+ * @param containerRef parent element
60
+ * @param parentForm parent form
61
+ */
62
+ createItem(current: IPepQueryItem, containerRef: ViewContainerRef, parentForm: FormGroup): void;
63
+ /**
64
+ * creates a smart filter object
65
+ * @param current filter legacy element
66
+ * @param field filter's selected field
67
+ * @returns smart filter object
68
+ */
69
+ private getFilter;
70
+ /**
71
+ * get smart filter field
72
+ * @param current filter legacy element
73
+ * @returns smart filter field, if not found returns the first field
74
+ */
75
+ private getSelectedField;
76
+ /**
77
+ * gets smart filter's values data
78
+ * @param current filter legacy element
79
+ * @param operator smart filter operator
80
+ * @param field filter's selected field
81
+ * @returns object contains the filter values data
82
+ */
83
+ private getFilterValues;
84
+ /**
85
+ * converts legacy fields to smart filter fields
86
+ * @param fields legacy fields array
87
+ * @returns smart filter fields array
88
+ */
89
+ private convertToSmartFilterFields;
90
+ /**
91
+ * creates a legacy output query
92
+ */
93
+ createOutputQuery(): void;
94
+ }