@acorex/components 6.5.70 → 6.5.90

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 (475) hide show
  1. package/README.md +7 -3
  2. package/esm2022/acorex-components.mjs +5 -0
  3. package/esm2022/index.mjs +158 -0
  4. package/esm2022/lib/accordion/accordion.component.mjs +45 -0
  5. package/esm2022/lib/accordion/accordion.module.mjs +20 -0
  6. package/esm2022/lib/base/base-page.class.mjs +95 -0
  7. package/esm2022/lib/base/components.class.mjs +17 -0
  8. package/esm2022/lib/base/element.class.mjs +301 -0
  9. package/esm2022/lib/base/events.class.mjs +17 -0
  10. package/esm2022/lib/button/button.component.mjs +74 -0
  11. package/esm2022/lib/button/button.module.mjs +21 -0
  12. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +426 -0
  13. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  14. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +59 -0
  15. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +16 -0
  16. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +226 -0
  17. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  18. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +136 -0
  19. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  20. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +49 -0
  21. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +102 -0
  22. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +214 -0
  23. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  24. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +85 -0
  25. package/esm2022/lib/checkbox/checkbox.component.mjs +102 -0
  26. package/esm2022/lib/checkbox/checkbox.module.mjs +20 -0
  27. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +423 -0
  28. package/esm2022/lib/color-picker/color-picker.component.mjs +89 -0
  29. package/esm2022/lib/color-picker/color-picker.module.mjs +24 -0
  30. package/esm2022/lib/context-menu/context-menu.component.mjs +68 -0
  31. package/esm2022/lib/context-menu/context-menu.directive.mjs +146 -0
  32. package/esm2022/lib/context-menu/context-menu.module.mjs +20 -0
  33. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +140 -0
  34. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +119 -0
  35. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +75 -0
  36. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +119 -0
  37. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +267 -0
  38. package/esm2022/lib/data-filter/filter.class.mjs +46 -0
  39. package/esm2022/lib/data-filter/filter.module.mjs +88 -0
  40. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +168 -0
  41. package/esm2022/lib/data-list/core/data-list.component.mjs +37 -0
  42. package/esm2022/lib/data-list/list/list.component.mjs +134 -0
  43. package/esm2022/lib/data-list/list/list.module.mjs +22 -0
  44. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +84 -0
  45. package/esm2022/lib/data-source/datasource.component.mjs +47 -0
  46. package/esm2022/lib/data-source/datasource.module.mjs +18 -0
  47. package/esm2022/lib/data-source/read-param.mjs +7 -0
  48. package/esm2022/lib/date-picker/date-picker.component.mjs +718 -0
  49. package/esm2022/lib/date-picker/date-picker.module.mjs +49 -0
  50. package/esm2022/lib/dialog/dialog.component.mjs +26 -0
  51. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  52. package/esm2022/lib/dialog/dialog.service.mjs +160 -0
  53. package/esm2022/lib/drawer/content.component.mjs +18 -0
  54. package/esm2022/lib/drawer/drawer-container.component.mjs +38 -0
  55. package/esm2022/lib/drawer/drawer.component.mjs +146 -0
  56. package/esm2022/lib/drawer/drawer.module.mjs +23 -0
  57. package/esm2022/lib/dropdown/dropdown.component.mjs +186 -0
  58. package/esm2022/lib/dropdown/dropdown.module.mjs +26 -0
  59. package/esm2022/lib/fieldset/fieldset.component.mjs +57 -0
  60. package/esm2022/lib/fieldset/fieldset.module.mjs +19 -0
  61. package/esm2022/lib/form-group/form-group.component.mjs +37 -0
  62. package/esm2022/lib/form-group/form-group.module.mjs +21 -0
  63. package/esm2022/lib/label/label.component.mjs +19 -0
  64. package/esm2022/lib/label/label.module.mjs +21 -0
  65. package/esm2022/lib/loading/loading-indicator.component.mjs +18 -0
  66. package/esm2022/lib/loading/loading-panel.component.mjs +45 -0
  67. package/esm2022/lib/loading/loading.module.mjs +21 -0
  68. package/esm2022/lib/loading/loading.service.mjs +47 -0
  69. package/esm2022/lib/menu/menu-item.component.mjs +50 -0
  70. package/esm2022/lib/menu/menu.component.mjs +98 -0
  71. package/esm2022/lib/menu/menu.module.mjs +22 -0
  72. package/esm2022/lib/menu/menu2.component.mjs +100 -0
  73. package/esm2022/lib/number-box/number-box.component.mjs +628 -0
  74. package/esm2022/lib/number-box/number-box.module.mjs +21 -0
  75. package/esm2022/lib/page/content.component.mjs +27 -0
  76. package/esm2022/lib/page/footer.component.mjs +19 -0
  77. package/esm2022/lib/page/page.component.mjs +57 -0
  78. package/esm2022/lib/page/page.module.mjs +22 -0
  79. package/esm2022/lib/panel-box/panel-box.component.mjs +87 -0
  80. package/esm2022/lib/panel-box/panel-box.module.mjs +19 -0
  81. package/esm2022/lib/password-box/password-box.component.mjs +32 -0
  82. package/esm2022/lib/password-box/password-box.module.mjs +23 -0
  83. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +50 -0
  84. package/esm2022/lib/popover/overlay.service.mjs +94 -0
  85. package/esm2022/lib/popover/popover.component.mjs +145 -0
  86. package/esm2022/lib/popover/popover.module.mjs +19 -0
  87. package/esm2022/lib/popup/popup.component.mjs +159 -0
  88. package/esm2022/lib/popup/popup.module.mjs +25 -0
  89. package/esm2022/lib/popup/popup.service.mjs +94 -0
  90. package/esm2022/lib/progress-bar/progress-bar.component.mjs +16 -0
  91. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  92. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +65 -0
  93. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  94. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +41 -0
  95. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  96. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +118 -0
  97. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  98. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +216 -0
  99. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +76 -0
  100. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +87 -0
  101. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  102. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +66 -0
  103. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  104. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +145 -0
  105. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +59 -0
  106. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +76 -0
  107. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +75 -0
  108. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  109. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +73 -0
  110. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  111. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +30 -0
  112. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  113. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +36 -0
  114. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  115. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +35 -0
  116. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  117. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +47 -0
  118. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  119. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +167 -0
  120. package/esm2022/lib/property-editor/property-editor.class.mjs +108 -0
  121. package/esm2022/lib/property-editor/property-editor.module.mjs +194 -0
  122. package/esm2022/lib/query-builder/query-builder-group.component.mjs +129 -0
  123. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +177 -0
  124. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +428 -0
  125. package/esm2022/lib/query-builder/query-builder.class.mjs +42 -0
  126. package/esm2022/lib/query-builder/query-builder.component.mjs +92 -0
  127. package/esm2022/lib/query-builder/query-builder.module.mjs +62 -0
  128. package/esm2022/lib/query-builder/query-builder.service.mjs +199 -0
  129. package/esm2022/lib/search-bar/search-bar.component.mjs +293 -0
  130. package/esm2022/lib/search-bar/search-bar.module.mjs +61 -0
  131. package/esm2022/lib/searchbox/searchbox.component.mjs +82 -0
  132. package/esm2022/lib/searchbox/searchbox.module.mjs +24 -0
  133. package/esm2022/lib/selectbox/selectbox.component.mjs +1025 -0
  134. package/esm2022/lib/selectbox/selectbox.module.mjs +44 -0
  135. package/esm2022/lib/selectbox/selectbox2.component.mjs +617 -0
  136. package/esm2022/lib/selection-list/selection-list.component.mjs +113 -0
  137. package/esm2022/lib/selection-list/selection-list.module.mjs +21 -0
  138. package/esm2022/lib/switch/switch.component.mjs +55 -0
  139. package/esm2022/lib/switch/switch.module.mjs +20 -0
  140. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +75 -0
  141. package/esm2022/lib/tab-page/tab-page-host.component.mjs +124 -0
  142. package/esm2022/lib/tab-page/tab-page.module.mjs +21 -0
  143. package/esm2022/lib/tab-page/tab-page.service.mjs +158 -0
  144. package/esm2022/lib/tab-strip/tab-strip.component.mjs +38 -0
  145. package/esm2022/lib/tab-strip/tab-strip.module.mjs +19 -0
  146. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +25 -0
  147. package/esm2022/lib/tab-view/tab-view.component.mjs +110 -0
  148. package/esm2022/lib/tab-view/tab-view.module.mjs +21 -0
  149. package/esm2022/lib/tab-view/tab.component.mjs +33 -0
  150. package/esm2022/lib/textarea/textarea.component.mjs +27 -0
  151. package/esm2022/lib/textarea/textarea.module.mjs +21 -0
  152. package/esm2022/lib/textbox/textbox.component.mjs +42 -0
  153. package/esm2022/lib/textbox/textbox.module.mjs +36 -0
  154. package/esm2022/lib/time-picker/time-picker.component.mjs +1104 -0
  155. package/esm2022/lib/time-picker/time-picker.module.mjs +34 -0
  156. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +76 -0
  157. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  158. package/esm2022/lib/toast/toast.module.mjs +21 -0
  159. package/esm2022/lib/toast/toast.service.mjs +45 -0
  160. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +77 -0
  161. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +62 -0
  162. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +56 -0
  163. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +37 -0
  164. package/esm2022/lib/toolbar/toolbar-item.mjs +4 -0
  165. package/esm2022/lib/toolbar/toolbar.component.mjs +13 -0
  166. package/esm2022/lib/toolbar/toolbar.module.mjs +40 -0
  167. package/esm2022/lib/tooltip/tooltip.directive.mjs +104 -0
  168. package/esm2022/lib/tooltip/tooltip.module.mjs +19 -0
  169. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +697 -0
  170. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +33 -0
  171. package/esm2022/lib/tree-view/tree-view.component.mjs +854 -0
  172. package/esm2022/lib/tree-view/tree-view.module.mjs +22 -0
  173. package/esm2022/lib/upload-file/upload-file.component.mjs +218 -0
  174. package/esm2022/lib/upload-file/upload-file.events.mjs +2 -0
  175. package/esm2022/lib/upload-file/upload-file.module.mjs +24 -0
  176. package/esm2022/lib/validation/validation-form.component.mjs +68 -0
  177. package/esm2022/lib/validation/validation-rule.widget.mjs +114 -0
  178. package/esm2022/lib/validation/validation.class.mjs +2 -0
  179. package/esm2022/lib/validation/validation.component.mjs +89 -0
  180. package/esm2022/lib/validation/validation.module.mjs +34 -0
  181. package/{fesm2020 → fesm2022}/acorex-components.mjs +3987 -3087
  182. package/fesm2022/acorex-components.mjs.map +1 -0
  183. package/lib/accordion/accordion.component.d.ts +1 -1
  184. package/lib/base/base-page.class.d.ts +2 -2
  185. package/lib/base/element.class.d.ts +6 -6
  186. package/lib/button/button.component.d.ts +1 -1
  187. package/lib/calendar/calendar-box/calendar-box.component.d.ts +6 -6
  188. package/lib/calendar/scheduler/scheduler-views.property.d.ts +2 -2
  189. package/lib/calendar/scheduler/scheduler.class.d.ts +1 -1
  190. package/lib/calendar/scheduler/scheduler.component.d.ts +1 -1
  191. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +1 -1
  192. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +1 -1
  193. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +1 -1
  194. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +1 -1
  195. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +1 -1
  196. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +1 -1
  197. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +1 -1
  198. package/lib/checkbox/checkbox.component.d.ts +1 -1
  199. package/lib/color-picker/color-box/color-box.component.d.ts +1 -1
  200. package/lib/color-picker/color-picker.component.d.ts +1 -1
  201. package/lib/context-menu/context-menu.component.d.ts +1 -1
  202. package/lib/context-menu/context-menu.directive.d.ts +3 -3
  203. package/lib/data-filter/columns/filter-column-date.component.d.ts +1 -1
  204. package/lib/data-filter/columns/filter-column-number.component.d.ts +1 -1
  205. package/lib/data-filter/columns/filter-column-selection.component.d.ts +1 -1
  206. package/lib/data-filter/columns/filter-column-string.component.d.ts +1 -1
  207. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +1 -1
  208. package/lib/data-filter/filter.class.d.ts +1 -1
  209. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +1 -1
  210. package/lib/data-list/core/data-list.component.d.ts +1 -1
  211. package/lib/data-list/list/list.component.d.ts +1 -1
  212. package/lib/data-list/list/toolbar-list-view.component.d.ts +2 -2
  213. package/lib/data-source/datasource.component.d.ts +1 -1
  214. package/lib/date-picker/date-picker.component.d.ts +1 -1
  215. package/lib/date-picker/date-picker.module.d.ts +2 -2
  216. package/lib/dialog/dialog.component.d.ts +1 -1
  217. package/lib/drawer/content.component.d.ts +1 -1
  218. package/lib/drawer/drawer-container.component.d.ts +1 -1
  219. package/lib/drawer/drawer.component.d.ts +3 -3
  220. package/lib/dropdown/dropdown.component.d.ts +1 -1
  221. package/lib/fieldset/fieldset.component.d.ts +1 -1
  222. package/lib/form-group/form-group.component.d.ts +1 -1
  223. package/lib/label/label.component.d.ts +1 -1
  224. package/lib/loading/loading-indicator.component.d.ts +1 -1
  225. package/lib/loading/loading-panel.component.d.ts +1 -1
  226. package/lib/menu/menu-item.component.d.ts +1 -1
  227. package/lib/menu/menu.component.d.ts +1 -1
  228. package/lib/menu/menu2.component.d.ts +1 -1
  229. package/lib/number-box/number-box.component.d.ts +1 -1
  230. package/lib/page/content.component.d.ts +1 -1
  231. package/lib/page/footer.component.d.ts +1 -1
  232. package/lib/page/page.component.d.ts +1 -1
  233. package/lib/panel-box/panel-box.component.d.ts +1 -1
  234. package/lib/password-box/password-box.component.d.ts +1 -1
  235. package/lib/popover/popover.component.d.ts +1 -1
  236. package/lib/popup/popup.component.d.ts +1 -1
  237. package/lib/progress-bar/progress-bar.component.d.ts +1 -1
  238. package/lib/property-editor/editors/check-editor/check-editor.d.ts +1 -1
  239. package/lib/property-editor/editors/color-editor/color.editor.d.ts +1 -1
  240. package/lib/property-editor/editors/column-editor/column.editor.d.ts +1 -1
  241. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +1 -1
  242. package/lib/property-editor/editors/date-editor/date.editor.d.ts +1 -1
  243. package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -1
  244. package/lib/property-editor/editors/range-editor/range.editor.d.ts +1 -1
  245. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +1 -1
  246. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +1 -1
  247. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +1 -1
  248. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +1 -1
  249. package/lib/property-editor/editors/text-editor/text.editor.d.ts +1 -1
  250. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +1 -1
  251. package/lib/property-editor/editors/time-editor/time.editor.d.ts +1 -1
  252. package/lib/property-editor/property-editor-renderer.directive.d.ts +1 -1
  253. package/lib/property-editor/property-editor.class.d.ts +3 -3
  254. package/lib/query-builder/query-builder-group.component.d.ts +1 -1
  255. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +1 -1
  256. package/lib/query-builder/query-builder-rule.component.d.ts +3 -3
  257. package/lib/query-builder/query-builder.class.d.ts +4 -4
  258. package/lib/query-builder/query-builder.component.d.ts +1 -1
  259. package/lib/search-bar/search-bar.component.d.ts +1 -1
  260. package/lib/searchbox/searchbox.component.d.ts +1 -1
  261. package/lib/selectbox/selectbox.component.d.ts +1 -1
  262. package/lib/selectbox/selectbox2.component.d.ts +1 -1
  263. package/lib/selection-list/selection-list.component.d.ts +2 -2
  264. package/lib/switch/switch.component.d.ts +1 -1
  265. package/lib/tab-page/tab-page-Renderer.component.d.ts +1 -1
  266. package/lib/tab-page/tab-page-host.component.d.ts +1 -1
  267. package/lib/tab-strip/tab-strip.component.d.ts +1 -1
  268. package/lib/tab-view/dynamic-tabs.directive.d.ts +1 -1
  269. package/lib/tab-view/tab-view.component.d.ts +1 -1
  270. package/lib/tab-view/tab.component.d.ts +1 -1
  271. package/lib/textarea/textarea.component.d.ts +1 -1
  272. package/lib/textbox/textbox.component.d.ts +1 -1
  273. package/lib/textbox/textbox.module.d.ts +2 -2
  274. package/lib/time-picker/time-picker.component.d.ts +1 -1
  275. package/lib/time-picker/time-picker.module.d.ts +2 -2
  276. package/lib/toast/toast-message/toast-message.component.d.ts +1 -1
  277. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +1 -1
  278. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +1 -1
  279. package/lib/toolbar/menu/toolbar-menu.component.d.ts +1 -1
  280. package/lib/toolbar/search/toolbar-search.component.d.ts +1 -1
  281. package/lib/toolbar/title/toolbar-title.component.d.ts +1 -1
  282. package/lib/toolbar/toolbar.component.d.ts +1 -1
  283. package/lib/tooltip/tooltip.directive.d.ts +1 -1
  284. package/lib/tree-side-menu/tree-side-menu.component.d.ts +1 -1
  285. package/lib/tree-view/tree-view.component.d.ts +1 -1
  286. package/lib/upload-file/upload-file.component.d.ts +1 -1
  287. package/lib/validation/validation-form.component.d.ts +1 -1
  288. package/lib/validation/validation-rule.widget.d.ts +1 -1
  289. package/lib/validation/validation.class.d.ts +1 -1
  290. package/lib/validation/validation.component.d.ts +1 -1
  291. package/package.json +15 -20
  292. package/acorex-components.d.ts +0 -5
  293. package/esm2020/acorex-components.mjs +0 -5
  294. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  295. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  296. package/esm2020/lib/base/base-page.class.mjs +0 -94
  297. package/esm2020/lib/base/components.class.mjs +0 -17
  298. package/esm2020/lib/base/element.class.mjs +0 -294
  299. package/esm2020/lib/base/events.class.mjs +0 -11
  300. package/esm2020/lib/button/button.component.mjs +0 -71
  301. package/esm2020/lib/button/button.module.mjs +0 -21
  302. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  303. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  304. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  305. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  306. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  307. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  308. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  309. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  310. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  311. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  312. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  313. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  314. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  315. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  316. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  317. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  318. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  319. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  320. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  321. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  322. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  323. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  324. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  325. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  326. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  327. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  328. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  329. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  330. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  331. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  332. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  333. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  334. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  335. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  336. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  337. package/esm2020/lib/data-source/read-param.mjs +0 -5
  338. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
  339. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  340. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  341. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  342. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  343. package/esm2020/lib/drawer/content.component.mjs +0 -18
  344. package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
  345. package/esm2020/lib/drawer/drawer.component.mjs +0 -142
  346. package/esm2020/lib/drawer/drawer.module.mjs +0 -23
  347. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
  348. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  349. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  350. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  351. package/esm2020/lib/form-group/form-group.component.mjs +0 -34
  352. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  353. package/esm2020/lib/label/label.component.mjs +0 -19
  354. package/esm2020/lib/label/label.module.mjs +0 -21
  355. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  356. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  357. package/esm2020/lib/loading/loading.module.mjs +0 -21
  358. package/esm2020/lib/loading/loading.service.mjs +0 -45
  359. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  360. package/esm2020/lib/menu/menu.component.mjs +0 -86
  361. package/esm2020/lib/menu/menu.module.mjs +0 -22
  362. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  363. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  364. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  365. package/esm2020/lib/page/content.component.mjs +0 -32
  366. package/esm2020/lib/page/footer.component.mjs +0 -19
  367. package/esm2020/lib/page/page.component.mjs +0 -53
  368. package/esm2020/lib/page/page.module.mjs +0 -22
  369. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  370. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  371. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  372. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  373. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  374. package/esm2020/lib/popover/overlay.service.mjs +0 -91
  375. package/esm2020/lib/popover/popover.component.mjs +0 -133
  376. package/esm2020/lib/popover/popover.module.mjs +0 -19
  377. package/esm2020/lib/popup/popup.component.mjs +0 -147
  378. package/esm2020/lib/popup/popup.module.mjs +0 -25
  379. package/esm2020/lib/popup/popup.service.mjs +0 -93
  380. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  381. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  382. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
  383. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  384. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  385. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  386. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  387. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  388. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  389. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  390. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  391. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  392. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
  393. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  394. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  395. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  396. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
  397. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  398. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  399. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
  400. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  401. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  402. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  403. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
  404. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  405. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  406. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  407. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  408. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  409. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -157
  410. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -102
  411. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
  412. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  413. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -172
  414. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -399
  415. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  416. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -87
  417. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
  418. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
  419. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -286
  420. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
  421. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
  422. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  423. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
  424. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  425. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  426. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
  427. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  428. package/esm2020/lib/switch/switch.component.mjs +0 -51
  429. package/esm2020/lib/switch/switch.module.mjs +0 -20
  430. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
  431. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -114
  432. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  433. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -160
  434. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  435. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  436. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  437. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  438. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  439. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  440. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  441. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  442. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  443. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  444. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  445. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  446. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  447. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  448. package/esm2020/lib/toast/toast.module.mjs +0 -21
  449. package/esm2020/lib/toast/toast.service.mjs +0 -44
  450. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  451. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  452. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  453. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  454. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  455. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  456. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  457. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  458. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  459. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  460. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  461. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
  462. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  463. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
  464. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  465. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  466. package/esm2020/lib/validation/validation-form.component.mjs +0 -65
  467. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  468. package/esm2020/lib/validation/validation.class.mjs +0 -2
  469. package/esm2020/lib/validation/validation.component.mjs +0 -89
  470. package/esm2020/lib/validation/validation.module.mjs +0 -34
  471. package/esm2020/public-api.mjs +0 -158
  472. package/fesm2015/acorex-components.mjs +0 -16012
  473. package/fesm2015/acorex-components.mjs.map +0 -1
  474. package/fesm2020/acorex-components.mjs.map +0 -1
  475. /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,92 @@
