@acorex/components 4.1.6 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/karma.conf.js +32 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +13 -33
  4. package/src/lib/accordion/accordion.component.ts +43 -0
  5. package/src/lib/accordion/accordion.module.ts +11 -0
  6. package/src/lib/accordion/api.ts +2 -0
  7. package/src/lib/base/base-page.class.ts +115 -0
  8. package/src/lib/base/element.class.ts +344 -0
  9. package/src/lib/base/events.class.ts +32 -0
  10. package/src/lib/button/button.component.html +17 -0
  11. package/src/lib/button/button.component.ts +72 -0
  12. package/src/lib/button/button.module.ts +14 -0
  13. package/src/lib/calendar/calendar-box/calendar-box.component.html +68 -0
  14. package/src/lib/calendar/calendar-box/calendar-box.component.ts +461 -0
  15. package/src/lib/calendar/calendar-box/calendar-box.module.ts +16 -0
  16. package/src/lib/calendar/scheduler/scheduler-views.property.ts +38 -0
  17. package/{lib/calendar/scheduler/scheduler.class.d.ts → src/lib/calendar/scheduler/scheduler.class.ts} +20 -6
  18. package/src/lib/calendar/scheduler/scheduler.component.html +9 -0
  19. package/src/lib/calendar/scheduler/scheduler.component.scss +181 -0
  20. package/src/lib/calendar/scheduler/scheduler.component.ts +249 -0
  21. package/src/lib/calendar/scheduler/scheduler.module.ts +45 -0
  22. package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.ts +133 -0
  23. package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.ts +33 -0
  24. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.html +43 -0
  25. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.scss +66 -0
  26. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.ts +50 -0
  27. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.html +45 -0
  28. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.scss +19 -0
  29. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.ts +103 -0
  30. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.html +39 -0
  31. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.scss +55 -0
  32. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.ts +233 -0
  33. package/src/lib/calendar/scheduler/views/scheduler-view.component.ts +124 -0
  34. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.html +50 -0
  35. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.scss +4 -0
  36. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.ts +92 -0
  37. package/src/lib/checkbox/checkbox.component.html +22 -0
  38. package/src/lib/checkbox/checkbox.component.ts +106 -0
  39. package/src/lib/checkbox/checkbox.module.ts +11 -0
  40. package/src/lib/color-picker/color-box/color-box.component.html +37 -0
  41. package/src/lib/color-picker/color-box/color-box.component.scss +60 -0
  42. package/src/lib/color-picker/color-box/color-box.component.ts +438 -0
  43. package/src/lib/color-picker/color-picker.component.html +31 -0
  44. package/src/lib/color-picker/color-picker.component.ts +87 -0
  45. package/src/lib/color-picker/color-picker.module.ts +16 -0
  46. package/src/lib/context-menu/context-menu.component.html +42 -0
  47. package/src/lib/context-menu/context-menu.component.ts +78 -0
  48. package/src/lib/context-menu/context-menu.directive.ts +159 -0
  49. package/src/lib/context-menu/context-menu.module.ts +15 -0
  50. package/src/lib/data-filter/columns/filter-column-date.component.ts +123 -0
  51. package/src/lib/data-filter/columns/filter-column-number.component.ts +100 -0
  52. package/src/lib/data-filter/columns/filter-column-selection.component.ts +69 -0
  53. package/src/lib/data-filter/columns/filter-column-string.component.ts +100 -0
  54. package/src/lib/data-filter/filter-panel/filter-panel.component.html +120 -0
  55. package/src/lib/data-filter/filter-panel/filter-panel.component.scss +143 -0
  56. package/src/lib/data-filter/filter-panel/filter-panel.component.ts +266 -0
  57. package/src/lib/data-filter/filter.class.ts +73 -0
  58. package/src/lib/data-filter/filter.module.ts +52 -0
  59. package/src/lib/data-filter/toolbar/filter-toolbar.component.html +5 -0
  60. package/src/lib/data-filter/toolbar/filter-toolbar.component.scss +17 -0
  61. package/src/lib/data-filter/toolbar/filter-toolbar.component.ts +179 -0
  62. package/src/lib/data-list/core/data-list.component.ts +62 -0
  63. package/src/lib/data-list/list/list.component.html +32 -0
  64. package/src/lib/data-list/list/list.component.scss +64 -0
  65. package/src/lib/data-list/list/list.component.ts +149 -0
  66. package/src/lib/data-list/list/list.module.ts +14 -0
  67. package/src/lib/data-list/list/toolbar-list-view.component.ts +63 -0
  68. package/src/lib/data-source/datasource.component.ts +50 -0
  69. package/src/lib/data-source/datasource.module.ts +11 -0
  70. package/{lib/data-source/read-param.d.ts → src/lib/data-source/read-param.ts} +13 -3
  71. package/src/lib/date-picker/date-picker.component.html +30 -0
  72. package/src/lib/date-picker/date-picker.component.scss +5 -0
  73. package/src/lib/date-picker/date-picker.component.ts +723 -0
  74. package/src/lib/date-picker/date-picker.module.ts +17 -0
  75. package/src/lib/dialog/dialog.component.html +5 -0
  76. package/src/lib/dialog/dialog.component.scss +32 -0
  77. package/src/lib/dialog/dialog.component.ts +32 -0
  78. package/src/lib/dialog/dialog.module.ts +13 -0
  79. package/src/lib/dialog/dialog.service.ts +178 -0
  80. package/src/lib/drawer/drawer.component.html +5 -0
  81. package/src/lib/drawer/drawer.component.ts +53 -0
  82. package/src/lib/drawer/drawer.module.ts +11 -0
  83. package/src/lib/dropdown/dropdown.component.html +25 -0
  84. package/src/lib/dropdown/dropdown.component.scss +9 -0
  85. package/src/lib/dropdown/dropdown.component.ts +200 -0
  86. package/src/lib/dropdown/dropdown.module.ts +19 -0
  87. package/src/lib/fieldset/fieldset.component.html +6 -0
  88. package/src/lib/fieldset/fieldset.component.ts +49 -0
  89. package/src/lib/fieldset/fieldset.module.ts +11 -0
  90. package/src/lib/form-group/form-group.component.html +15 -0
  91. package/src/lib/form-group/form-group.component.ts +39 -0
  92. package/src/lib/form-group/form-group.module.ts +14 -0
  93. package/src/lib/label/label.component.html +5 -0
  94. package/src/lib/label/label.component.ts +18 -0
  95. package/src/lib/label/label.module.ts +14 -0
  96. package/src/lib/loading/loading-indicator.component.html +27 -0
  97. package/src/lib/loading/loading-indicator.component.ts +16 -0
  98. package/src/lib/loading/loading-panel.component.ts +37 -0
  99. package/src/lib/loading/loading.module.ts +13 -0
  100. package/src/lib/loading/loading.service.ts +44 -0
  101. package/src/lib/menu/menu-item.component.ts +41 -0
  102. package/src/lib/menu/menu.component.html +65 -0
  103. package/src/lib/menu/menu.component.ts +111 -0
  104. package/src/lib/menu/menu.module.ts +13 -0
  105. package/src/lib/menu/menu2.component.scss +59 -0
  106. package/src/lib/menu/menu2.component.ts +98 -0
  107. package/src/lib/number-box/number-box.component.html +32 -0
  108. package/src/lib/number-box/number-box.component.ts +641 -0
  109. package/src/lib/number-box/number-box.module.ts +13 -0
  110. package/src/lib/page/content.component.ts +18 -0
  111. package/src/lib/page/footer.component.ts +13 -0
  112. package/src/lib/page/page.component.ts +43 -0
  113. package/src/lib/page/page.module.ts +14 -0
  114. package/src/lib/panel-box/panel-box.component.html +19 -0
  115. package/src/lib/panel-box/panel-box.component.scss +25 -0
  116. package/src/lib/panel-box/panel-box.component.ts +87 -0
  117. package/src/lib/panel-box/panel-box.module.ts +10 -0
  118. package/src/lib/password-box/password-box.component.html +22 -0
  119. package/src/lib/password-box/password-box.component.ts +30 -0
  120. package/src/lib/password-box/password-box.module.ts +16 -0
  121. package/src/lib/popover/custom-cdk-overlay.service.ts +82 -0
  122. package/src/lib/popover/overlay.service.ts +110 -0
  123. package/src/lib/popover/popover.component.html +5 -0
  124. package/src/lib/popover/popover.component.scss +9 -0
  125. package/src/lib/popover/popover.component.ts +117 -0
  126. package/src/lib/popover/popover.module.ts +11 -0
  127. package/src/lib/popup/popup.component.html +33 -0
  128. package/src/lib/popup/popup.component.scss +173 -0
  129. package/src/lib/popup/popup.component.ts +182 -0
  130. package/src/lib/popup/popup.module.ts +16 -0
  131. package/src/lib/popup/popup.service.ts +103 -0
  132. package/src/lib/progress-bar/progress-bar.component.html +5 -0
  133. package/src/lib/progress-bar/progress-bar.component.ts +10 -0
  134. package/src/lib/progress-bar/progress-bar.module.ts +11 -0
  135. package/src/lib/property-editor/editors/color-editor/color.editor.ts +30 -0
  136. package/src/lib/property-editor/editors/color-editor/color.module.ts +20 -0
  137. package/src/lib/property-editor/editors/column-editor/column.editor.html +75 -0
  138. package/src/lib/property-editor/editors/column-editor/column.editor.scss +193 -0
  139. package/src/lib/property-editor/editors/column-editor/column.editor.ts +124 -0
  140. package/src/lib/property-editor/editors/column-editor/column.module.ts +28 -0
  141. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.html +80 -0
  142. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.scss +71 -0
  143. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.ts +232 -0
  144. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.module.ts +52 -0
  145. package/src/lib/property-editor/editors/date-editor/date.editor.ts +49 -0
  146. package/src/lib/property-editor/editors/date-editor/date.module.ts +20 -0
  147. package/src/lib/property-editor/editors/number-editor/number.editor.ts +47 -0
  148. package/src/lib/property-editor/editors/number-editor/number.module.ts +20 -0
  149. package/src/lib/property-editor/editors/range-editor/range.editor.html +67 -0
  150. package/src/lib/property-editor/editors/range-editor/range.editor.scss +68 -0
  151. package/src/lib/property-editor/editors/range-editor/range.editor.ts +153 -0
  152. package/src/lib/property-editor/editors/range-editor/range.module.ts +37 -0
  153. package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.html +15 -0
  154. package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.ts +77 -0
  155. package/src/lib/property-editor/editors/selectbox-editor/selectbox.module.ts +21 -0
  156. package/src/lib/property-editor/editors/switch-editor/number.editor.ts +26 -0
  157. package/src/lib/property-editor/editors/switch-editor/number.module.ts +21 -0
  158. package/src/lib/property-editor/editors/text-editor/text.editor.html +4 -0
  159. package/src/lib/property-editor/editors/text-editor/text.editor.ts +35 -0
  160. package/src/lib/property-editor/editors/text-editor/text.module.ts +20 -0
  161. package/src/lib/property-editor/editors/textarea-editor/textarea.editor.html +9 -0
  162. package/src/lib/property-editor/editors/textarea-editor/textarea.editor.ts +37 -0
  163. package/src/lib/property-editor/editors/textarea-editor/textarea.module.ts +20 -0
  164. package/src/lib/property-editor/editors/time-editor/time.editor.ts +38 -0
  165. package/src/lib/property-editor/editors/time-editor/time.module.ts +20 -0
  166. package/src/lib/property-editor/property-editor-renderer.directive.ts +181 -0
  167. package/src/lib/property-editor/property-editor.class.ts +178 -0
  168. package/src/lib/property-editor/property-editor.module.ts +97 -0
  169. package/src/lib/query-builder/query-builder-group.component.html +68 -0
  170. package/src/lib/query-builder/query-builder-group.component.ts +122 -0
  171. package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.html +82 -0
  172. package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.ts +178 -0
  173. package/src/lib/query-builder/query-builder-rule.component.html +134 -0
  174. package/src/lib/query-builder/query-builder-rule.component.ts +353 -0
  175. package/src/lib/query-builder/query-builder.class.ts +53 -0
  176. package/src/lib/query-builder/query-builder.component.html +3 -0
  177. package/src/lib/query-builder/query-builder.component.scss +286 -0
  178. package/src/lib/query-builder/query-builder.component.ts +220 -0
  179. package/src/lib/query-builder/query-builder.module.ts +42 -0
  180. package/src/lib/query-builder/query-builder.service.ts +181 -0
  181. package/src/lib/searchbox/searchbox.component.html +25 -0
  182. package/src/lib/searchbox/searchbox.component.ts +85 -0
  183. package/src/lib/searchbox/searchbox.module.ts +17 -0
  184. package/src/lib/selectbox/selectbox.component.html +98 -0
  185. package/src/lib/selectbox/selectbox.component.ts +980 -0
  186. package/src/lib/selectbox/selectbox.module.ts +31 -0
  187. package/src/lib/selectbox/selectbox2.component.html +78 -0
  188. package/src/lib/selectbox/selectbox2.component.ts +603 -0
  189. package/src/lib/selection-list/selection-list.component.html +21 -0
  190. package/src/lib/selection-list/selection-list.component.ts +103 -0
  191. package/src/lib/selection-list/selection-list.module.ts +13 -0
  192. package/src/lib/switch/switch.component.html +4 -0
  193. package/src/lib/switch/switch.component.scss +65 -0
  194. package/src/lib/switch/switch.component.ts +57 -0
  195. package/src/lib/switch/switch.module.ts +14 -0
  196. package/src/lib/tab-page/tab-page-Renderer.component.ts +68 -0
  197. package/src/lib/tab-page/tab-page-host.component.ts +103 -0
  198. package/src/lib/tab-page/tab-page.module.ts +13 -0
  199. package/src/lib/tab-page/tab-page.service.ts +176 -0
  200. package/src/lib/tab-strip/tab-strip.component.html +6 -0
  201. package/src/lib/tab-strip/tab-strip.component.ts +47 -0
  202. package/src/lib/tab-strip/tab-strip.module.ts +11 -0
  203. package/src/lib/tab-view/dynamic-tabs.directive.ts +17 -0
  204. package/src/lib/tab-view/tab-view.component.html +33 -0
  205. package/src/lib/tab-view/tab-view.component.scss +0 -0
  206. package/src/lib/tab-view/tab-view.component.ts +129 -0
  207. package/src/lib/tab-view/tab-view.module.ts +12 -0
  208. package/src/lib/tab-view/tab.component.html +8 -0
  209. package/src/lib/tab-view/tab.component.ts +15 -0
  210. package/src/lib/textarea/textarea.component.html +13 -0
  211. package/src/lib/textarea/textarea.component.ts +24 -0
  212. package/src/lib/textarea/textarea.module.ts +14 -0
  213. package/src/lib/textbox/textbox.component.html +22 -0
  214. package/src/lib/textbox/textbox.component.ts +38 -0
  215. package/src/lib/textbox/textbox.module.ts +16 -0
  216. package/src/lib/time-picker/time-picker.component.html +21 -0
  217. package/src/lib/time-picker/time-picker.component.ts +1003 -0
  218. package/src/lib/time-picker/time-picker.module.ts +15 -0
  219. package/src/lib/toast/toast-message/toast-message.component.html +17 -0
  220. package/src/lib/toast/toast-message/toast-message.component.scss +75 -0
  221. package/src/lib/toast/toast-message/toast-message.component.ts +64 -0
  222. package/src/lib/toast/toast-wrapper/toast-wrapper.component.scss +15 -0
  223. package/src/lib/toast/toast-wrapper/toast-wrapper.component.ts +13 -0
  224. package/src/lib/toast/toast.module.ts +12 -0
  225. package/src/lib/toast/toast.service.ts +64 -0
  226. package/src/lib/toolbar/group-button/toolbar-group-button.component.ts +54 -0
  227. package/src/lib/toolbar/menu/toolbar-menu.component.html +4 -0
  228. package/src/lib/toolbar/menu/toolbar-menu.component.ts +81 -0
  229. package/src/lib/toolbar/search/toolbar-search.component.html +4 -0
  230. package/src/lib/toolbar/search/toolbar-search.component.scss +24 -0
  231. package/src/lib/toolbar/search/toolbar-search.component.ts +61 -0
  232. package/src/lib/toolbar/title/toolbar-title.component.ts +35 -0
  233. package/src/lib/toolbar/toolbar-item.ts +4 -0
  234. package/src/lib/toolbar/toolbar.component.html +4 -0
  235. package/src/lib/toolbar/toolbar.component.scss +9 -0
  236. package/src/lib/toolbar/toolbar.component.ts +16 -0
  237. package/src/lib/toolbar/toolbar.module.ts +25 -0
  238. package/src/lib/tooltip/tooltip.directive.ts +101 -0
  239. package/src/lib/tooltip/tooltip.module.ts +11 -0
  240. package/src/lib/tree-side-menu/tree-side-menu.component.html +43 -0
  241. package/src/lib/tree-side-menu/tree-side-menu.component.ts +698 -0
  242. package/src/lib/tree-side-menu/tree-side-menu.module.ts +19 -0
  243. package/src/lib/tree-view/tree-view.component.html +45 -0
  244. package/src/lib/tree-view/tree-view.component.ts +781 -0
  245. package/src/lib/tree-view/tree-view.module.ts +16 -0
  246. package/src/lib/upload-file/upload-file.component.html +16 -0
  247. package/src/lib/upload-file/upload-file.component.ts +189 -0
  248. package/src/lib/upload-file/upload-file.events.ts +11 -0
  249. package/src/lib/upload-file/upload-file.module.ts +16 -0
  250. package/src/lib/validation/validation-form.component.ts +77 -0
  251. package/src/lib/validation/validation-rule.widget.ts +112 -0
  252. package/src/lib/validation/validation.class.ts +22 -0
  253. package/src/lib/validation/validation.component.ts +92 -0
  254. package/src/lib/validation/validation.module.ts +28 -0
  255. package/{public-api.d.ts → src/public-api.ts} +61 -2
  256. package/src/test.ts +28 -0
  257. package/tsconfig.lib.json +25 -0
  258. package/tsconfig.lib.prod.json +6 -0
  259. package/tsconfig.spec.json +17 -0
  260. package/tslint.json +17 -0
  261. package/acorex-components.d.ts +0 -5
  262. package/esm2020/acorex-components.mjs +0 -5
  263. package/esm2020/lib/accordion/accordion.component.mjs +0 -44
  264. package/esm2020/lib/accordion/accordion.module.mjs +0 -20
  265. package/esm2020/lib/base/base-page.class.mjs +0 -92
  266. package/esm2020/lib/base/element.class.mjs +0 -294
  267. package/esm2020/lib/base/events.class.mjs +0 -11
  268. package/esm2020/lib/button/button.component.mjs +0 -71
  269. package/esm2020/lib/button/button.module.mjs +0 -21
  270. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
  271. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  272. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
  273. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
  274. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
  275. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  276. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
  277. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  278. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
  279. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
  280. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
  281. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  282. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
  283. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
  284. package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
  285. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
  286. package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
  287. package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
  288. package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
  289. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
  290. package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
  291. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
  292. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
  293. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
  294. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
  295. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
  296. package/esm2020/lib/data-filter/filter.class.mjs +0 -44
  297. package/esm2020/lib/data-filter/filter.module.mjs +0 -90
  298. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
  299. package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
  300. package/esm2020/lib/data-list/list/list.component.mjs +0 -124
  301. package/esm2020/lib/data-list/list/list.module.mjs +0 -22
  302. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
  303. package/esm2020/lib/data-source/datasource.component.mjs +0 -47
  304. package/esm2020/lib/data-source/datasource.module.mjs +0 -18
  305. package/esm2020/lib/data-source/read-param.mjs +0 -5
  306. package/esm2020/lib/date-picker/date-picker.component.mjs +0 -705
  307. package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
  308. package/esm2020/lib/dialog/dialog.component.mjs +0 -24
  309. package/esm2020/lib/dialog/dialog.module.mjs +0 -21
  310. package/esm2020/lib/dialog/dialog.service.mjs +0 -150
  311. package/esm2020/lib/drawer/drawer.component.mjs +0 -54
  312. package/esm2020/lib/drawer/drawer.module.mjs +0 -20
  313. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -177
  314. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
  315. package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
  316. package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
  317. package/esm2020/lib/form-group/form-group.component.mjs +0 -33
  318. package/esm2020/lib/form-group/form-group.module.mjs +0 -21
  319. package/esm2020/lib/label/label.component.mjs +0 -19
  320. package/esm2020/lib/label/label.module.mjs +0 -21
  321. package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
  322. package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
  323. package/esm2020/lib/loading/loading.module.mjs +0 -21
  324. package/esm2020/lib/loading/loading.service.mjs +0 -45
  325. package/esm2020/lib/menu/menu-item.component.mjs +0 -47
  326. package/esm2020/lib/menu/menu.component.mjs +0 -86
  327. package/esm2020/lib/menu/menu.module.mjs +0 -22
  328. package/esm2020/lib/menu/menu2.component.mjs +0 -96
  329. package/esm2020/lib/number-box/number-box.component.mjs +0 -622
  330. package/esm2020/lib/number-box/number-box.module.mjs +0 -21
  331. package/esm2020/lib/page/content.component.mjs +0 -32
  332. package/esm2020/lib/page/footer.component.mjs +0 -19
  333. package/esm2020/lib/page/page.component.mjs +0 -53
  334. package/esm2020/lib/page/page.module.mjs +0 -22
  335. package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
  336. package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
  337. package/esm2020/lib/password-box/password-box.component.mjs +0 -31
  338. package/esm2020/lib/password-box/password-box.module.mjs +0 -23
  339. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
  340. package/esm2020/lib/popover/overlay.service.mjs +0 -87
  341. package/esm2020/lib/popover/popover.component.mjs +0 -115
  342. package/esm2020/lib/popover/popover.module.mjs +0 -19
  343. package/esm2020/lib/popup/popup.component.mjs +0 -146
  344. package/esm2020/lib/popup/popup.module.mjs +0 -25
  345. package/esm2020/lib/popup/popup.service.mjs +0 -93
  346. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
  347. package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
  348. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
  349. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  350. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
  351. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  352. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
  353. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
  354. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
  355. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  356. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -60
  357. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  358. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
  359. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
  360. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
  361. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  362. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
  363. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  364. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -30
  365. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  366. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
  367. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  368. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
  369. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  370. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -152
  371. package/esm2020/lib/property-editor/property-editor.class.mjs +0 -101
  372. package/esm2020/lib/property-editor/property-editor.module.mjs +0 -161
  373. package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
  374. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -171
  375. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -357
  376. package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
  377. package/esm2020/lib/query-builder/query-builder.component.mjs +0 -82
  378. package/esm2020/lib/query-builder/query-builder.module.mjs +0 -59
  379. package/esm2020/lib/query-builder/query-builder.service.mjs +0 -191
  380. package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
  381. package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
  382. package/esm2020/lib/selectbox/selectbox.component.mjs +0 -955
  383. package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
  384. package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
  385. package/esm2020/lib/selection-list/selection-list.component.mjs +0 -101
  386. package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
  387. package/esm2020/lib/switch/switch.component.mjs +0 -51
  388. package/esm2020/lib/switch/switch.module.mjs +0 -20
  389. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -69
  390. package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -109
  391. package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
  392. package/esm2020/lib/tab-page/tab-page.service.mjs +0 -156
  393. package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
  394. package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
  395. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
  396. package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
  397. package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
  398. package/esm2020/lib/tab-view/tab.component.mjs +0 -30
  399. package/esm2020/lib/textarea/textarea.component.mjs +0 -26
  400. package/esm2020/lib/textarea/textarea.module.mjs +0 -21
  401. package/esm2020/lib/textbox/textbox.component.mjs +0 -39
  402. package/esm2020/lib/textbox/textbox.module.mjs +0 -24
  403. package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
  404. package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
  405. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
  406. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  407. package/esm2020/lib/toast/toast.module.mjs +0 -21
  408. package/esm2020/lib/toast/toast.service.mjs +0 -44
  409. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
  410. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
  411. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
  412. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
  413. package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
  414. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
  415. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
  416. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
  417. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  418. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
  419. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
  420. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -726
  421. package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
  422. package/esm2020/lib/upload-file/upload-file.component.mjs +0 -170
  423. package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
  424. package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
  425. package/esm2020/lib/validation/validation-form.component.mjs +0 -64
  426. package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
  427. package/esm2020/lib/validation/validation.class.mjs +0 -2
  428. package/esm2020/lib/validation/validation.component.mjs +0 -89
  429. package/esm2020/lib/validation/validation.module.mjs +0 -34
  430. package/esm2020/public-api.mjs +0 -154
  431. package/fesm2015/acorex-components.mjs +0 -15087
  432. package/fesm2015/acorex-components.mjs.map +0 -1
  433. package/fesm2020/acorex-components.mjs +0 -15034
  434. package/fesm2020/acorex-components.mjs.map +0 -1
  435. package/lib/accordion/accordion.component.d.ts +0 -13
  436. package/lib/accordion/accordion.module.d.ts +0 -9
  437. package/lib/base/base-page.class.d.ts +0 -45
  438. package/lib/base/element.class.d.ts +0 -106
  439. package/lib/base/events.class.d.ts +0 -18
  440. package/lib/button/button.component.d.ts +0 -21
  441. package/lib/button/button.module.d.ts +0 -8
  442. package/lib/calendar/calendar-box/calendar-box.component.d.ts +0 -81
  443. package/lib/calendar/calendar-box/calendar-box.module.d.ts +0 -11
  444. package/lib/calendar/scheduler/scheduler-views.property.d.ts +0 -19
  445. package/lib/calendar/scheduler/scheduler.component.d.ts +0 -39
  446. package/lib/calendar/scheduler/scheduler.module.d.ts +0 -21
  447. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +0 -25
  448. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +0 -14
  449. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +0 -16
  450. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +0 -26
  451. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +0 -37
  452. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +0 -28
  453. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +0 -24
  454. package/lib/checkbox/checkbox.component.d.ts +0 -30
  455. package/lib/checkbox/checkbox.module.d.ts +0 -9
  456. package/lib/color-picker/color-box/color-box.component.d.ts +0 -25
  457. package/lib/color-picker/color-picker.component.d.ts +0 -30
  458. package/lib/color-picker/color-picker.module.d.ts +0 -13
  459. package/lib/context-menu/context-menu.component.d.ts +0 -22
  460. package/lib/context-menu/context-menu.directive.d.ts +0 -38
  461. package/lib/context-menu/context-menu.module.d.ts +0 -9
  462. package/lib/data-filter/columns/filter-column-date.component.d.ts +0 -22
  463. package/lib/data-filter/columns/filter-column-number.component.d.ts +0 -15
  464. package/lib/data-filter/columns/filter-column-selection.component.d.ts +0 -18
  465. package/lib/data-filter/columns/filter-column-string.component.d.ts +0 -15
  466. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +0 -45
  467. package/lib/data-filter/filter.class.d.ts +0 -40
  468. package/lib/data-filter/filter.module.d.ts +0 -24
  469. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +0 -25
  470. package/lib/data-list/core/data-list.component.d.ts +0 -15
  471. package/lib/data-list/list/list.component.d.ts +0 -40
  472. package/lib/data-list/list/list.module.d.ts +0 -11
  473. package/lib/data-list/list/toolbar-list-view.component.d.ts +0 -17
  474. package/lib/data-source/datasource.component.d.ts +0 -16
  475. package/lib/data-source/datasource.module.d.ts +0 -7
  476. package/lib/date-picker/date-picker.component.d.ts +0 -81
  477. package/lib/date-picker/date-picker.module.d.ts +0 -14
  478. package/lib/dialog/dialog.component.d.ts +0 -14
  479. package/lib/dialog/dialog.module.d.ts +0 -10
  480. package/lib/dialog/dialog.service.d.ts +0 -36
  481. package/lib/drawer/drawer.component.d.ts +0 -10
  482. package/lib/drawer/drawer.module.d.ts +0 -9
  483. package/lib/dropdown/dropdown.component.d.ts +0 -38
  484. package/lib/dropdown/dropdown.module.d.ts +0 -13
  485. package/lib/fieldset/fieldset.component.d.ts +0 -11
  486. package/lib/fieldset/fieldset.module.d.ts +0 -8
  487. package/lib/form-group/form-group.component.d.ts +0 -14
  488. package/lib/form-group/form-group.module.d.ts +0 -8
  489. package/lib/label/label.component.d.ts +0 -9
  490. package/lib/label/label.module.d.ts +0 -8
  491. package/lib/loading/loading-indicator.component.d.ts +0 -9
  492. package/lib/loading/loading-panel.component.d.ts +0 -13
  493. package/lib/loading/loading.module.d.ts +0 -10
  494. package/lib/loading/loading.service.d.ts +0 -13
  495. package/lib/menu/menu-item.component.d.ts +0 -18
  496. package/lib/menu/menu.component.d.ts +0 -35
  497. package/lib/menu/menu.module.d.ts +0 -11
  498. package/lib/menu/menu2.component.d.ts +0 -21
  499. package/lib/number-box/number-box.component.d.ts +0 -52
  500. package/lib/number-box/number-box.module.d.ts +0 -10
  501. package/lib/page/content.component.d.ts +0 -8
  502. package/lib/page/footer.component.d.ts +0 -5
  503. package/lib/page/page.component.d.ts +0 -16
  504. package/lib/page/page.module.d.ts +0 -11
  505. package/lib/panel-box/panel-box.component.d.ts +0 -19
  506. package/lib/panel-box/panel-box.module.d.ts +0 -8
  507. package/lib/password-box/password-box.component.d.ts +0 -12
  508. package/lib/password-box/password-box.module.d.ts +0 -10
  509. package/lib/popover/custom-cdk-overlay.service.d.ts +0 -19
  510. package/lib/popover/overlay.service.d.ts +0 -30
  511. package/lib/popover/popover.component.d.ts +0 -30
  512. package/lib/popover/popover.module.d.ts +0 -8
  513. package/lib/popup/popup.component.d.ts +0 -39
  514. package/lib/popup/popup.module.d.ts +0 -13
  515. package/lib/popup/popup.service.d.ts +0 -22
  516. package/lib/progress-bar/progress-bar.component.d.ts +0 -7
  517. package/lib/progress-bar/progress-bar.module.d.ts +0 -8
  518. package/lib/property-editor/editors/color-editor/color.editor.d.ts +0 -13
  519. package/lib/property-editor/editors/color-editor/color.module.d.ts +0 -12
  520. package/lib/property-editor/editors/column-editor/column.editor.d.ts +0 -34
  521. package/lib/property-editor/editors/column-editor/column.module.d.ts +0 -20
  522. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +0 -44
  523. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +0 -19
  524. package/lib/property-editor/editors/date-editor/date.editor.d.ts +0 -28
  525. package/lib/property-editor/editors/date-editor/date.module.d.ts +0 -12
  526. package/lib/property-editor/editors/number-editor/number.editor.d.ts +0 -19
  527. package/lib/property-editor/editors/number-editor/number.module.d.ts +0 -12
  528. package/lib/property-editor/editors/range-editor/range.editor.d.ts +0 -29
  529. package/lib/property-editor/editors/range-editor/range.module.d.ts +0 -18
  530. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +0 -28
  531. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +0 -13
  532. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +0 -11
  533. package/lib/property-editor/editors/switch-editor/number.module.d.ts +0 -13
  534. package/lib/property-editor/editors/text-editor/text.editor.d.ts +0 -15
  535. package/lib/property-editor/editors/text-editor/text.module.d.ts +0 -12
  536. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +0 -17
  537. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +0 -12
  538. package/lib/property-editor/editors/time-editor/time.editor.d.ts +0 -17
  539. package/lib/property-editor/editors/time-editor/time.module.d.ts +0 -12
  540. package/lib/property-editor/property-editor-renderer.directive.d.ts +0 -30
  541. package/lib/property-editor/property-editor.class.d.ts +0 -67
  542. package/lib/property-editor/property-editor.module.d.ts +0 -19
  543. package/lib/query-builder/query-builder-group.component.d.ts +0 -33
  544. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +0 -35
  545. package/lib/query-builder/query-builder-rule.component.d.ts +0 -45
  546. package/lib/query-builder/query-builder.class.d.ts +0 -45
  547. package/lib/query-builder/query-builder.component.d.ts +0 -27
  548. package/lib/query-builder/query-builder.module.d.ts +0 -22
  549. package/lib/query-builder/query-builder.service.d.ts +0 -18
  550. package/lib/searchbox/searchbox.component.d.ts +0 -22
  551. package/lib/searchbox/searchbox.module.d.ts +0 -13
  552. package/lib/selectbox/selectbox.component.d.ts +0 -116
  553. package/lib/selectbox/selectbox.module.d.ts +0 -15
  554. package/lib/selectbox/selectbox2.component.d.ts +0 -103
  555. package/lib/selection-list/selection-list.component.d.ts +0 -30
  556. package/lib/selection-list/selection-list.module.d.ts +0 -10
  557. package/lib/switch/switch.component.d.ts +0 -20
  558. package/lib/switch/switch.module.d.ts +0 -9
  559. package/lib/tab-page/tab-page-Renderer.component.d.ts +0 -16
  560. package/lib/tab-page/tab-page-host.component.d.ts +0 -26
  561. package/lib/tab-page/tab-page.module.d.ts +0 -10
  562. package/lib/tab-page/tab-page.service.d.ts +0 -30
  563. package/lib/tab-strip/tab-strip.component.d.ts +0 -28
  564. package/lib/tab-strip/tab-strip.module.d.ts +0 -8
  565. package/lib/tab-view/dynamic-tabs.directive.d.ts +0 -16
  566. package/lib/tab-view/tab-view.component.d.ts +0 -26
  567. package/lib/tab-view/tab-view.module.d.ts +0 -10
  568. package/lib/tab-view/tab.component.d.ts +0 -12
  569. package/lib/textarea/textarea.component.d.ts +0 -12
  570. package/lib/textarea/textarea.module.d.ts +0 -8
  571. package/lib/textbox/textbox.component.d.ts +0 -16
  572. package/lib/textbox/textbox.module.d.ts +0 -11
  573. package/lib/time-picker/time-picker.component.d.ts +0 -52
  574. package/lib/time-picker/time-picker.module.d.ts +0 -11
  575. package/lib/toast/toast-message/toast-message.component.d.ts +0 -18
  576. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +0 -8
  577. package/lib/toast/toast.module.d.ts +0 -9
  578. package/lib/toast/toast.service.d.ts +0 -18
  579. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +0 -12
  580. package/lib/toolbar/menu/toolbar-menu.component.d.ts +0 -24
  581. package/lib/toolbar/search/toolbar-search.component.d.ts +0 -16
  582. package/lib/toolbar/title/toolbar-title.component.d.ts +0 -9
  583. package/lib/toolbar/toolbar-item.d.ts +0 -3
  584. package/lib/toolbar/toolbar.component.d.ts +0 -8
  585. package/lib/toolbar/toolbar.module.d.ts +0 -14
  586. package/lib/tooltip/tooltip.directive.d.ts +0 -21
  587. package/lib/tooltip/tooltip.module.d.ts +0 -8
  588. package/lib/tree-side-menu/tree-side-menu.component.d.ts +0 -111
  589. package/lib/tree-side-menu/tree-side-menu.module.d.ts +0 -11
  590. package/lib/tree-view/tree-view.component.d.ts +0 -117
  591. package/lib/tree-view/tree-view.module.d.ts +0 -11
  592. package/lib/upload-file/upload-file.component.d.ts +0 -38
  593. package/lib/upload-file/upload-file.events.d.ts +0 -10
  594. package/lib/upload-file/upload-file.module.d.ts +0 -13
  595. package/lib/validation/validation-form.component.d.ts +0 -19
  596. package/lib/validation/validation-rule.widget.d.ts +0 -23
  597. package/lib/validation/validation.class.d.ts +0 -16
  598. package/lib/validation/validation.component.d.ts +0 -25
  599. package/lib/validation/validation.module.d.ts +0 -11