1
+ import { AXBaseComponent } from '../base/element.class';
2
+ import { Component, Input, Output, EventEmitter, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';
3
+ import { AXQueryBuilderGroup } from './query-builder.class';
4
+ import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
5
+ import { AXToastService } from '../toast/toast.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../toast/toast.service";
8
+ import * as i2 from "./query-builder-group.component";
9
+ export class AXQueryBuilderComponent extends AXBaseComponent {
10
+ ref;
11
+ toast;
12
+ queryGroup;
13
+ query;
14
+ mode = 'new';
15
+ rootGroup = new AXQueryBuilderGroup();
16
+ ngOnInit() {
17
+ this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
18
+ this.rootGroup.items = this.query.items ? this.query.items : [];
19
+ }
20
+ constructor(ref, toast) {
21
+ super();
22
+ this.ref = ref;
23
+ this.toast = toast;
24
+ }
25
+ _fields;
26
+ get fields() {
27
+ return this._fields;
28
+ }
29
+ set fields(v) {
30
+ this._fields = v;
31
+ }
32
+ // @Input()
33
+ // mode: 'immediate' | 'click' = 'click';
34
+ onRuleChanged = new EventEmitter();
35
+ saved = false;
36
+ getQueryBuilder() {
37
+ return { groups: this.rootGroup };
38
+ }
39
+ ruleChanged(e) {
40
+ this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
41
+ }
42
+ saveRule() {
43
+ /// return this.queryGroup.saveRule();
44
+ return new Promise((resolve, reject) => {
45
+ this.saved = true;
46
+ for (let i = 0; i < this.rootGroup.items.length; i++) {
47
+ if (this.saved == true) {
48
+ this.findNullValue(this.rootGroup.items[i]);
49
+ }
50
+ }
51
+ if (this.saved == true) {
52
+ resolve(this.rootGroup);
53
+ }
54
+ else {
55
+ reject();
56
+ }
57
+ });
58
+ }
59
+ findNullValue(gr) {
60
+ if (this.saved == true) {
61
+ if (gr.condition) {
62
+ for (let i = 0; i < gr.items.length; i++) {
63
+ this.findNullValue(gr.items[i]);
64
+ }
65
+ }
66
+ else {
67
+ if (gr.onDemandLabel == '????|') {
68
+ this.saved = false;
69
+ this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
70
+ }
71
+ }
72
+ }
73
+ }
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXToastService }], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AXQueryBuilderComponent, selector: "ax-query-builder", inputs: { query: "query", mode: "mode", fields: "fields" }, outputs: { onRuleChanged: "onRuleChanged" }, viewQueries: [{ propertyName: "queryGroup", first: true, predicate: ["queryGroup"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\r\n (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>", styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;padding-inline-start:0px}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:all .5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{margin-inline-start:10px;border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:all .5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-rule:hover,.ax-query-group .ax-query-rule .add-group:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-group,.ax-query-group .ax-query-rule .add-condition{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}\n"], dependencies: [{ kind: "component", type: i2.AXQueryBuilderGroupComponent, selector: "ax-query-group", inputs: ["group", "parent", "fields", "mode"], outputs: ["groupRuleChanged"] }], encapsulation: i0.ViewEncapsulation.None });
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'ax-query-builder', encapsulation: ViewEncapsulation.None, template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\r\n (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>", styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;padding-inline-start:0px}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:all .5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{margin-inline-start:10px;border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:all .5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-rule:hover,.ax-query-group .ax-query-rule .add-group:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-group,.ax-query-group .ax-query-rule .add-condition{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}\n"] }]
80
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXToastService }]; }, propDecorators: { queryGroup: [{
81
+ type: ViewChild,
82
+ args: ['queryGroup']
83
+ }], query: [{
84
+ type: Input
85
+ }], mode: [{
86
+ type: Input
87
+ }], fields: [{
88
+ type: Input
89
+ }], onRuleChanged: [{
90
+ type: Output
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLG1CQUFtQixFQUFxRCxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVF4RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQWdCdEM7SUFBeUI7SUFmcEIsVUFBVSxDQUErQjtJQUdsRSxLQUFLLENBQXNCO0lBRzNCLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBRTdCLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRTNELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMvRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FB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QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYVHJhbnNsYXRvciwgQVhIdG1sVXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXAsIEFYUXVlcnlCdWlsZGVyR3JvdXBFdmVudCwgQVhRdWVyeUJ1aWxkZXJHcm91cEl0ZW0gfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXF1ZXJ5LWJ1aWxkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhRdWVyeUJ1aWxkZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ3F1ZXJ5R3JvdXAnKSBxdWVyeUdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHF1ZXJ5OiBBWFF1ZXJ5QnVpbGRlckdyb3VwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vZGU6ICduZXcnIHwgJ2VkaXQnID0gJ25ldyc7XHJcblxyXG4gIHJvb3RHcm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCA9IG5ldyBBWFF1ZXJ5QnVpbGRlckdyb3VwKCk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb290R3JvdXAuY29uZGl0aW9uID0gdGhpcy5xdWVyeS5jb25kaXRpb24gPyB0aGlzLnF1ZXJ5LmNvbmRpdGlvbiA6ICdBTkQnO1xyXG4gICAgdGhpcy5yb290R3JvdXAuaXRlbXMgPSB0aGlzLnF1ZXJ5Lml0ZW1zID8gdGhpcy5xdWVyeS5pdGVtcyA6IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdG9hc3Q6IEFYVG9hc3RTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmllbGRzIDogYW55W107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGZpZWxkcygpIDogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkcztcclxuICB9XHJcbiAgcHVibGljIHNldCBmaWVsZHModiA6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9maWVsZHMgPSB2O1xyXG4gIH1cclxuXHJcbiAgLy8gQElucHV0KClcclxuICAvLyBtb2RlOiAnaW1tZWRpYXRlJyB8ICdjbGljaycgPSAnY2xpY2snO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblJ1bGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhRdWVyeUJ1aWxkZXJHcm91cEV2ZW50PigpO1xyXG5cclxuICBzYXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0UXVlcnlCdWlsZGVyKCkge1xyXG4gICAgcmV0dXJuIHsgZ3JvdXBzOiB0aGlzLnJvb3RHcm91cCB9O1xyXG4gIH1cclxuXHJcbiAgcnVsZUNoYW5nZWQoZSkge1xyXG4gICAgdGhpcy5vblJ1bGVDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGdyb3VwczogdGhpcy5yb290R3JvdXAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZVJ1bGUoKSB7XHJcbiAgICAvLy8gcmV0dXJuIHRoaXMucXVlcnlHcm91cC5zYXZlUnVsZSgpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5zYXZlZCA9IHRydWU7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5yb290R3JvdXAuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbmROdWxsVmFsdWUodGhpcy5yb290R3JvdXAuaXRlbXNbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zYXZlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnJvb3RHcm91cCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmluZE51bGxWYWx1ZShncikge1xyXG4gICAgaWYgKHRoaXMuc2F2ZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoZ3IuY29uZGl0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGhpcy5maW5kTnVsbFZhbHVlKGdyLml0ZW1zW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKGdyLm9uRGVtYW5kTGFiZWwgPT0gJz8/Pz98Jykge1xyXG4gICAgICAgICAgdGhpcy5zYXZlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5lcnJvcign2YTYt9mB2Kcg2YbYp9mFINmF2KrYutuM2LEg2YfYp9uMINmF2YjYsdivINmG24zYp9iyINix2Kcg2qnYp9mF2YQg2qnZhtuM2K8nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHNlbGVjdGlvbkZpZWxkc0NoYW5nZWQoZSwgcnVsZXM6IEFYUXVlcnlCdWlsZGVyUnVsZSkge1xyXG4gIC8vXHJcbiAgLy8gICAgIHJ1bGVzLmRhdGFGaWVsZCA9IGUuc2VsZWN0ZWRJdGVtc1swXS5kYXRhRmllbGQ7XHJcbiAgLy8gICAgIHJ1bGVzLmNhcHRpb24gPSBlLnNlbGVjdGVkSXRlbXNbMF0uY2FwdGlvbjtcclxuICAvLyAgICAgcnVsZXMuZGF0YVR5cGUgPSBlLnNlbGVjdGVkSXRlbXNbMF0uZGF0YVR5cGU7XHJcblxyXG4gIC8vICAgICAvLyBUTyBETyBjaGFjayBkYXRhVHlwZSBGb3IgRGVmIG9wZXJhdG9yIGFuZCBWYWx1ZVxyXG4gIC8vICAgICBpZiAocnVsZXMuZGF0YVR5cGUgPT0gJ3N0cmluZycpIHtcclxuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvclN0cmluZ0l0ZW1bMF0uaWQ7XHJcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICdudWxsJztcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICBpZiAocnVsZXMuZGF0YVR5cGUgPT0gJ251bWJlcicpIHtcclxuICAvLyAgICAgICAgIHJ1bGVzLm9wZXJhdG9yID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW1bMF0uaWQ7XHJcbiAgLy8gICAgICAgICBydWxlcy52YWx1ZSA9ICcwJztcclxuICAvLyAgICAgfVxyXG5cclxuICAvLyAgICAgdGhpcy5vblJ1bGVDaGFuZ2VkLmVtaXQoeyBncm91cHM6IHRoaXMucm9vdEdyb3VwLCBxdWVyeVN0cmluZzogdGhpcy5nZXRRdWVyeURpc3BsYXkoKSwgY29tcG9uZW50OiB0aGlzLCBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2VsZWN0aW9uT3BhcmF0b3JDaGFuZ2VkKGUsIHJ1bGVzOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAvLyAgICAgcnVsZXMub3BlcmF0b3IgPSBlLnNlbGVjdGVkSXRlbXNbMF0uaWQ7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcm92aWRlRGF0YUZpZWxkcyA9IChlKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gIC8vICAgICAgICAgcmVzb2x2ZSh0aGlzLmZpZWxkcyk7XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHJvdmlkZURhdGFPcGVyYXRvclN0cmluZyA9IChlKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gIC8vICAgICAgICAgcmVzb2x2ZSh0aGlzLm9wZXJhdG9yU3RyaW5nSXRlbSk7XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vIH1cclxuICAvLyBwcm92aWRlRGF0YU9wZXJhdG9yTnVtYmVyID0gKGUpID0+IHtcclxuICAvLyAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgLy8gICAgICAgICByZXNvbHZlKHRoaXMub3BlcmF0b3JOdW1iZXJJdGVtKTtcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcml2YXRlIGdldFF1ZXJ5RGlzcGxheShnciA9IHRoaXMubGlzdCwgX2NvbmRpdGlvbiA9IHRoaXMubGlzdFswXS5jb25kaXRpb24pIHtcclxuICAvLyAgICAgdmFyIGNhcDogc3RyaW5nID0gJygnO1xyXG5cclxuICAvLyAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBnci5sZW5ndGg7IGorKykge1xyXG4gIC8vICAgICAgICAgaWYgKGogPiAwKSB7XHJcbiAgLy8gICAgICAgICAgICAgY2FwID0gY2FwICsgX2NvbmRpdGlvbjtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIGNhcCA9IGNhcCArIFwiICggXCI7XHJcbiAgLy8gICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyW2pdLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgLy8gICAgICAgICAgICAgaWYgKGdyW2pdLml0ZW1zW2ldLnZhbHVlICYmIGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yICYmIGdyW2pdLml0ZW1zW2ldLmNhcHRpb24gfHwgKChncltqXS5pdGVtc1tpXS5vcGVyYXRvciA9PSBcImlzLWVtcHR5XCIgfHwgZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1ub3QtZW1wdHlcIikgJiYgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbikpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgdmFyIG9wcjogc3RyaW5nO1xyXG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gXCJudW1iZXJcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVcIiB8fCBncltqXS5pdGVtc1tpXS5kYXRhVHlwZSA9PSBcImRhdGVUaW1lXCIpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIGxldCBkID0gdGhpcy5vcGVyYXRvck51bWJlckl0ZW0uZmlsdGVyKGMgPT4gYy5pZCA9PSBncltqXS5pdGVtc1tpXS5vcGVyYXRvcik7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBvcHIgPSBkWzBdLnRleHQ7XHJcbiAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgZCA9IHRoaXMub3BlcmF0b3JTdHJpbmdJdGVtLmZpbHRlcihjID0+IGMuaWQgPT0gZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IpO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgb3ByID0gZFswXS50ZXh0O1xyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICAgICAgIGlmICgoZ3Jbal0uaXRlbXNbaV0ub3BlcmF0b3IgPT0gXCJpcy1lbXB0eVwiIHx8IGdyW2pdLml0ZW1zW2ldLm9wZXJhdG9yID09IFwiaXMtbm90LWVtcHR5XCIpKSB7XHJcblxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIGdyW2pdLmNvbmRpdGlvbjtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIHZhciB2YWw6IHN0cmluZztcclxuXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gJ2RhdGUnKSB7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFsID0gbW9tZW50KGl0ZW0udmFsdWUpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ1lZWVkvTU0vREQnKTtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ3Jbal0uaXRlbXNbaV0uZGF0YVR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbCA9IG1vbWVudChpdGVtLnZhbHVlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdISDptbSBZWVlZL01NL0REJyk7XHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IGdyW2pdLml0ZW1zW2ldLnZhbHVlO1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGdyW2pdLml0ZW1zLmxlbmd0aCAtIDEpIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbFxyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjYXAgPSBjYXAgKyBcIiBcIiArIFwiW1wiICsgZ3Jbal0uaXRlbXNbaV0uY2FwdGlvbiArIFwiXVwiICsgXCIgXCIgKyBvcHIgKyBcIiBcIiArIHZhbCArIFwiIFwiICsgZ3Jbal0uY29uZGl0aW9uXHJcbiAgLy8gICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgfVxyXG5cclxuICAvLyAgICAgICAgIGlmIChncltqXS5ncm91cHMgJiYgZ3Jbal0uZ3JvdXBzLmxlbmd0aCA+IDApIHtcclxuICAvLyAgICAgICAgICAgICBsZXQgYyA9IHRoaXMuZ2V0UXVlcnlEaXNwbGF5KGdyW2pdLmdyb3VwcywgZ3Jbal0uY29uZGl0aW9uKTtcclxuICAvLyAgICAgICAgICAgICBpZiAoYyAhPSBcIiggKSBcIikge1xyXG4gIC8vICAgICAgICAgICAgICAgICBpZiAoZ3Jbal0uaXRlbXMubGVuZ3RoID4gMCB8fCBqID4gMCkge1xyXG4gIC8vICAgICAgICAgICAgICAgICAgICAgY2FwID0gY2FwICsgXCIgXCIgKyBncltqXS5jb25kaXRpb24gKyBcIiBcIiArIGMgKyBcIiBcIjtcclxuICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgICAgICAgICAgICAgIGNhcCA9IGNhcCArIFwiIFwiICsgYyArIFwiIFwiO1xyXG4gIC8vICAgICAgICAgICAgICAgICB9XHJcblxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgIH1cclxuXHJcbiAgLy8gICAgICAgICBjYXAgPSBjYXAgKyBcIiApIFwiO1xyXG4gIC8vICAgICB9O1xyXG5cclxuICAvLyAgICAgY2FwID0gY2FwICsgXCIgKSBcIjtcclxuICAvLyAgICAgcmV0dXJuIGNhcDtcclxuICAvLyB9XHJcblxyXG4gIC8vIGRlbGV0ZUdyb3VwKGdyb3VwT3V0OiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBncm91cEluOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgLy8gICAgIGdyb3VwT3V0Lml0ZW1zID0gZ3JvdXBPdXQuaXRlbXMuZmlsdGVyKGMgPT4gYy5pZCAhPSBncm91cEluLmlkKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGRlbGV0ZVJ1bGUxKGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBydWxlOiBBWFF1ZXJ5QnVpbGRlclJ1bGUpIHtcclxuICAvLyAgICAgZ3JvdXAuaXRlbXMgPSBncm91cC5pdGVtcy5maWx0ZXIoYyA9PiBjLmlkICE9IHJ1bGUuaWQpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gYWRkUnVsZShncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gIC8vICAgICBjb25zdCBpdGVtOiBBWFF1ZXJ5QnVpbGRlclJ1bGUgPSBuZXcgQVhRdWVyeUJ1aWxkZXJSdWxlKCk7XHJcbiAgLy8gICAgIGdyb3VwLml0ZW1zLnB1c2goaXRlbSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBhZGRHcm91cEFORChncm91cDogQVhRdWVyeUJ1aWxkZXJHcm91cCkge1xyXG4gIC8vICAgICB0aGlzLmFkZEdyb3VwT25DbGljayhncm91cCk7XHJcbiAgLy8gICAgIGdyb3VwLmNvbmRpdGlvbiA9IFwiQU5EXCI7XHJcbiAgLy8gfVxyXG4gIC8vIGFkZEdyb3VwT1IoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAvLyAgICAgdGhpcy5hZGRHcm91cE9uQ2xpY2soZ3JvdXApO1xyXG4gIC8vICAgICBncm91cC5jb25kaXRpb24gPSBcIk9SXCI7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBhZGRHcm91cE9uQ2xpY2soZ3JvdXBzOiBBWFF1ZXJ5QnVpbGRlckdyb3VwKSB7XHJcbiAgLy8gICAgIGxldCByOiBBWFF1ZXJ5QnVpbGRlckdyb3VwID0gbmV3IEFYUXVlcnlCdWlsZGVyR3JvdXAoKTtcclxuICAvLyAgICAgci5jb25kaXRpb24gPSBcIlwiO1xyXG4gIC8vICAgICByLml0ZW1zID0gW107XHJcbiAgLy8gICAgIGlmIChncm91cHMuaXRlbXMgPT0gdW5kZWZpbmVkKSB7XHJcbiAgLy8gICAgICAgICBncm91cHMuaXRlbXMgPSBbXTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICBncm91cHMuaXRlbXMucHVzaChyKTtcclxuICAvLyB9XHJcbn1cclxuIiwiPGF4LXF1ZXJ5LWdyb3VwICNxdWVyeUdyb3VwIFttb2RlXT1cIm1vZGVcIiBbZ3JvdXBdPVwicm9vdEdyb3VwXCIgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gICAgKGdyb3VwUnVsZUNoYW5nZWQpPVwicnVsZUNoYW5nZWQoJGV2ZW50KVwiPlxyXG48L2F4LXF1ZXJ5LWdyb3VwPiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXQueryBuilderComponent } from './query-builder.component';
3
+ import { AXButtonModule } from '../button/button.module';
4
+ import { CommonModule } from '@angular/common';
5
+ import { AXPanelBoxModule } from '../panel-box/panel-box.module';
6
+ import { AXSelectBoxModule } from '../selectbox/selectbox.module';
7
+ import { AXTextBoxModule } from '../textbox/textbox.module';
8
+ import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
9
+ import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
10
+ import { AXTranslatorModule } from '@acorex/core';
11
+ import { AXNumberBoxModule } from '../number-box/number-box.module';
12
+ import { AXDataSourceModule } from '../data-source/datasource.module';
13
+ import { AXFormGroupModule } from '../form-group/form-group.module';
14
+ import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
15
+ import { AXLabelModule } from '../label/label.module';
16
+ import { AXCheckBoxModule } from '../checkbox/checkbox.module';
17
+ import { AXValidationModule } from '../validation/validation.module';
18
+ import { AXQueryBuilderService } from './query-builder.service';
19
+ import { AXDatePickerModule } from '../date-picker/date-picker.module';
20
+ import * as i0 from "@angular/core";
21
+ const MODUELS = [
22
+ CommonModule,
23
+ AXButtonModule,
24
+ AXPanelBoxModule,
25
+ AXSelectBoxModule,
26
+ AXDataSourceModule,
27
+ AXTextBoxModule,
28
+ AXNumberBoxModule,
29
+ AXFormGroupModule,
30
+ AXTranslatorModule,
31
+ AXLabelModule,
32
+ AXCheckBoxModule,
33
+ AXValidationModule,
34
+ AXDatePickerModule
35
+ ];
36
+ export class AXQueryBuilderModule {
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderModule, declarations: [AXQueryBuilderComponent, AXQueryBuilderGroupComponent, AXQueryBuilderRuleComponent, AXQueryBuilderPopupComponent], imports: [CommonModule,
39
+ AXButtonModule,
40
+ AXPanelBoxModule,
41
+ AXSelectBoxModule,
42
+ AXDataSourceModule,
43
+ AXTextBoxModule,
44
+ AXNumberBoxModule,
45
+ AXFormGroupModule,
46
+ AXTranslatorModule,
47
+ AXLabelModule,
48
+ AXCheckBoxModule,
49
+ AXValidationModule,
50
+ AXDatePickerModule], exports: [AXQueryBuilderComponent] });
51
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderModule, providers: [AXQueryBuilderService], imports: [MODUELS] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderModule, decorators: [{
54
+ type: NgModule,
55
+ args: [{
56
+ declarations: [AXQueryBuilderComponent, AXQueryBuilderGroupComponent, AXQueryBuilderRuleComponent, AXQueryBuilderPopupComponent],
57
+ imports: [MODUELS],
58
+ exports: [AXQueryBuilderComponent],
59
+ providers: [AXQueryBuilderService]
60
+ }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9xdWVyeS1idWlsZGVyL3F1ZXJ5LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFdkUsTUFBTSxPQUFPLEdBQUc7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckIsQ0FBQTtBQVNELE1BQU0sT0FBTyxvQkFBb0I7dUdBQXBCLG9CQUFvQjt3R0FBcEIsb0JBQW9CLGlCQU5kLHVCQUF1QixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixhQWhCL0gsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsa0JBQWtCLGFBTVIsdUJBQXVCO3dHQUl4QixvQkFBb0IsYUFIbEIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUZ4QixPQUFPOzsyRkFLUixvQkFBb0I7a0JBUGhDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ2hJLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFBhbmVsQm94TW9kdWxlIH0gZnJvbSAnLi4vcGFuZWwtYm94L3BhbmVsLWJveC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdGJveC9zZWxlY3Rib3gubW9kdWxlJztcclxuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUnVsZUNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1ydWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhOdW1iZXJCb3hNb2R1bGUgfSBmcm9tICcuLi9udW1iZXItYm94L251bWJlci1ib3gubW9kdWxlJztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlTW9kdWxlIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLXBvcHVwL3F1ZXJ5LWJ1aWxkZXItcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJy4uL2xhYmVsL2xhYmVsLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQVhRdWVyeUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9xdWVyeS1idWlsZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xyXG5cclxuY29uc3QgTU9EVUVMUyA9IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEFYQnV0dG9uTW9kdWxlLFxyXG4gICAgQVhQYW5lbEJveE1vZHVsZSxcclxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxyXG4gICAgQVhEYXRhU291cmNlTW9kdWxlLFxyXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxyXG4gICAgQVhOdW1iZXJCb3hNb2R1bGUsXHJcbiAgICBBWEZvcm1Hcm91cE1vZHVsZSxcclxuICAgIEFYVHJhbnNsYXRvck1vZHVsZSxcclxuICAgIEFYTGFiZWxNb2R1bGUsXHJcbiAgICBBWENoZWNrQm94TW9kdWxlLFxyXG4gICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxyXG4gICAgQVhEYXRlUGlja2VyTW9kdWxlXHJcbl1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudCwgQVhRdWVyeUJ1aWxkZXJHcm91cENvbXBvbmVudCwgQVhRdWVyeUJ1aWxkZXJSdWxlQ29tcG9uZW50LCBBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50XSxcclxuICAgIGltcG9ydHM6IFtNT0RVRUxTXSxcclxuICAgIGV4cG9ydHM6IFtBWFF1ZXJ5QnVpbGRlckNvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtBWFF1ZXJ5QnVpbGRlclNlcnZpY2VdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQVhRdWVyeUJ1aWxkZXJNb2R1bGUgeyB9Il19
@@ -0,0 +1,199 @@
1
+ import { AXQueryBuilderGroup } from './query-builder.class';
2
+ import { Injectable } from '@angular/core';
3
+ import { AXPopupService } from '../popup/popup.service';
4
+ import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
5
+ import { AXToastService } from '../toast/toast.service';
6
+ import { AXDateTime } from '@acorex/core';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../popup/popup.service";
9
+ import * as i2 from "../toast/toast.service";
10
+ export class AXQueryBuilderService {
11
+ popup;
12
+ toast;
13
+ constructor(popup, toast) {
14
+ this.popup = popup;
15
+ this.toast = toast;
16
+ }
17
+ canOpen = false;
18
+ canRun = false;
19
+ runQuery(group, provideData) {
20
+ return new Promise((resolve) => {
21
+ this.canOpen = false;
22
+ for (let i = 0; i < group.items.length; i++) {
23
+ this.getNoValueRule(group.items[i]);
24
+ }
25
+ if (this.canOpen) {
26
+ this.canRun = true;
27
+ for (let i = 0; i < group.items.length; i++) {
28
+ if (this.canRun == true) {
29
+ this.findNullValue(group.items[i]);
30
+ }
31
+ }
32
+ if (this.canRun) {
33
+ this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then((c) => {
34
+ resolve(c);
35
+ });
36
+ }
37
+ }
38
+ else {
39
+ resolve(group);
40
+ }
41
+ });
42
+ }
43
+ findNullValue(gr) {
44
+ if (this.canRun == true) {
45
+ if (gr.condition) {
46
+ for (let i = 0; i < gr.items.length; i++) {
47
+ this.findNullValue(gr.items[i]);
48
+ }
49
+ }
50
+ else {
51
+ if (gr.onDemandLabel == '????|') {
52
+ this.canRun = false;
53
+ this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
54
+ }
55
+ }
56
+ }
57
+ }
58
+ getNoValueRule(gr) {
59
+ // for (let i = 0; i < gr.items.length; i++) {
60
+ if (gr.condition) {
61
+ for (let i = 0; i < gr.items.length; i++) {
62
+ this.getNoValueRule(gr.items[i]);
63
+ }
64
+ }
65
+ else {
66
+ if (gr.onDemandLabel?.indexOf('????') == 0) {
67
+ this.canOpen = true;
68
+ }
69
+ }
70
+ // }
71
+ }
72
+ async getQueryStringSimple(group) {
73
+ return new Promise(async (resolve, reject) => {
74
+ var query;
75
+ if (group.items.length > 0) {
76
+ query = ' ( ';
77
+ }
78
+ var id = 0;
79
+ for await (const iterator of group.items) {
80
+ const item = group.items[id];
81
+ if (item.condition) {
82
+ await this.getQueryStringSimple(item).then((c) => {
83
+ query = query + c;
84
+ });
85
+ }
86
+ else {
87
+ let codeOperator = null;
88
+ switch (item.operator) {
89
+ case 'equal':
90
+ codeOperator = '==';
91
+ break;
92
+ case 'not-equal':
93
+ codeOperator = '!=';
94
+ break;
95
+ case 'not-null':
96
+ codeOperator = '!= null';
97
+ break;
98
+ case 'null':
99
+ codeOperator = '== null';
100
+ break;
101
+ case 'gt':
102
+ codeOperator = '>';
103
+ break;
104
+ case 'gte':
105
+ codeOperator = '>=';
106
+ break;
107
+ case 'lt':
108
+ codeOperator = '<';
109
+ break;
110
+ case 'lte':
111
+ codeOperator = '<=';
112
+ break;
113
+ case 'contains':
114
+ codeOperator = item.operator;
115
+ break;
116
+ case 'start-with':
117
+ codeOperator = item.operator;
118
+ break;
119
+ case 'end-with':
120
+ codeOperator = item.operator;
121
+ break;
122
+ default:
123
+ codeOperator = item.operator;
124
+ break;
125
+ }
126
+ if (item.dataType == 'datetime' && item.text && item.text != '' && item.text != null || item.dataType == 'date' && item.text && item.text != '' && item.text != null) {
127
+ query = query + ' ' + item.caption + ' ' + codeOperator + ' (' + AXDateTime.convert(item.text, 'jalali') + ')';
128
+ }
129
+ else if (item.dataType != 'datetime' || item.dataType != 'date') {
130
+ query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
131
+ }
132
+ }
133
+ if (id !== group.items.length - 1 && query != ' ( ') {
134
+ query = query + ' ' + group.condition;
135
+ }
136
+ id += 1;
137
+ }
138
+ if (group.items.length > 0) {
139
+ query = query + ' ) ';
140
+ }
141
+ resolve(query);
142
+ });
143
+ }
144
+ getQueryString(group, type) {
145
+ let query = '';
146
+ switch (type) {
147
+ case 'simple':
148
+ if (group.items.length > 0) {
149
+ query = ' ( ';
150
+ }
151
+ for (let i = 0; i < group.items.length; i++) {
152
+ const item = group.items[i];
153
+ if (item instanceof AXQueryBuilderGroup) {
154
+ query = query + item.queryString;
155
+ }
156
+ else {
157
+ query = query + ' ' + item.caption + ' ' + item.operator + ' ' + item.value;
158
+ }
159
+ if (i !== group.items.length - 1 && query != ' ( ') {
160
+ query = query + ' ' + group.condition;
161
+ }
162
+ }
163
+ if (group.items.length > 0) {
164
+ query = query + ' ) ';
165
+ }
166
+ break;
167
+ case 'elastic':
168
+ if (group.items.length > 0) {
169
+ query = ' ( ';
170
+ }
171
+ for (let i = 0; i < group.items.length; i++) {
172
+ const item = group.items[i];
173
+ if (item instanceof AXQueryBuilderGroup) {
174
+ query = query + item.queryStringElastic;
175
+ }
176
+ else {
177
+ query = query + ' ' + item.dataField + ' ' + item.operator + ' ' + item.value;
178
+ }
179
+ if (i !== group.items.length - 1 && query != ' ( ') {
180
+ query = query + ' ' + group.condition;
181
+ }
182
+ }
183
+ if (group.items.length > 0) {
184
+ query = query + ' ) ';
185
+ }
186
+ break;
187
+ case 'sql':
188
+ break;
189
+ }
190
+ return query;
191
+ }
192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderService, deps: [{ token: i1.AXPopupService }, { token: i2.AXToastService }], target: i0.ɵɵFactoryTarget.Injectable });
193
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderService, providedIn: 'root' });
194
+ }
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AXQueryBuilderService, decorators: [{
196
+ type: Injectable,
197
+ args: [{ providedIn: 'root' }]
198
+ }], ctorParameters: function () { return [{ type: i1.AXPopupService }, { type: i2.AXToastService }]; } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUE0QixNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFDWjtJQUErQjtJQUFuRCxZQUFvQixLQUFxQixFQUFVLEtBQXFCO1FBQXBELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFBSSxDQUFDO0lBQzdFLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNqQixRQUFRLENBQUMsS0FBMEIsRUFBRSxXQUFXO1FBQ3JELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lB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ZjtnQkFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQzNDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVCLElBQUksSUFBSSxZQUFZLG1CQUFtQixFQUFFO3dCQUN2QyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztxQkFDekM7eUJBQU07d0JBQ0wsS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztxQkFDL0U7b0JBQ0QsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7d0JBQ2xELEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7cUJBQ3ZDO2lCQUNGO2dCQUNELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUMxQixLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDdkI7Z0JBRUQsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNO1NBQ1Q7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBbkxVLHFCQUFxQjsyR0FBckIscUJBQXFCLGNBRFIsTUFBTTs7MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBBWFF1ZXJ5QnVpbGRlclN0cmluZ1R5cGUgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vcG9wdXAvcG9wdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYUXVlcnlCdWlsZGVyUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItcG9wdXAvcXVlcnktYnVpbGRlci1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUXVlcnlCdWlsZGVyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgdG9hc3Q6IEFYVG9hc3RTZXJ2aWNlKSB7IH1cclxuICBjYW5PcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2FuUnVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHJ1blF1ZXJ5KGdyb3VwOiBBWFF1ZXJ5QnVpbGRlckdyb3VwLCBwcm92aWRlRGF0YSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuY2FuT3BlbiA9IGZhbHNlO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShncm91cC5pdGVtc1tpXSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY2FuT3Blbikge1xyXG4gICAgICAgIHRoaXMuY2FuUnVuID0gdHJ1ZTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jYW5SdW4gPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpbmROdWxsVmFsdWUoZ3JvdXAuaXRlbXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5jYW5SdW4pIHtcclxuICAgICAgICAgIHRoaXMucG9wdXAub3BlbihBWFF1ZXJ5QnVpbGRlclBvcHVwQ29tcG9uZW50LCB7IGRhdGE6IHsgZ3JvdXA6IGdyb3VwLCBwcm92aWRlRGF0YTogcHJvdmlkZURhdGEgfSwgdGl0bGU6ICfYr9ix24zYp9mB2Kog2YXZgtin2K/bjNixJyB9KS50aGVuKChjKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoYyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShncm91cCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmluZE51bGxWYWx1ZShncikge1xyXG4gICAgaWYgKHRoaXMuY2FuUnVuID09IHRydWUpIHtcclxuICAgICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ3IuaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuZmluZE51bGxWYWx1ZShnci5pdGVtc1tpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsID09ICc/Pz8/fCcpIHtcclxuICAgICAgICAgIHRoaXMuY2FuUnVuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKCfZhNi32YHYpyDZhtin2YUg2YXYqti624zYsSDZh9in24wg2YXZiNix2K8g2YbbjNin2LIg2LHYpyDaqdin2YXZhCDaqdmG24zYrycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROb1ZhbHVlUnVsZShncikge1xyXG4gICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBnci5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKGdyLmNvbmRpdGlvbikge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5nZXROb1ZhbHVlUnVsZShnci5pdGVtc1tpXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChnci5vbkRlbWFuZExhYmVsPy5pbmRleE9mKCc/Pz8/JykgPT0gMCkge1xyXG4gICAgICAgIHRoaXMuY2FuT3BlbiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0UXVlcnlTdHJpbmdTaW1wbGUoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdmFyIHF1ZXJ5OiBzdHJpbmc7XHJcbiAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcXVlcnkgPSAnICggJztcclxuICAgICAgfVxyXG4gICAgICB2YXIgaWQgPSAwO1xyXG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGl0ZXJhdG9yIG9mIGdyb3VwLml0ZW1zKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0gZ3JvdXAuaXRlbXNbaWRdO1xyXG5cclxuICAgICAgICBpZiAoaXRlbS5jb25kaXRpb24pIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UXVlcnlTdHJpbmdTaW1wbGUoaXRlbSkudGhlbigoYykgPT4ge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgYztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgY29kZU9wZXJhdG9yOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgICAgICAgc3dpdGNoIChpdGVtLm9wZXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPT0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICchPSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ25vdC1udWxsJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnIT0gbnVsbCc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ251bGwnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc9PSBudWxsJztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3QnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc+JztcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZ3RlJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSAnPj0nO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gJzwnO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdsdGUnOlxyXG4gICAgICAgICAgICAgIGNvZGVPcGVyYXRvciA9ICc8PSc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgY29kZU9wZXJhdG9yID0gaXRlbS5vcGVyYXRvcjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICBjb2RlT3BlcmF0b3IgPSBpdGVtLm9wZXJhdG9yO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGl0ZW0uZGF0YVR5cGUgPT0gJ2RhdGV0aW1lJyAmJiBpdGVtLnRleHQgJiYgaXRlbS50ZXh0ICE9ICcnICYmIGl0ZW0udGV4dCAhPSBudWxsIHx8IGl0ZW0uZGF0YVR5cGUgPT0gJ2RhdGUnICYmIGl0ZW0udGV4dCAmJiBpdGVtLnRleHQgIT0gJycgJiYgaXRlbS50ZXh0ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uY2FwdGlvbiArICcgJyArIGNvZGVPcGVyYXRvciArICcgKCcgKyBBWERhdGVUaW1lLmNvbnZlcnQoaXRlbS50ZXh0LCAnamFsYWxpJykgKyAnKSc7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uZGF0YVR5cGUgIT0gJ2RhdGV0aW1lJyB8fCBpdGVtLmRhdGFUeXBlICE9ICdkYXRlJykge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgY29kZU9wZXJhdG9yICsgJyAnICsgaXRlbS50ZXh0O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlkICE9PSBncm91cC5pdGVtcy5sZW5ndGggLSAxICYmIHF1ZXJ5ICE9ICcgKCAnKSB7XHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZCArPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc29sdmUocXVlcnkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UXVlcnlTdHJpbmcoZ3JvdXA6IEFYUXVlcnlCdWlsZGVyR3JvdXAsIHR5cGU6IEFYUXVlcnlCdWlsZGVyU3RyaW5nVHlwZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcXVlcnkgPSAnJztcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdzaW1wbGUnOlxyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAuaXRlbXNbaV07XHJcbiAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmc7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgaXRlbS5jYXB0aW9uICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2VsYXN0aWMnOlxyXG4gICAgICAgIGlmIChncm91cC5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBxdWVyeSA9ICcgKCAnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAuaXRlbXNbaV07XHJcbiAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFYUXVlcnlCdWlsZGVyR3JvdXApIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArIGl0ZW0ucXVlcnlTdHJpbmdFbGFzdGljO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgJyArIGl0ZW0uZGF0YUZpZWxkICsgJyAnICsgaXRlbS5vcGVyYXRvciArICcgJyArIGl0ZW0udmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaSAhPT0gZ3JvdXAuaXRlbXMubGVuZ3RoIC0gMSAmJiBxdWVyeSAhPSAnICggJykge1xyXG4gICAgICAgICAgICBxdWVyeSA9IHF1ZXJ5ICsgJyAnICsgZ3JvdXAuY29uZGl0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZ3JvdXAuaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcXVlcnkgPSBxdWVyeSArICcgKSAnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NxbCc6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHF1ZXJ5O1xyXG4gIH1cclxufVxyXG4iXX0=