@@ -0,0 +1,181 @@
1
+ import { Directive, ViewContainerRef, ComponentFactoryResolver, Input, Output, EventEmitter, KeyValueDiffer, KeyValueDiffers } from '@angular/core';
2
+ import { AXProperyEditorComponent, AXProperyEditorValueChangeEvent, AXPropertyConfig } from './property-editor.class';
3
+ import { AXEventService, AXObjectUtil, AXRenderService, getPropByPath, setPropByPath } from '@acorex/core';
4
+ import { Subscription } from 'rxjs';
5
+ import { AXValidationFormComponent } from '../validation/validation-form.component';
6
+
7
+ @Directive({
8
+ selector: '[ax-property-editor-renderer]',
9
+ })
10
+ export class AXPropertyEditorRendererDirective {
11
+
12
+ private instance: AXProperyEditorComponent<any>;
13
+
14
+ @Input()
15
+ property: AXPropertyConfig;
16
+
17
+
18
+ @Input()
19
+ validationForm: AXValidationFormComponent;
20
+
21
+
22
+
23
+ private _context: any = {};
24
+ @Input()
25
+ public get context(): any {
26
+ return this._context;
27
+ }
28
+ public set context(v: any) {
29
+ this._context = v;
30
+ }
31
+
32
+ @Input()
33
+ host: any;
34
+
35
+ @Input()
36
+ groupId: any;
37
+
38
+
39
+ @Output()
40
+ onValueChange: EventEmitter<AXProperyEditorValueChangeEvent> = new EventEmitter<AXProperyEditorValueChangeEvent>();
41
+
42
+ private subscription: Subscription;
43
+
44
+ constructor(
45
+ private target: ViewContainerRef,
46
+ private componentFactoryResolver: ComponentFactoryResolver,
47
+ private renderService: AXRenderService,
48
+ private eventService: AXEventService
49
+ ) {
50
+
51
+ }
52
+
53
+
54
+ clear() {
55
+ this.instance.value = null;
56
+ }
57
+
58
+ ngOnInit(): void {
59
+ this.createComponent();
60
+ }
61
+
62
+
63
+
64
+
65
+
66
+ createComponent() {
67
+ this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then(c => {
68
+ if (c) {
69
+ const factory = this.componentFactoryResolver.resolveComponentFactory(c.component);
70
+ const cmpRef = this.target.createComponent(factory);
71
+ this.instance = cmpRef.instance as AXProperyEditorComponent<any>;
72
+ this.subscription = this.instance.valueChange.subscribe(value => {
73
+ this.property.value = value;
74
+ this.onValueChange.emit(this.property);
75
+ if (this.property?.property?.name) {
76
+ setTimeout(() => {
77
+ this.eventService.broadcast(`props-${this.groupId}-${this.property.property.name}`, this.property);
78
+ }, 0);
79
+ }
80
+ }) as any;
81
+ this.watchChanges();
82
+ this.assignProps();
83
+ this.instance.value = this.property.value;
84
+
85
+ // this.instance.onRenderCompleted.subscribe(() => {
86
+
87
+
88
+ // });
89
+
90
+ if (this.validationForm) {
91
+ this.instance.validatableComponentRegistered.subscribe(v => {
92
+ this.validationForm.addWidget(v);
93
+ });
94
+ }
95
+ }
96
+ });
97
+ }
98
+
99
+
100
+ private watchChanges() {
101
+ const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
102
+ const varNameRegx = /[a-zA-Z_0-9]+/gm;
103
+ const options = this.property.property.editorOptions;
104
+ if (!options) {
105
+ return;
106
+ }
107
+ for (const p in options) {
108
+ if (options.hasOwnProperty(p)) {
109
+ const opt = options[p];
110
+ const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
111
+ // bind the props
112
+ if (vars?.length) {
113
+ vars.forEach(v => {
114
+ const path = v.match(varNameRegx)?.length ? v.match(varNameRegx)[0] : null;
115
+ if (path) {
116
+ this.eventService.on(`props-${this.groupId}-${path}`, (e: AXPropertyConfig) => {
117
+ let execCode = opt.slice();
118
+ const params = {};
119
+ vars.forEach(vv => {
120
+ const p2 = vv.match(varNameRegx)?.length ? vv.match(varNameRegx)[0] : null;
121
+ params[p2] = AXObjectUtil.deepCopy(this.context[p2]) || null;
122
+ execCode = execCode.replace(vv, `__params__.${p2}`);
123
+ });
124
+
125
+ const func = new Function('__params__', `try { return ${execCode}} catch(e){ return null; }`);
126
+ const val = func(params);
127
+
128
+ const keys = p.split('.');
129
+ const prop = Object.assign({}, this.instance[keys[0]]);
130
+ if (keys.length > 1) {
131
+ this.instance[keys[0]] = setPropByPath(prop, p, val);
132
+ }
133
+ else {
134
+ setPropByPath(this.instance, p, val)
135
+ }
136
+ });
137
+ }
138
+ });
139
+ }
140
+ // else {
141
+ // this.assignProps();
142
+ // }
143
+ }
144
+ }
145
+ }
146
+
147
+
148
+ private assignProps() {
149
+ const options = this.property.property.editorOptions;
150
+ if (!options) {
151
+ return;
152
+ }
153
+ const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
154
+ for (const p in options) {
155
+ if (options.hasOwnProperty(p)) {
156
+ const opt = options[p];
157
+ const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
158
+ if (vars?.length) {
159
+ continue;
160
+ }
161
+ else {
162
+ const val = typeof opt === 'function' ? opt({ data: this.context, host: this.host }, this.property) : opt;
163
+ if (val instanceof Promise) {
164
+ val.then(v => {
165
+ setPropByPath(this.instance, p, val);
166
+ });
167
+ }
168
+ else {
169
+ setPropByPath(this.instance, p, val);
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+
176
+ ngOnDestroy() {
177
+ if (this.subscription) {
178
+ this.subscription.unsubscribe();
179
+ }
180
+ }
181
+ }
@@ -0,0 +1,178 @@
1
+ import { Input, Output, EventEmitter, ChangeDetectorRef, Directive } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AXValidatableComponent } from '../base/element.class';
4
+
5
+ export type AXDataType = 'string' | 'number' | 'date' | 'boolean' | 'object';
6
+ export type AXControlType = 'textbox' | 'numberbox' | 'datePicker' | 'switch' | 'custom';
7
+
8
+
9
+
10
+ export interface AXPropertyDef {
11
+ name: string;
12
+ title: string;
13
+ hint?: string;
14
+ defaultValue?: any;
15
+ editorClass: any;
16
+ editorOptions?: any;
17
+ visible?: boolean | (() => boolean);
18
+ order?: number;
19
+ }
20
+
21
+ export interface AXPropertyEditorDef {
22
+ title: string;
23
+ hint?: string;
24
+ defaultValue?: any;
25
+ editorClass: any;
26
+ editorOptions?: any;
27
+ visible?: boolean | (() => boolean);
28
+ order?: number;
29
+ }
30
+
31
+
32
+
33
+
34
+ export interface AXPropertyConfig {
35
+ property: AXPropertyDef;
36
+ value: any;
37
+ }
38
+
39
+
40
+ export interface AXProperyEditorValueChangeEvent {
41
+ property: AXPropertyDef;
42
+ value: any;
43
+ }
44
+
45
+
46
+
47
+ @Directive()
48
+ export abstract class AXProperyEditorComponent<T>{
49
+
50
+
51
+ readonly: boolean = false;
52
+
53
+
54
+ private _initiated: boolean = false;
55
+ private _valueBound: boolean = false;
56
+
57
+ public get initiated(): boolean {
58
+ return this._initiated && this._valueBound;
59
+ }
60
+
61
+
62
+ validatableComponentRegistered: Subject<AXValidatableComponent> = new Subject<AXValidatableComponent>();
63
+
64
+
65
+ registerForValidationForm(component?: AXValidatableComponent) {
66
+ this.validatableComponentRegistered.next(component);
67
+ }
68
+
69
+
70
+ @Output()
71
+ valueChange: EventEmitter<T> = new EventEmitter<T>();
72
+
73
+
74
+ @Output()
75
+ onRenderCompleted: EventEmitter<void> = new EventEmitter<void>();
76
+
77
+ private _value: T;
78
+ @Input()
79
+ public get value(): T {
80
+ return this._value;
81
+ }
82
+
83
+ public set value(v: T) {
84
+ if (v !== this._value) {
85
+ this._value = v;
86
+ this.valueChange.emit(v);
87
+ this.cdr.detectChanges();
88
+ //TODO: find better solution
89
+ setTimeout(() => {
90
+ this._valueBound = true;
91
+ }, 100);
92
+ }
93
+ }
94
+
95
+ constructor(protected cdr: ChangeDetectorRef) {
96
+ this.onRenderCompleted.subscribe(() => {
97
+ this._initiated = true;
98
+ });
99
+ }
100
+
101
+ uid: string;
102
+
103
+ handleValueChange(v: T) {
104
+ this.value = v;
105
+ }
106
+ }
107
+
108
+
109
+
110
+ export class AXPropertyDecorator {
111
+ cls: any;
112
+ property: string;
113
+ options: any;
114
+
115
+ constructor(
116
+ cls: any,
117
+ property: string,
118
+ options: any) {
119
+ this.cls = cls;
120
+ this.property = property;
121
+ this.options = options;
122
+ }
123
+ }
124
+
125
+
126
+ // @dynamic
127
+ export class AXPropertyDecorators {
128
+ private static REGISTRY = new Array<AXPropertyDecorator>();
129
+
130
+ static register(cls: string, property: string, options?: any) {
131
+ const item = AXPropertyDecorators.REGISTRY.find(c => c.cls === cls && c.property === property);
132
+ if (item) {
133
+ item.options = options;
134
+ }
135
+ else {
136
+ AXPropertyDecorators.REGISTRY.push(new AXPropertyDecorator(cls, property, options));
137
+ }
138
+ }
139
+
140
+
141
+
142
+ static has(cls: string, property: string): boolean {
143
+ return AXPropertyDecorators.REGISTRY.some(c => c.cls === cls && c.property === property);
144
+ }
145
+
146
+ static get(cls: string, property: string): AXPropertyDecorator {
147
+ return AXPropertyDecorators.REGISTRY.find(c => c.cls === cls && c.property === property);
148
+ }
149
+
150
+ static isValid(property: string): boolean {
151
+ if (property) {
152
+ return AXPropertyDecorators.REGISTRY.some(c => c.property === property);
153
+ }
154
+ return false;
155
+ }
156
+
157
+ static getProperties(target: any): AXPropertyDecorator[] {
158
+ const list: AXPropertyDecorator[] = [];
159
+ const p: any[] = Array<any>();
160
+ let superClass = Object.getPrototypeOf(target);
161
+ while (superClass.constructor.name !== 'Object') {
162
+ p.push(superClass.constructor);
163
+ superClass = Object.getPrototypeOf(superClass);
164
+ }
165
+ list.push(...AXPropertyDecorators.REGISTRY.filter(c => p.includes(c.cls.constructor)));
166
+ return list;
167
+ }
168
+ }
169
+
170
+
171
+
172
+ export function propertyEditor(options: AXPropertyEditorDef) {
173
+ return (target: any, key: string) => {
174
+ (options as any).name = key;
175
+ AXPropertyDecorators.register(target, key, options);
176
+ };
177
+ }
178
+
@@ -0,0 +1,97 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXTextPropertyEditorModule } from './editors/text-editor/text.module';
3
+ import { AXPropertyEditorRendererDirective } from './property-editor-renderer.directive';
4
+ import { RouterModule } from '@angular/router';
5
+ import { AXTextPropertyEditorComponent } from './editors/text-editor/text.editor';
6
+ import { AXNumberBoxPropertyEditorComponent } from './editors/number-editor/number.editor';
7
+ import { AXNumberBoxPropertyEditorModule } from './editors/number-editor/number.module';
8
+ import { AXSelectBoxPropertyEditorComponent } from './editors/selectbox-editor/selectbox.editor';
9
+ import { AXSelectBoxPropertyEditorModule } from './editors/selectbox-editor/selectbox.module';
10
+ import { AXRangePropertyEditorModule } from './editors/range-editor/range.module';
11
+ import { AXRangePropertyEditorComponent } from './editors/range-editor/range.editor';
12
+ import { AXColorPropertyEditorComponent } from './editors/color-editor/color.editor';
13
+ import { AXColorPropertyEditorModule } from './editors/color-editor/color.module';
14
+ import { ColumnPropertyEditorComponent } from './editors/column-editor/column.editor';
15
+ import { AXColumnPropertyEditorModule } from './editors/column-editor/column.module';
16
+ import { AXConditionalColorPropertyEditorComponent } from './editors/conditional-color-editor/conditional-color.editor';
17
+ import { AXConditionalColorPropertyEditorModule } from './editors/conditional-color-editor/conditional-color.module';
18
+ import { AXSwitchPropertyEditorModule } from './editors/switch-editor/number.module';
19
+ import { AXSwitchPropertyEditorComponent } from './editors/switch-editor/number.editor';
20
+ import { AXDatePropertyEditorModule } from './editors/date-editor/date.module';
21
+ import { AXDatePropertyEditorComponent } from './editors/date-editor/date.editor';
22
+ import { AXTimePropertyEditorModule } from './editors/time-editor/time.module';
23
+ import { AXTimePropertyEditorComponent } from './editors/time-editor/time.editor';
24
+ import { AXTextareaPropertyEditorComponent } from './editors/textarea-editor/textarea.editor';
25
+ import { AXTextareaPropertyEditorModule } from './editors/textarea-editor/textarea.module';
26
+
27
+
28
+ const WDIGET_MODULES = [
29
+ AXNumberBoxPropertyEditorModule,
30
+ AXTextPropertyEditorModule,
31
+ AXSelectBoxPropertyEditorModule,
32
+ AXRangePropertyEditorModule,
33
+ AXColorPropertyEditorModule,
34
+ AXConditionalColorPropertyEditorModule,
35
+ AXColumnPropertyEditorModule,
36
+ AXSwitchPropertyEditorModule,
37
+ AXDatePropertyEditorModule,
38
+ AXTimePropertyEditorModule,
39
+ AXTimePropertyEditorModule,
40
+ AXTextareaPropertyEditorModule
41
+
42
+ ];
43
+
44
+ @NgModule({
45
+ imports: [
46
+ WDIGET_MODULES,
47
+ RouterModule.forChild([
48
+ {
49
+ component: AXTextPropertyEditorComponent,
50
+ path: 'ax/editors/text'
51
+ },
52
+ {
53
+ component: AXTextareaPropertyEditorComponent,
54
+ path: 'ax/editors/textarea'
55
+ },
56
+ {
57
+ component: AXSelectBoxPropertyEditorComponent,
58
+ path: 'ax/editors/select'
59
+ },
60
+ {
61
+ component: AXNumberBoxPropertyEditorComponent,
62
+ path: 'ax/editors/number'
63
+ },
64
+ {
65
+ component: AXRangePropertyEditorComponent,
66
+ path: 'ax/editors/range'
67
+ },
68
+ {
69
+ component: AXConditionalColorPropertyEditorComponent,
70
+ path: 'ax/editors/conditional-color'
71
+ },
72
+ {
73
+ component: AXColorPropertyEditorComponent,
74
+ path: 'ax/editors/color'
75
+ },
76
+ {
77
+ component: AXSwitchPropertyEditorComponent,
78
+ path: 'ax/editors/switch'
79
+ },
80
+ {
81
+ component: ColumnPropertyEditorComponent,
82
+ path: 'ax/editors/column'
83
+ }, {
84
+ component: AXDatePropertyEditorComponent,
85
+ path: 'ax/editors/date'
86
+ },
87
+ {
88
+ component: AXTimePropertyEditorComponent,
89
+ path: 'ax/editors/time'
90
+ },
91
+ ])
92
+ ],
93
+ exports: [AXPropertyEditorRendererDirective],
94
+ declarations: [AXPropertyEditorRendererDirective],
95
+ providers: [],
96
+ })
97
+ export class AXProppertyEditorModule { }
@@ -0,0 +1,68 @@
1
+ <div class="header">
2
+ <div class="condition" *ngIf="parent">
3
+ <div class="text {{parent.condition}}">
4
+ <span>{{parent.condition }}</span>
5
+ </div>
6
+ </div>
7
+ <div class="handler">
8
+ <i class="far fa-grip-lines-vertical"></i>
9
+ </div>
10
+
11
+ <div class="detail {{group.condition}}" (click)="changeDetailMode()">
12
+ <div class="collapsed" *ngIf="collapsed;else expandedTemplate">
13
+ {{group.queryString}}
14
+ </div>
15
+ <ng-template #expandedTemplate>
16
+ <div class="expanded">
17
+ <strong>{{group.condition == 'OR' ? 'یکی از' : 'همه' }} <span>شرایط زیر برقرار باشد</span> </strong>
18
+ </div>
19
+ </ng-template>
20
+ </div>
21
+ <div class="buttons-list">
22
+ <div class="button remove" *ngIf="parent && mode=='new'" (click)="handleRemoveClick()">
23
+ <i class="far fa-times ax-danger-color"></i>
24
+ </div>
25
+ <div class="button edit" *ngIf="mode=='new'" (click)="handleChangeClick()">
26
+ <i class="far fa-retweet ax-danger-color"></i>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <div class="rules" *ngIf="!collapsed">
31
+ <!-- <ax-validation-form #form> -->
32
+
33
+ <div *ngFor="let item of group.items" class="group-item">
34
+ <ng-container *ngIf="item.condition;else ruleTemplate">
35
+ <ax-query-group (groupRuleChanged)="ruleChanged($event)" [mode]="mode" [group]="item" [fields]="fields"
36
+ [parent]="group">
37
+ </ax-query-group>
38
+ </ng-container>
39
+ <ng-template #ruleTemplate>
40
+ <ax-query-rule #queryRule (ruleChanged)="ruleChanged($event)" [mode]="mode"
41
+ (onRuleDelete)="ruleDelete($event)" [rule]="item" [fields]="fields" [parent]="group">
42
+ </ax-query-rule>
43
+ </ng-template>
44
+ </div>
45
+ <!-- </ax-validation-form> -->
46
+ <div class="group-item" *ngIf="mode=='new'">
47
+ <div class="ax-query-rule">
48
+ <div class="condition">
49
+ </div>
50
+ <div class="handler">
51
+ <i class="far fa-grip-lines-vertical"></i>
52
+ </div>
53
+ <div class="add-rule" (click)="addRule()" *ngIf="mode=='new'">
54
+ <i class="far fa-plus"></i>&nbsp;&nbsp;<span>شرط</span>
55
+ </div>
56
+ <div class="add-group" (click)="addGroup()" *ngIf="!showGroupCondition && mode=='new'">
57
+ <i class="far fa-plus"></i>&nbsp;&nbsp;<span>گروه</span>
58
+ </div>
59
+ <div *ngIf="showGroupCondition && mode=='new'" class="add-condition OR" (click)="addGroupOR()">
60
+ <i class="far fa-plus"></i>&nbsp;&nbsp;<span>OR</span>
61
+ </div>
62
+ <div *ngIf="showGroupCondition && mode=='new'" class="add-condition AND" (click)="addGroupAND()">
63
+ <i class="far fa-plus"></i>&nbsp;&nbsp;<span>AND</span>
64
+ </div>
65
+
66
+ </div>
67
+ </div>
68
+ </div>
@@ -0,0 +1,122 @@
1
+ import { Component, OnInit, Input, ViewEncapsulation, Output, EventEmitter, ViewChild } from '@angular/core';
2
+ import { AXValidationFormComponent } from '../validation/validation-form.component';
3
+ import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
4
+ import { AXQueryBuilderGroup, AXQueryBuilderGroupEvent, AXQueryBuilderRuleEvent, AXQueryBuilderRule } from './query-builder.class';
5
+ import { AXQueryBuilderService } from './query-builder.service';
6
+ @Component({
7
+ selector: 'ax-query-group',
8
+ templateUrl: 'query-builder-group.component.html',
9
+ host: { class: 'ax ax-query-group' },
10
+ encapsulation: ViewEncapsulation.None
11
+ })
12
+ export class AXQueryBuilderGroupComponent implements OnInit {
13
+ @ViewChild('queryRule') queryRule: AXQueryBuilderRuleComponent;
14
+ @ViewChild(AXValidationFormComponent) form: AXValidationFormComponent;
15
+ @Input()
16
+ group: AXQueryBuilderGroup;
17
+
18
+ collapsed: boolean = false;
19
+
20
+ @Input()
21
+ parent: AXQueryBuilderGroup;
22
+
23
+ @Input()
24
+ fields: any[] = [];
25
+
26
+ @Input()
27
+ mode: 'new' | 'edit' = 'new';
28
+
29
+ //ruleIsEditing: boolean = true;
30
+
31
+ @Output()
32
+ groupRuleChanged: EventEmitter<AXQueryBuilderGroupEvent> = new EventEmitter<AXQueryBuilderGroupEvent>();
33
+
34
+ showGroupCondition: boolean = false;
35
+
36
+ constructor(private qs: AXQueryBuilderService) {}
37
+
38
+ ngOnInit() {}
39
+
40
+ ruleDelete(e: AXQueryBuilderRuleEvent) {
41
+ this.group.items = this.group.items.filter((c) => c !== e.items);
42
+ this.ruleChanged(null);
43
+ }
44
+ handleRemoveClick() {
45
+ this.parent.items = this.parent.items.filter((c) => c !== this.group);
46
+ this.groupRuleChanged.emit({ groups: this.group, component: this });
47
+ }
48
+ saveRule() {
49
+ // this.form.validate().then(c => {
50
+ // });
51
+ // return this.queryRule.saveRule();
52
+ }
53
+ addRule() {
54
+ const item: AXQueryBuilderRule = new AXQueryBuilderRule();
55
+ if (this.fields.length > 0) {
56
+ // item.caption = this.fields[0].caption;
57
+ // item.dataType = this.fields[0].dataType;
58
+ // item.dataField = this.fields[0].dataField;
59
+ } else {
60
+ }
61
+ item.operator = 'equal';
62
+
63
+ if (item.dataType === 'string') {
64
+ item.value = '';
65
+ }
66
+ if (item.dataType === 'number') {
67
+ item.value = 0;
68
+ }
69
+
70
+ if (this.group.items == undefined) {
71
+ this.group.items = [];
72
+ }
73
+ this.group.items.push(item);
74
+ this.ruleChanged(null);
75
+ }
76
+ addGroup() {
77
+ this.showGroupCondition = true;
78
+ }
79
+ addGroupOR() {
80
+ this.makeGroup('OR');
81
+ }
82
+ addGroupAND() {
83
+ this.makeGroup('AND');
84
+ }
85
+ makeGroup(_condition) {
86
+ let r: AXQueryBuilderGroup = new AXQueryBuilderGroup();
87
+ r.condition = _condition;
88
+ r.items = [];
89
+ r.queryString = '';
90
+ if (this.group.items == undefined) {
91
+ this.group.items = [];
92
+ }
93
+ this.group.items.push(r);
94
+ this.showGroupCondition = false;
95
+ this.ruleChanged(null);
96
+ }
97
+ changeDetailMode() {
98
+ //if (this.parent) {
99
+ this.collapsed = !this.collapsed;
100
+ // this.ruleIsEditing = false;
101
+ //}
102
+ }
103
+
104
+ handleChangeClick() {
105
+ if (this.group.condition == 'OR') {
106
+ this.group.condition = 'AND';
107
+ } else {
108
+ this.group.condition = 'OR';
109
+ }
110
+ this.ruleChanged(null);
111
+ }
112
+
113
+ ruleChanged(e) {
114
+ ;
115
+ // this.group.queryString = this.qs.getQueryString(this.group, 'simple');
116
+ this.qs.getQueryStringSimple(this.group).then((c) => {
117
+ this.group.queryString = c;
118
+ this.group.queryStringElastic = this.qs.getQueryString(this.group, 'elastic');
119
+ this.groupRuleChanged.emit({ groups: this.group, component: this });
120
+ });
121
+ }
122
+ }