@acorex/components 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/acorex-components.d.ts +5 -0
  2. package/esm2020/acorex-components.mjs +5 -0
  3. package/esm2020/lib/accordion/accordion.component.mjs +44 -0
  4. package/esm2020/lib/accordion/accordion.module.mjs +20 -0
  5. package/esm2020/lib/base/base-page.class.mjs +92 -0
  6. package/esm2020/lib/base/components.class.mjs +17 -0
  7. package/esm2020/lib/base/element.class.mjs +294 -0
  8. package/esm2020/lib/base/events.class.mjs +11 -0
  9. package/esm2020/lib/button/button.component.mjs +71 -0
  10. package/esm2020/lib/button/button.module.mjs +21 -0
  11. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -0
  12. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  13. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -0
  14. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -0
  15. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -0
  16. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  17. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -0
  18. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  19. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -0
  20. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -0
  21. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -0
  22. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  23. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -0
  24. package/esm2020/lib/checkbox/checkbox.component.mjs +98 -0
  25. package/esm2020/lib/checkbox/checkbox.module.mjs +20 -0
  26. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -0
  27. package/esm2020/lib/color-picker/color-picker.component.mjs +82 -0
  28. package/esm2020/lib/color-picker/color-picker.module.mjs +24 -0
  29. package/esm2020/lib/context-menu/context-menu.component.mjs +65 -0
  30. package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -0
  31. package/esm2020/lib/context-menu/context-menu.module.mjs +20 -0
  32. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -0
  33. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -0
  34. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -0
  35. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -0
  36. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -0
  37. package/esm2020/lib/data-filter/filter.class.mjs +44 -0
  38. package/esm2020/lib/data-filter/filter.module.mjs +90 -0
  39. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -0
  40. package/esm2020/lib/data-list/core/data-list.component.mjs +40 -0
  41. package/esm2020/lib/data-list/list/list.component.mjs +124 -0
  42. package/esm2020/lib/data-list/list/list.module.mjs +22 -0
  43. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -0
  44. package/esm2020/lib/data-source/datasource.component.mjs +47 -0
  45. package/esm2020/lib/data-source/datasource.module.mjs +18 -0
  46. package/esm2020/lib/data-source/read-param.mjs +5 -0
  47. package/esm2020/lib/date-picker/date-picker.component.mjs +705 -0
  48. package/esm2020/lib/date-picker/date-picker.module.mjs +25 -0
  49. package/esm2020/lib/dialog/dialog.component.mjs +24 -0
  50. package/esm2020/lib/dialog/dialog.module.mjs +21 -0
  51. package/esm2020/lib/dialog/dialog.service.mjs +150 -0
  52. package/esm2020/lib/drawer/content.component.mjs +18 -0
  53. package/esm2020/lib/drawer/drawer-container.component.mjs +36 -0
  54. package/esm2020/lib/drawer/drawer.component.mjs +143 -0
  55. package/esm2020/lib/drawer/drawer.module.mjs +23 -0
  56. package/esm2020/lib/dropdown/dropdown.component.mjs +177 -0
  57. package/esm2020/lib/dropdown/dropdown.module.mjs +26 -0
  58. package/esm2020/lib/fieldset/fieldset.component.mjs +59 -0
  59. package/esm2020/lib/fieldset/fieldset.module.mjs +19 -0
  60. package/esm2020/lib/form-group/form-group.component.mjs +33 -0
  61. package/esm2020/lib/form-group/form-group.module.mjs +21 -0
  62. package/esm2020/lib/label/label.component.mjs +19 -0
  63. package/esm2020/lib/label/label.module.mjs +21 -0
  64. package/esm2020/lib/loading/loading-indicator.component.mjs +17 -0
  65. package/esm2020/lib/loading/loading-panel.component.mjs +44 -0
  66. package/esm2020/lib/loading/loading.module.mjs +21 -0
  67. package/esm2020/lib/loading/loading.service.mjs +45 -0
  68. package/esm2020/lib/menu/menu-item.component.mjs +47 -0
  69. package/esm2020/lib/menu/menu.component.mjs +86 -0
  70. package/esm2020/lib/menu/menu.module.mjs +22 -0
  71. package/esm2020/lib/menu/menu2.component.mjs +96 -0
  72. package/esm2020/lib/number-box/number-box.component.mjs +622 -0
  73. package/esm2020/lib/number-box/number-box.module.mjs +21 -0
  74. package/esm2020/lib/page/content.component.mjs +32 -0
  75. package/esm2020/lib/page/footer.component.mjs +19 -0
  76. package/esm2020/lib/page/page.component.mjs +53 -0
  77. package/esm2020/lib/page/page.module.mjs +22 -0
  78. package/esm2020/lib/panel-box/panel-box.component.mjs +88 -0
  79. package/esm2020/lib/panel-box/panel-box.module.mjs +19 -0
  80. package/esm2020/lib/password-box/password-box.component.mjs +31 -0
  81. package/esm2020/lib/password-box/password-box.module.mjs +23 -0
  82. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -0
  83. package/esm2020/lib/popover/overlay.service.mjs +87 -0
  84. package/esm2020/lib/popover/popover.component.mjs +115 -0
  85. package/esm2020/lib/popover/popover.module.mjs +19 -0
  86. package/esm2020/lib/popup/popup.component.mjs +146 -0
  87. package/esm2020/lib/popup/popup.module.mjs +25 -0
  88. package/esm2020/lib/popup/popup.service.mjs +93 -0
  89. package/esm2020/lib/progress-bar/progress-bar.component.mjs +19 -0
  90. package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -0
  91. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -0
  92. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  93. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -0
  94. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  95. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -0
  96. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -0
  97. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -0
  98. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  99. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +60 -0
  100. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  101. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -0
  102. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -0
  103. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +71 -0
  104. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  105. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -0
  106. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  107. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +30 -0
  108. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  109. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -0
  110. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  111. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -0
  112. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  113. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +152 -0
  114. package/esm2020/lib/property-editor/property-editor.class.mjs +101 -0
  115. package/esm2020/lib/property-editor/property-editor.module.mjs +161 -0
  116. package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -0
  117. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -0
  118. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +357 -0
  119. package/esm2020/lib/query-builder/query-builder.class.mjs +20 -0
  120. package/esm2020/lib/query-builder/query-builder.component.mjs +82 -0
  121. package/esm2020/lib/query-builder/query-builder.module.mjs +59 -0
  122. package/esm2020/lib/query-builder/query-builder.service.mjs +191 -0
  123. package/esm2020/lib/searchbox/searchbox.component.mjs +79 -0
  124. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
  125. package/esm2020/lib/selectbox/selectbox.component.mjs +955 -0
  126. package/esm2020/lib/selectbox/selectbox.module.mjs +44 -0
  127. package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -0
  128. package/esm2020/lib/selection-list/selection-list.component.mjs +101 -0
  129. package/esm2020/lib/selection-list/selection-list.module.mjs +21 -0
  130. package/esm2020/lib/switch/switch.component.mjs +51 -0
  131. package/esm2020/lib/switch/switch.module.mjs +20 -0
  132. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +69 -0
  133. package/esm2020/lib/tab-page/tab-page-host.component.mjs +109 -0
  134. package/esm2020/lib/tab-page/tab-page.module.mjs +21 -0
  135. package/esm2020/lib/tab-page/tab-page.service.mjs +156 -0
  136. package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -0
  137. package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -0
  138. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -0
  139. package/esm2020/lib/tab-view/tab-view.component.mjs +105 -0
  140. package/esm2020/lib/tab-view/tab-view.module.mjs +21 -0
  141. package/esm2020/lib/tab-view/tab.component.mjs +30 -0
  142. package/esm2020/lib/textarea/textarea.component.mjs +26 -0
  143. package/esm2020/lib/textarea/textarea.module.mjs +21 -0
  144. package/esm2020/lib/textbox/textbox.component.mjs +39 -0
  145. package/esm2020/lib/textbox/textbox.module.mjs +24 -0
  146. package/esm2020/lib/time-picker/time-picker.component.mjs +943 -0
  147. package/esm2020/lib/time-picker/time-picker.module.mjs +22 -0
  148. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -0
  149. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  150. package/esm2020/lib/toast/toast.module.mjs +21 -0
  151. package/esm2020/lib/toast/toast.service.mjs +44 -0
  152. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -0
  153. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -0
  154. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -0
  155. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -0
  156. package/esm2020/lib/toolbar/toolbar-item.mjs +6 -0
  157. package/esm2020/lib/toolbar/toolbar.component.mjs +13 -0
  158. package/esm2020/lib/toolbar/toolbar.module.mjs +40 -0
  159. package/esm2020/lib/tooltip/tooltip.directive.mjs +100 -0
  160. package/esm2020/lib/tooltip/tooltip.module.mjs +19 -0
  161. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -0
  162. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -0
  163. package/esm2020/lib/tree-view/tree-view.component.mjs +726 -0
  164. package/esm2020/lib/tree-view/tree-view.module.mjs +22 -0
  165. package/esm2020/lib/upload-file/upload-file.component.mjs +170 -0
  166. package/esm2020/lib/upload-file/upload-file.events.mjs +2 -0
  167. package/esm2020/lib/upload-file/upload-file.module.mjs +24 -0
  168. package/esm2020/lib/validation/validation-form.component.mjs +64 -0
  169. package/esm2020/lib/validation/validation-rule.widget.mjs +111 -0
  170. package/esm2020/lib/validation/validation.class.mjs +2 -0
  171. package/esm2020/lib/validation/validation.component.mjs +89 -0
  172. package/esm2020/lib/validation/validation.module.mjs +34 -0
  173. package/esm2020/public-api.mjs +156 -0
  174. package/fesm2015/acorex-components.mjs +15244 -0
  175. package/fesm2015/acorex-components.mjs.map +1 -0
  176. package/fesm2020/acorex-components.mjs +15189 -0
  177. package/fesm2020/acorex-components.mjs.map +1 -0
  178. package/lib/accordion/accordion.component.d.ts +13 -0
  179. package/lib/accordion/accordion.module.d.ts +9 -0
  180. package/lib/base/base-page.class.d.ts +45 -0
  181. package/lib/base/components.class.d.ts +10 -0
  182. package/lib/base/element.class.d.ts +106 -0
  183. package/lib/base/events.class.d.ts +18 -0
  184. package/lib/button/button.component.d.ts +21 -0
  185. package/lib/button/button.module.d.ts +8 -0
  186. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -0
  187. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -0
  188. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -0
  189. package/{src/lib/calendar/scheduler/scheduler.class.ts → lib/calendar/scheduler/scheduler.class.d.ts} +6 -20
  190. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -0
  191. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -0
  192. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -0
  193. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -0
  194. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -0
  195. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -0
  196. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -0
  197. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -0
  198. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -0
  199. package/lib/checkbox/checkbox.component.d.ts +30 -0
  200. package/lib/checkbox/checkbox.module.d.ts +9 -0
  201. package/lib/color-picker/color-box/color-box.component.d.ts +25 -0
  202. package/lib/color-picker/color-picker.component.d.ts +30 -0
  203. package/lib/color-picker/color-picker.module.d.ts +13 -0
  204. package/lib/context-menu/context-menu.component.d.ts +22 -0
  205. package/lib/context-menu/context-menu.directive.d.ts +38 -0
  206. package/lib/context-menu/context-menu.module.d.ts +9 -0
  207. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -0
  208. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -0
  209. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -0
  210. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -0
  211. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -0
  212. package/lib/data-filter/filter.class.d.ts +40 -0
  213. package/lib/data-filter/filter.module.d.ts +24 -0
  214. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -0
  215. package/lib/data-list/core/data-list.component.d.ts +15 -0
  216. package/lib/data-list/list/list.component.d.ts +40 -0
  217. package/lib/data-list/list/list.module.d.ts +11 -0
  218. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -0
  219. package/lib/data-source/datasource.component.d.ts +16 -0
  220. package/lib/data-source/datasource.module.d.ts +7 -0
  221. package/{src/lib/data-source/read-param.ts → lib/data-source/read-param.d.ts} +3 -13
  222. package/lib/date-picker/date-picker.component.d.ts +81 -0
  223. package/lib/date-picker/date-picker.module.d.ts +14 -0
  224. package/lib/dialog/dialog.component.d.ts +14 -0
  225. package/lib/dialog/dialog.module.d.ts +10 -0
  226. package/lib/dialog/dialog.service.d.ts +36 -0
  227. package/lib/drawer/content.component.d.ts +7 -0
  228. package/lib/drawer/drawer-container.component.d.ts +10 -0
  229. package/lib/drawer/drawer.component.d.ts +34 -0
  230. package/lib/drawer/drawer.module.d.ts +10 -0
  231. package/lib/dropdown/dropdown.component.d.ts +38 -0
  232. package/lib/dropdown/dropdown.module.d.ts +13 -0
  233. package/lib/fieldset/fieldset.component.d.ts +11 -0
  234. package/lib/fieldset/fieldset.module.d.ts +8 -0
  235. package/lib/form-group/form-group.component.d.ts +14 -0
  236. package/lib/form-group/form-group.module.d.ts +8 -0
  237. package/lib/label/label.component.d.ts +9 -0
  238. package/lib/label/label.module.d.ts +8 -0
  239. package/lib/loading/loading-indicator.component.d.ts +9 -0
  240. package/lib/loading/loading-panel.component.d.ts +13 -0
  241. package/lib/loading/loading.module.d.ts +10 -0
  242. package/lib/loading/loading.service.d.ts +13 -0
  243. package/lib/menu/menu-item.component.d.ts +18 -0
  244. package/lib/menu/menu.component.d.ts +35 -0
  245. package/lib/menu/menu.module.d.ts +11 -0
  246. package/lib/menu/menu2.component.d.ts +21 -0
  247. package/lib/number-box/number-box.component.d.ts +52 -0
  248. package/lib/number-box/number-box.module.d.ts +10 -0
  249. package/lib/page/content.component.d.ts +8 -0
  250. package/lib/page/footer.component.d.ts +5 -0
  251. package/lib/page/page.component.d.ts +16 -0
  252. package/lib/page/page.module.d.ts +11 -0
  253. package/lib/panel-box/panel-box.component.d.ts +19 -0
  254. package/lib/panel-box/panel-box.module.d.ts +8 -0
  255. package/lib/password-box/password-box.component.d.ts +12 -0
  256. package/lib/password-box/password-box.module.d.ts +10 -0
  257. package/lib/popover/custom-cdk-overlay.service.d.ts +19 -0
  258. package/lib/popover/overlay.service.d.ts +30 -0
  259. package/lib/popover/popover.component.d.ts +30 -0
  260. package/lib/popover/popover.module.d.ts +8 -0
  261. package/lib/popup/popup.component.d.ts +39 -0
  262. package/lib/popup/popup.module.d.ts +13 -0
  263. package/lib/popup/popup.service.d.ts +22 -0
  264. package/lib/progress-bar/progress-bar.component.d.ts +7 -0
  265. package/lib/progress-bar/progress-bar.module.d.ts +8 -0
  266. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -0
  267. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -0
  268. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -0
  269. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -0
  270. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -0
  271. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -0
  272. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -0
  273. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -0
  274. package/lib/property-editor/editors/number-editor/number.editor.d.ts +19 -0
  275. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -0
  276. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -0
  277. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -0
  278. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -0
  279. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +13 -0
  280. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -0
  281. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -0
  282. package/lib/property-editor/editors/text-editor/text.editor.d.ts +15 -0
  283. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -0
  284. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -0
  285. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -0
  286. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -0
  287. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -0
  288. package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -0
  289. package/lib/property-editor/property-editor.class.d.ts +67 -0
  290. package/lib/property-editor/property-editor.module.d.ts +19 -0
  291. package/lib/query-builder/query-builder-group.component.d.ts +33 -0
  292. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -0
  293. package/lib/query-builder/query-builder-rule.component.d.ts +45 -0
  294. package/lib/query-builder/query-builder.class.d.ts +45 -0
  295. package/lib/query-builder/query-builder.component.d.ts +27 -0
  296. package/lib/query-builder/query-builder.module.d.ts +22 -0
  297. package/lib/query-builder/query-builder.service.d.ts +18 -0
  298. package/lib/searchbox/searchbox.component.d.ts +22 -0
  299. package/lib/searchbox/searchbox.module.d.ts +13 -0
  300. package/lib/selectbox/selectbox.component.d.ts +116 -0
  301. package/lib/selectbox/selectbox.module.d.ts +15 -0
  302. package/lib/selectbox/selectbox2.component.d.ts +103 -0
  303. package/lib/selection-list/selection-list.component.d.ts +30 -0
  304. package/lib/selection-list/selection-list.module.d.ts +10 -0
  305. package/lib/switch/switch.component.d.ts +20 -0
  306. package/lib/switch/switch.module.d.ts +9 -0
  307. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -0
  308. package/lib/tab-page/tab-page-host.component.d.ts +26 -0
  309. package/lib/tab-page/tab-page.module.d.ts +10 -0
  310. package/lib/tab-page/tab-page.service.d.ts +30 -0
  311. package/lib/tab-strip/tab-strip.component.d.ts +28 -0
  312. package/lib/tab-strip/tab-strip.module.d.ts +8 -0
  313. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -0
  314. package/lib/tab-view/tab-view.component.d.ts +26 -0
  315. package/lib/tab-view/tab-view.module.d.ts +10 -0
  316. package/lib/tab-view/tab.component.d.ts +12 -0
  317. package/lib/textarea/textarea.component.d.ts +12 -0
  318. package/lib/textarea/textarea.module.d.ts +8 -0
  319. package/lib/textbox/textbox.component.d.ts +16 -0
  320. package/lib/textbox/textbox.module.d.ts +11 -0
  321. package/lib/time-picker/time-picker.component.d.ts +52 -0
  322. package/lib/time-picker/time-picker.module.d.ts +11 -0
  323. package/lib/toast/toast-message/toast-message.component.d.ts +18 -0
  324. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -0
  325. package/lib/toast/toast.module.d.ts +9 -0
  326. package/lib/toast/toast.service.d.ts +18 -0
  327. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -0
  328. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -0
  329. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -0
  330. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -0
  331. package/lib/toolbar/toolbar-item.d.ts +3 -0
  332. package/lib/toolbar/toolbar.component.d.ts +8 -0
  333. package/lib/toolbar/toolbar.module.d.ts +14 -0
  334. package/lib/tooltip/tooltip.directive.d.ts +21 -0
  335. package/lib/tooltip/tooltip.module.d.ts +8 -0
  336. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -0
  337. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -0
  338. package/lib/tree-view/tree-view.component.d.ts +117 -0
  339. package/lib/tree-view/tree-view.module.d.ts +11 -0
  340. package/lib/upload-file/upload-file.component.d.ts +38 -0
  341. package/lib/upload-file/upload-file.events.d.ts +10 -0
  342. package/lib/upload-file/upload-file.module.d.ts +13 -0
  343. package/lib/validation/validation-form.component.d.ts +19 -0
  344. package/lib/validation/validation-rule.widget.d.ts +23 -0
  345. package/lib/validation/validation.class.d.ts +16 -0
  346. package/lib/validation/validation.component.d.ts +25 -0
  347. package/lib/validation/validation.module.d.ts +11 -0
  348. package/package.json +33 -13
  349. package/{src/public-api.ts → public-api.d.ts} +4 -61
  350. package/karma.conf.js +0 -32
  351. package/ng-package.json +0 -10
  352. package/src/lib/accordion/accordion.component.ts +0 -43
  353. package/src/lib/accordion/accordion.module.ts +0 -11
  354. package/src/lib/accordion/api.ts +0 -2
  355. package/src/lib/base/base-page.class.ts +0 -115
  356. package/src/lib/base/element.class.ts +0 -344
  357. package/src/lib/base/events.class.ts +0 -32
  358. package/src/lib/button/button.component.html +0 -17
  359. package/src/lib/button/button.component.ts +0 -72
  360. package/src/lib/button/button.module.ts +0 -14
  361. package/src/lib/calendar/calendar-box/calendar-box.component.html +0 -68
  362. package/src/lib/calendar/calendar-box/calendar-box.component.ts +0 -461
  363. package/src/lib/calendar/calendar-box/calendar-box.module.ts +0 -16
  364. package/src/lib/calendar/scheduler/scheduler-views.property.ts +0 -38
  365. package/src/lib/calendar/scheduler/scheduler.component.html +0 -9
  366. package/src/lib/calendar/scheduler/scheduler.component.scss +0 -181
  367. package/src/lib/calendar/scheduler/scheduler.component.ts +0 -249
  368. package/src/lib/calendar/scheduler/scheduler.module.ts +0 -45
  369. package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.ts +0 -133
  370. package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.ts +0 -33
  371. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.html +0 -43
  372. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.scss +0 -66
  373. package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.ts +0 -50
  374. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.html +0 -45
  375. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.scss +0 -19
  376. package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.ts +0 -103
  377. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.html +0 -39
  378. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.scss +0 -55
  379. package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.ts +0 -233
  380. package/src/lib/calendar/scheduler/views/scheduler-view.component.ts +0 -124
  381. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.html +0 -50
  382. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.scss +0 -4
  383. package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.ts +0 -92
  384. package/src/lib/checkbox/checkbox.component.html +0 -22
  385. package/src/lib/checkbox/checkbox.component.ts +0 -106
  386. package/src/lib/checkbox/checkbox.module.ts +0 -11
  387. package/src/lib/color-picker/color-box/color-box.component.html +0 -37
  388. package/src/lib/color-picker/color-box/color-box.component.scss +0 -60
  389. package/src/lib/color-picker/color-box/color-box.component.ts +0 -438
  390. package/src/lib/color-picker/color-picker.component.html +0 -31
  391. package/src/lib/color-picker/color-picker.component.ts +0 -87
  392. package/src/lib/color-picker/color-picker.module.ts +0 -16
  393. package/src/lib/context-menu/context-menu.component.html +0 -42
  394. package/src/lib/context-menu/context-menu.component.ts +0 -78
  395. package/src/lib/context-menu/context-menu.directive.ts +0 -159
  396. package/src/lib/context-menu/context-menu.module.ts +0 -15
  397. package/src/lib/data-filter/columns/filter-column-date.component.ts +0 -123
  398. package/src/lib/data-filter/columns/filter-column-number.component.ts +0 -100
  399. package/src/lib/data-filter/columns/filter-column-selection.component.ts +0 -69
  400. package/src/lib/data-filter/columns/filter-column-string.component.ts +0 -100
  401. package/src/lib/data-filter/filter-panel/filter-panel.component.html +0 -120
  402. package/src/lib/data-filter/filter-panel/filter-panel.component.scss +0 -143
  403. package/src/lib/data-filter/filter-panel/filter-panel.component.ts +0 -266
  404. package/src/lib/data-filter/filter.class.ts +0 -73
  405. package/src/lib/data-filter/filter.module.ts +0 -52
  406. package/src/lib/data-filter/toolbar/filter-toolbar.component.html +0 -5
  407. package/src/lib/data-filter/toolbar/filter-toolbar.component.scss +0 -17
  408. package/src/lib/data-filter/toolbar/filter-toolbar.component.ts +0 -179
  409. package/src/lib/data-list/core/data-list.component.ts +0 -62
  410. package/src/lib/data-list/list/list.component.html +0 -32
  411. package/src/lib/data-list/list/list.component.scss +0 -64
  412. package/src/lib/data-list/list/list.component.ts +0 -149
  413. package/src/lib/data-list/list/list.module.ts +0 -14
  414. package/src/lib/data-list/list/toolbar-list-view.component.ts +0 -63
  415. package/src/lib/data-source/datasource.component.ts +0 -50
  416. package/src/lib/data-source/datasource.module.ts +0 -11
  417. package/src/lib/date-picker/date-picker.component.html +0 -30
  418. package/src/lib/date-picker/date-picker.component.scss +0 -5
  419. package/src/lib/date-picker/date-picker.component.ts +0 -723
  420. package/src/lib/date-picker/date-picker.module.ts +0 -17
  421. package/src/lib/dialog/dialog.component.html +0 -5
  422. package/src/lib/dialog/dialog.component.scss +0 -32
  423. package/src/lib/dialog/dialog.component.ts +0 -32
  424. package/src/lib/dialog/dialog.module.ts +0 -13
  425. package/src/lib/dialog/dialog.service.ts +0 -178
  426. package/src/lib/drawer/drawer.component.html +0 -5
  427. package/src/lib/drawer/drawer.component.ts +0 -53
  428. package/src/lib/drawer/drawer.module.ts +0 -11
  429. package/src/lib/dropdown/dropdown.component.html +0 -25
  430. package/src/lib/dropdown/dropdown.component.scss +0 -9
  431. package/src/lib/dropdown/dropdown.component.ts +0 -200
  432. package/src/lib/dropdown/dropdown.module.ts +0 -19
  433. package/src/lib/fieldset/fieldset.component.html +0 -6
  434. package/src/lib/fieldset/fieldset.component.ts +0 -49
  435. package/src/lib/fieldset/fieldset.module.ts +0 -11
  436. package/src/lib/form-group/form-group.component.html +0 -15
  437. package/src/lib/form-group/form-group.component.ts +0 -39
  438. package/src/lib/form-group/form-group.module.ts +0 -14
  439. package/src/lib/label/label.component.html +0 -5
  440. package/src/lib/label/label.component.ts +0 -18
  441. package/src/lib/label/label.module.ts +0 -14
  442. package/src/lib/loading/loading-indicator.component.html +0 -27
  443. package/src/lib/loading/loading-indicator.component.ts +0 -16
  444. package/src/lib/loading/loading-panel.component.ts +0 -37
  445. package/src/lib/loading/loading.module.ts +0 -13
  446. package/src/lib/loading/loading.service.ts +0 -44
  447. package/src/lib/menu/menu-item.component.ts +0 -41
  448. package/src/lib/menu/menu.component.html +0 -65
  449. package/src/lib/menu/menu.component.ts +0 -111
  450. package/src/lib/menu/menu.module.ts +0 -13
  451. package/src/lib/menu/menu2.component.scss +0 -59
  452. package/src/lib/menu/menu2.component.ts +0 -98
  453. package/src/lib/number-box/number-box.component.html +0 -32
  454. package/src/lib/number-box/number-box.component.ts +0 -641
  455. package/src/lib/number-box/number-box.module.ts +0 -13
  456. package/src/lib/page/content.component.ts +0 -18
  457. package/src/lib/page/footer.component.ts +0 -13
  458. package/src/lib/page/page.component.ts +0 -43
  459. package/src/lib/page/page.module.ts +0 -14
  460. package/src/lib/panel-box/panel-box.component.html +0 -19
  461. package/src/lib/panel-box/panel-box.component.scss +0 -25
  462. package/src/lib/panel-box/panel-box.component.ts +0 -87
  463. package/src/lib/panel-box/panel-box.module.ts +0 -10
  464. package/src/lib/password-box/password-box.component.html +0 -22
  465. package/src/lib/password-box/password-box.component.ts +0 -30
  466. package/src/lib/password-box/password-box.module.ts +0 -16
  467. package/src/lib/popover/custom-cdk-overlay.service.ts +0 -82
  468. package/src/lib/popover/overlay.service.ts +0 -110
  469. package/src/lib/popover/popover.component.html +0 -5
  470. package/src/lib/popover/popover.component.scss +0 -9
  471. package/src/lib/popover/popover.component.ts +0 -117
  472. package/src/lib/popover/popover.module.ts +0 -11
  473. package/src/lib/popup/popup.component.html +0 -33
  474. package/src/lib/popup/popup.component.scss +0 -173
  475. package/src/lib/popup/popup.component.ts +0 -182
  476. package/src/lib/popup/popup.module.ts +0 -16
  477. package/src/lib/popup/popup.service.ts +0 -103
  478. package/src/lib/progress-bar/progress-bar.component.html +0 -5
  479. package/src/lib/progress-bar/progress-bar.component.ts +0 -10
  480. package/src/lib/progress-bar/progress-bar.module.ts +0 -11
  481. package/src/lib/property-editor/editors/color-editor/color.editor.ts +0 -30
  482. package/src/lib/property-editor/editors/color-editor/color.module.ts +0 -20
  483. package/src/lib/property-editor/editors/column-editor/column.editor.html +0 -75
  484. package/src/lib/property-editor/editors/column-editor/column.editor.scss +0 -193
  485. package/src/lib/property-editor/editors/column-editor/column.editor.ts +0 -124
  486. package/src/lib/property-editor/editors/column-editor/column.module.ts +0 -28
  487. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.html +0 -80
  488. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.scss +0 -71
  489. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.ts +0 -232
  490. package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.module.ts +0 -52
  491. package/src/lib/property-editor/editors/date-editor/date.editor.ts +0 -49
  492. package/src/lib/property-editor/editors/date-editor/date.module.ts +0 -20
  493. package/src/lib/property-editor/editors/number-editor/number.editor.ts +0 -47
  494. package/src/lib/property-editor/editors/number-editor/number.module.ts +0 -20
  495. package/src/lib/property-editor/editors/range-editor/range.editor.html +0 -67
  496. package/src/lib/property-editor/editors/range-editor/range.editor.scss +0 -68
  497. package/src/lib/property-editor/editors/range-editor/range.editor.ts +0 -153
  498. package/src/lib/property-editor/editors/range-editor/range.module.ts +0 -37
  499. package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.html +0 -15
  500. package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.ts +0 -77
  501. package/src/lib/property-editor/editors/selectbox-editor/selectbox.module.ts +0 -21
  502. package/src/lib/property-editor/editors/switch-editor/number.editor.ts +0 -26
  503. package/src/lib/property-editor/editors/switch-editor/number.module.ts +0 -21
  504. package/src/lib/property-editor/editors/text-editor/text.editor.html +0 -4
  505. package/src/lib/property-editor/editors/text-editor/text.editor.ts +0 -35
  506. package/src/lib/property-editor/editors/text-editor/text.module.ts +0 -20
  507. package/src/lib/property-editor/editors/textarea-editor/textarea.editor.html +0 -9
  508. package/src/lib/property-editor/editors/textarea-editor/textarea.editor.ts +0 -37
  509. package/src/lib/property-editor/editors/textarea-editor/textarea.module.ts +0 -20
  510. package/src/lib/property-editor/editors/time-editor/time.editor.ts +0 -38
  511. package/src/lib/property-editor/editors/time-editor/time.module.ts +0 -20
  512. package/src/lib/property-editor/property-editor-renderer.directive.ts +0 -181
  513. package/src/lib/property-editor/property-editor.class.ts +0 -178
  514. package/src/lib/property-editor/property-editor.module.ts +0 -97
  515. package/src/lib/query-builder/query-builder-group.component.html +0 -68
  516. package/src/lib/query-builder/query-builder-group.component.ts +0 -122
  517. package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.html +0 -82
  518. package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.ts +0 -178
  519. package/src/lib/query-builder/query-builder-rule.component.html +0 -134
  520. package/src/lib/query-builder/query-builder-rule.component.ts +0 -353
  521. package/src/lib/query-builder/query-builder.class.ts +0 -53
  522. package/src/lib/query-builder/query-builder.component.html +0 -3
  523. package/src/lib/query-builder/query-builder.component.scss +0 -286
  524. package/src/lib/query-builder/query-builder.component.ts +0 -220
  525. package/src/lib/query-builder/query-builder.module.ts +0 -42
  526. package/src/lib/query-builder/query-builder.service.ts +0 -181
  527. package/src/lib/searchbox/searchbox.component.html +0 -25
  528. package/src/lib/searchbox/searchbox.component.ts +0 -85
  529. package/src/lib/searchbox/searchbox.module.ts +0 -17
  530. package/src/lib/selectbox/selectbox.component.html +0 -98
  531. package/src/lib/selectbox/selectbox.component.ts +0 -980
  532. package/src/lib/selectbox/selectbox.module.ts +0 -31
  533. package/src/lib/selectbox/selectbox2.component.html +0 -78
  534. package/src/lib/selectbox/selectbox2.component.ts +0 -603
  535. package/src/lib/selection-list/selection-list.component.html +0 -21
  536. package/src/lib/selection-list/selection-list.component.ts +0 -103
  537. package/src/lib/selection-list/selection-list.module.ts +0 -13
  538. package/src/lib/switch/switch.component.html +0 -4
  539. package/src/lib/switch/switch.component.scss +0 -65
  540. package/src/lib/switch/switch.component.ts +0 -57
  541. package/src/lib/switch/switch.module.ts +0 -14
  542. package/src/lib/tab-page/tab-page-Renderer.component.ts +0 -68
  543. package/src/lib/tab-page/tab-page-host.component.ts +0 -103
  544. package/src/lib/tab-page/tab-page.module.ts +0 -13
  545. package/src/lib/tab-page/tab-page.service.ts +0 -176
  546. package/src/lib/tab-strip/tab-strip.component.html +0 -6
  547. package/src/lib/tab-strip/tab-strip.component.ts +0 -47
  548. package/src/lib/tab-strip/tab-strip.module.ts +0 -11
  549. package/src/lib/tab-view/dynamic-tabs.directive.ts +0 -17
  550. package/src/lib/tab-view/tab-view.component.html +0 -33
  551. package/src/lib/tab-view/tab-view.component.scss +0 -0
  552. package/src/lib/tab-view/tab-view.component.ts +0 -129
  553. package/src/lib/tab-view/tab-view.module.ts +0 -12
  554. package/src/lib/tab-view/tab.component.html +0 -8
  555. package/src/lib/tab-view/tab.component.ts +0 -15
  556. package/src/lib/textarea/textarea.component.html +0 -13
  557. package/src/lib/textarea/textarea.component.ts +0 -24
  558. package/src/lib/textarea/textarea.module.ts +0 -14
  559. package/src/lib/textbox/textbox.component.html +0 -22
  560. package/src/lib/textbox/textbox.component.ts +0 -38
  561. package/src/lib/textbox/textbox.module.ts +0 -16
  562. package/src/lib/time-picker/time-picker.component.html +0 -21
  563. package/src/lib/time-picker/time-picker.component.ts +0 -1003
  564. package/src/lib/time-picker/time-picker.module.ts +0 -15
  565. package/src/lib/toast/toast-message/toast-message.component.html +0 -17
  566. package/src/lib/toast/toast-message/toast-message.component.scss +0 -75
  567. package/src/lib/toast/toast-message/toast-message.component.ts +0 -64
  568. package/src/lib/toast/toast-wrapper/toast-wrapper.component.scss +0 -15
  569. package/src/lib/toast/toast-wrapper/toast-wrapper.component.ts +0 -13
  570. package/src/lib/toast/toast.module.ts +0 -12
  571. package/src/lib/toast/toast.service.ts +0 -64
  572. package/src/lib/toolbar/group-button/toolbar-group-button.component.ts +0 -54
  573. package/src/lib/toolbar/menu/toolbar-menu.component.html +0 -4
  574. package/src/lib/toolbar/menu/toolbar-menu.component.ts +0 -81
  575. package/src/lib/toolbar/search/toolbar-search.component.html +0 -4
  576. package/src/lib/toolbar/search/toolbar-search.component.scss +0 -24
  577. package/src/lib/toolbar/search/toolbar-search.component.ts +0 -61
  578. package/src/lib/toolbar/title/toolbar-title.component.ts +0 -35
  579. package/src/lib/toolbar/toolbar-item.ts +0 -4
  580. package/src/lib/toolbar/toolbar.component.html +0 -4
  581. package/src/lib/toolbar/toolbar.component.scss +0 -9
  582. package/src/lib/toolbar/toolbar.component.ts +0 -16
  583. package/src/lib/toolbar/toolbar.module.ts +0 -25
  584. package/src/lib/tooltip/tooltip.directive.ts +0 -101
  585. package/src/lib/tooltip/tooltip.module.ts +0 -11
  586. package/src/lib/tree-side-menu/tree-side-menu.component.html +0 -43
  587. package/src/lib/tree-side-menu/tree-side-menu.component.ts +0 -698
  588. package/src/lib/tree-side-menu/tree-side-menu.module.ts +0 -19
  589. package/src/lib/tree-view/tree-view.component.html +0 -45
  590. package/src/lib/tree-view/tree-view.component.ts +0 -781
  591. package/src/lib/tree-view/tree-view.module.ts +0 -16
  592. package/src/lib/upload-file/upload-file.component.html +0 -16
  593. package/src/lib/upload-file/upload-file.component.ts +0 -189
  594. package/src/lib/upload-file/upload-file.events.ts +0 -11
  595. package/src/lib/upload-file/upload-file.module.ts +0 -16
  596. package/src/lib/validation/validation-form.component.ts +0 -77
  597. package/src/lib/validation/validation-rule.widget.ts +0 -112
  598. package/src/lib/validation/validation.class.ts +0 -22
  599. package/src/lib/validation/validation.component.ts +0 -92
  600. package/src/lib/validation/validation.module.ts +0 -28
  601. package/src/test.ts +0 -28
  602. package/tsconfig.lib.json +0 -25
  603. package/tsconfig.lib.prod.json +0 -6
  604. package/tsconfig.spec.json +0 -17
  605. package/tslint.json +0 -17
@@ -1,980 +0,0 @@
1
- import {
2
- Component,
3
- ViewEncapsulation,
4
- ChangeDetectionStrategy,
5
- Input,
6
- EventEmitter,
7
- Output,
8
- ViewChild,
9
- ChangeDetectorRef,
10
- ElementRef,
11
- ContentChild,
12
- NgZone,
13
- QueryList,
14
- ContentChildren,
15
- TemplateRef
16
- } from '@angular/core';
17
- import { Observable } from 'rxjs';
18
- import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
19
- import { AXTextBoxComponent } from '../textbox/textbox.component';
20
- import { AXDropdownComponent } from '../dropdown/dropdown.component';
21
- import { AXBaseSizableComponent, AXBaseInputComponent, AXElementSize, AXValidatableComponent } from '../base/element.class';
22
- import { AXDataSourceComponent } from '../data-source/datasource.component';
23
- import { AXValidation } from '../validation/validation.component';
24
- import { AXDataSourceReadParams } from '../data-source/read-param';
25
- import { AXBaseEvent } from '../base/events.class';
26
- import { AXSearchBoxComponent } from '../searchbox/searchbox.component';
27
- import { AXConfig } from '@acorex/core';
28
- import { differenceBy } from 'lodash';
29
- export class AXSelectBoxSelectionChangedEvent extends AXBaseEvent {
30
- constructor(component: any, public selectedItems: any[], public selectedValues: any[] | any) {
31
- super();
32
- this.component = component;
33
- }
34
- }
35
-
36
- @Component({
37
- selector: 'ax-select-box',
38
- templateUrl: './selectbox.component.html',
39
- encapsulation: ViewEncapsulation.None,
40
- changeDetection: ChangeDetectionStrategy.OnPush,
41
- host: { style: 'width: 100%' },
42
- providers: [{ provide: AXValidatableComponent, useExisting: AXSelectBoxComponent }]
43
- })
44
- export class AXSelectBoxComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {
45
- @Input() showDropDownButton: boolean = true;
46
-
47
- @ContentChild(TemplateRef, { static: true })
48
- rowTemplate: TemplateRef<any>;
49
-
50
- @Input()
51
- rowInputTemplate: TemplateRef<any>;
52
- @ViewChild(AXTextBoxComponent, { static: true })
53
- span: ElementRef<HTMLElement>;
54
-
55
- @ViewChild(AXTextBoxComponent, { static: true })
56
- textbox: AXTextBoxComponent;
57
-
58
- @ViewChild('listContainer', { static: true })
59
- listContainer: ElementRef<HTMLDivElement>;
60
-
61
- @ViewChild('serchBox', { static: false })
62
- serchBox: AXSearchBoxComponent;
63
-
64
- @ViewChild('textBoxSelectBox', { static: true })
65
- textBoxSelectBox: AXTextBoxComponent;
66
-
67
- @Input() showCheckBox: boolean = true;
68
-
69
- @Input() readonly: boolean = false;
70
-
71
- @Input() rtl: boolean = AXConfig.get('layout.rtl');
72
-
73
- @Input() disabled: boolean = false;
74
-
75
- @Input() placeholder: string;
76
-
77
- @Input() size: AXElementSize = 'md';
78
-
79
- @Input() allowNull: boolean = true;
80
-
81
- @Input() textAlign: 'right' | 'left' | null = null;
82
-
83
- @Input() bufferSize: number = 20;
84
-
85
- @Input() remoteOperation: boolean = false;
86
-
87
- @Output()
88
- dropdownToggle: EventEmitter<any> = new EventEmitter<any>();
89
- // this input is Private and only use in LOV
90
-
91
- currentfocusedIndex: number = -1;
92
- showLoading: boolean = false;
93
-
94
- skip: number = -1;
95
- searchText: string = '';
96
- // @Input()
97
- // chipsWidth: string = '';
98
-
99
- text: string = '';
100
- totalCount: number = 0;
101
-
102
- @ContentChild(AXDataSourceComponent, { static: true })
103
- private _contentDataSource: AXDataSourceComponent;
104
-
105
- private _dataSource: AXDataSourceComponent;
106
-
107
- @Input()
108
- public get dataSource(): AXDataSourceComponent {
109
- return this._dataSource ? this._dataSource : this._contentDataSource;
110
- }
111
-
112
- public set dataSource(v: AXDataSourceComponent) {
113
- this._dataSource = v;
114
- }
115
-
116
- @ContentChild(AXValidation, { static: true })
117
- private _contentValidation: AXValidation;
118
-
119
- private _validation: AXValidation;
120
-
121
- @Input()
122
- public get validation(): AXValidation {
123
- return this._validation ? this._validation : this._contentValidation;
124
- }
125
-
126
- public set validation(v: AXValidation) {
127
- this._validation = v;
128
- }
129
-
130
- constructor(private cdr: ChangeDetectorRef, private ref: ElementRef, private zone: NgZone) {
131
- super();
132
- }
133
-
134
- @ViewChild('d', { static: true })
135
- dropdown: AXDropdownComponent;
136
-
137
- @Input() disabledCallback: (e: { item: any; index: number }) => boolean;
138
-
139
- @Input() allowSearch: boolean = true;
140
- @Input() textField: string = 'text';
141
- @Input() valueField: string = 'value';
142
- @Input() disabledField: string = 'disabled';
143
- @Input() mode: 'single' | 'multiple' = 'single';
144
- itemRemove: boolean = false;
145
- @Output() itemsChange: EventEmitter<any[]> = new EventEmitter<any[]>();
146
-
147
- @Output() onBlur: EventEmitter<any> = new EventEmitter<any>();
148
-
149
- @Output() onFocus: EventEmitter<any> = new EventEmitter<any>();
150
-
151
- private _items: any[] = [];
152
- @Input()
153
- public get items(): any[] {
154
- return this._items;
155
- }
156
- public set items(v: any[]) {
157
- this._items = v;
158
- if (this.itemsChange) {
159
- this.itemsChange.emit(v);
160
- }
161
- if (this.itemsStatusObserver) {
162
- this.itemsStatusObserver.next(this.items.length);
163
- }
164
- }
165
-
166
- hasSelectedValue: boolean = false;
167
- itemsFiltered: any[] = [];
168
-
169
- // #endregion
170
-
171
- dropDownDisabled: boolean = false;
172
-
173
- @Output()
174
- selectionChanged: EventEmitter<AXSelectBoxSelectionChangedEvent> = new EventEmitter<AXSelectBoxSelectionChangedEvent>();
175
-
176
- @Output()
177
- selectedItemsChange: EventEmitter<any[]> = new EventEmitter<any[]>();
178
-
179
- private _selectedItems: any[] = [];
180
- @Input()
181
- public get selectedItems(): any[] {
182
- return this._selectedItems || [];
183
- }
184
- public set selectedItems(v: any[]) {
185
- this.setSelectedItemsChange(v);
186
- // if (!v) {
187
- // v = [];
188
- // }
189
-
190
- // const old = this.selectedItems;
191
- // if (JSON.stringify(old) !== JSON.stringify(v)) {
192
- // this._selectedItems = this.mode == 'single' ? v.slice(0, 1) : [...new Set(v)]; //[...new Set(v[0])] : [...new Set(v)];
193
- // this._selectedItems.forEach((c) => (c.selected = true));
194
- // this.selectedItemsChange.emit(this._selectedItems);
195
- // this.selectedValuesChange.emit(this.selectedValues);
196
- // this.clearValidationStyle(this.ref.nativeElement);
197
- // this.waitForData(() => {
198
- // if (this._selectedItems) {
199
- // this.items.forEach((c) => (c.selected = this._selectedItems.some((i) => i[this.valueField] == c[this.valueField])));
200
- // }
201
- // });
202
- // }
203
- }
204
-
205
- setSelectedItemsChange(v: any[], old: any[] = this.selectedItems) {
206
- if (!v) {
207
- v = [];
208
- }
209
- // const old = this.selectedItems;
210
- var f = differenceBy(old, v, this.valueField);
211
- var s = differenceBy(v, old, this.valueField);
212
- // if (JSON.stringify(old) !== JSON.stringify(v)) {
213
- if (f.length != 0 || s.length != 0) {
214
- this._selectedItems = this.mode == 'single' ? v.slice(0, 1) : [...new Set(v)]; //[...new Set(v[0])] : [...new Set(v)];
215
- this._selectedItems.forEach((c) => (c.selected = true));
216
- this.selectedItemsChange.emit(this._selectedItems);
217
- this.selectedValuesChange.emit(this.selectedValues);
218
- this.clearValidationStyle(this.ref.nativeElement);
219
- this.waitForData(() => {
220
- if (this._selectedItems) {
221
- this.items.forEach((c) => (c.selected = this._selectedItems.some((i) => i[this.valueField] == c[this.valueField])));
222
- }
223
- });
224
- }
225
- }
226
-
227
- ngOnInit() {
228
- if (this.rowTemplate === undefined && this.rowInputTemplate != undefined) {
229
- this.rowTemplate = this.rowInputTemplate;
230
- }
231
- if (this.rtl == null) {
232
- this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';
233
- }
234
- }
235
-
236
- scrolled(e) {
237
- if (
238
- this.remoteOperation &&
239
- this.totalCount > this.items.length &&
240
- this.listContainer.nativeElement.scrollHeight != 0 &&
241
- this.listContainer.nativeElement.scrollHeight - this.listContainer.nativeElement.scrollTop - 300 < 50
242
- ) {
243
- if (this.skip !== this.items.length) {
244
- this.showLoading = true;
245
- this.skip = this.items.length;
246
- const params: AXDataSourceReadParams = {};
247
- params.skip = this.items.length;
248
- params.take = this.bufferSize; //* (Math.floor(this.items.length / this.bufferSize) + 1);
249
- if (this.textbox) {
250
- params.searchText = this.text;
251
- } else {
252
- params.searchText = null;
253
- }
254
- this.fetch(params);
255
- }
256
- }
257
- }
258
- private setSelectedItems(v: any[], isUserInput: boolean) {
259
- let changed = false;
260
- if (isUserInput) {
261
- changed = JSON.stringify(v) !== JSON.stringify(this.selectedItems);
262
- }
263
- this.selectedItems = v;
264
- this.setSelectedIndex();
265
- if (isUserInput && changed) {
266
- this.emitSelectionChangedEvent();
267
- }
268
- }
269
-
270
- private searchChangeObserver: any;
271
-
272
- delay: number = 500;
273
-
274
- textChanged(e) {
275
- if ((e.value === null || e.value === undefined || e.value === '') && (e.oldValue === null || e.oldValue === undefined || e.oldValue === '')) {
276
- } else {
277
- this.currentfocusedIndex = -1;
278
- if (this.remoteOperation) {
279
- this.searchText = this.text;
280
- // this.searchText = e.value;
281
- // this.text = e.value;
282
- // this.items = [];
283
- if (this.items) {
284
- let t = this.items.length;
285
- for (let i = 0; i < t; i++) {
286
- this.items.pop();
287
- }
288
- }
289
-
290
- // this.items.forEach((element) => {
291
- // this.items.pop();
292
- // });
293
- const params: AXDataSourceReadParams = {};
294
- params.searchText = this.text;
295
- // params.searchText = e.value;
296
- params.skip = 0;
297
- params.take = this.bufferSize;
298
- this.fetch(params);
299
- }
300
- }
301
- }
302
-
303
- isItemDisabled(item: any): boolean {
304
- if (item[this.disabledField] == true) {
305
- return true;
306
- } else if (this.disabledCallback) {
307
- return this.disabledCallback({ item, index: -1 });
308
- } else {
309
- return false;
310
- }
311
- }
312
-
313
- onButtonClick(e) {
314
- }
315
-
316
- private setSelectedIndex(sign: -1 | 1 | null = null): void {
317
- if (sign == null) {
318
- if (!this.remoteOperation && this.text && this.text !== '') {
319
- this.currentfocusedIndex = this.items
320
- .filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))
321
- .indexOf(this.selectedItems[this.selectedItems.length - 1]);
322
- } else {
323
- this.currentfocusedIndex = this.items.indexOf(this.selectedItems[this.selectedItems.length - 1]);
324
- }
325
- } else {
326
- sign === -1 ? this.currentfocusedIndex-- : this.currentfocusedIndex++;
327
- }
328
-
329
- if (this.remoteOperation) {
330
- this.itemsFiltered = this.items;
331
- } else {
332
- this.itemsFiltered = this.text
333
- ? this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))
334
- : this.items;
335
- }
336
-
337
- this.currentfocusedIndex =
338
- this.currentfocusedIndex < 0
339
- ? 0
340
- : this.currentfocusedIndex >= this.itemsFiltered.length
341
- ? this.itemsFiltered.length - 1
342
- : this.currentfocusedIndex;
343
- //
344
- // set scroll
345
- if (this.listContainer) {
346
- this.zone.runOutsideAngular(() => {
347
- const itemDiv = this.listContainer.nativeElement.querySelector(`.list-item:nth-child(${this.currentfocusedIndex})`);
348
- if (itemDiv) {
349
- itemDiv.scrollIntoView({ behavior: 'smooth' });
350
- }
351
- });
352
- }
353
- }
354
-
355
- @Output()
356
- selectedValuesChange: EventEmitter<any[] | any> = new EventEmitter<any[] | any>();
357
-
358
- @Input()
359
- public get selectedValues(): any[] | any {
360
- if (this.mode === 'single') {
361
- return this._selectedItems.map((c) => c[this.valueField])[0];
362
- } else {
363
- return this._selectedItems.map((c) => c[this.valueField]) || [];
364
- }
365
- }
366
-
367
- public set selectedValues(v: any[] | any) {
368
- if (this.compareSelectedValues(v)) {
369
- return;
370
- }
371
- if (v == null) {
372
- this.selectedItems = [];
373
- } else {
374
- if (v !== undefined) {
375
- if (v != [] && v != '' && v != null) {
376
- this.hasSelectedValue = true;
377
- }
378
-
379
- this.waitForData(() => {
380
- if (this.mode === 'single') {
381
- if (this.items.filter((c) => v == c[this.valueField])) {
382
- this.selectedItems = this.items.filter((c) => v == c[this.valueField]);
383
- } else {
384
- this.selectedItems = [];
385
- }
386
- } else {
387
- if (Array.isArray(v)) {
388
- if (this.selectedItems.length > v.length) {
389
- this.selectedItems = this.selectedItems.filter((c) => v.includes(c[this.valueField]));
390
- } else {
391
- let addId = [];
392
- v.forEach((vId) => {
393
- addId.push({
394
- [this.valueField]: vId
395
- });
396
- });
397
-
398
- let newId = differenceBy(addId, this.selectedItems, this.valueField);
399
- let vv = [];
400
- newId.forEach((rc) => {
401
- vv.push(rc[this.valueField]);
402
- });
403
- this.items
404
- .filter((c) => vv.includes(c[this.valueField]))
405
- .forEach((res) => {
406
- this.selectedItems.push(res);
407
- });
408
- // this.selectedItems.push(this.items.filter((c) => vv.includes(c[this.valueField])));
409
- this.setSelectedItemsChange(this.selectedItems, vv.length > 0 ? [1] : this.selectedItems);
410
- }
411
-
412
- // this.selectedItems = this.items.filter((c) => v.includes(c[this.valueField]));
413
- } else if (v) {
414
- this.selectedItems = this.items.filter((c) => v === c[this.valueField]);
415
- } else {
416
- this.selectedItems = [];
417
- }
418
- }
419
- this.selectedValuesChange.emit(this.selectedValues);
420
- this.cdr.markForCheck();
421
- this.cdr.detectChanges();
422
- });
423
- }
424
- }
425
- }
426
-
427
- private compareSelectedValues(newValue: any[] | any) {
428
- const currentValue = this.selectedValues;
429
- return (currentValue == null && newValue == null) || JSON.stringify(currentValue) === JSON.stringify(newValue);
430
- }
431
-
432
- private setSelectedValues(v: any[] | any, isUserInput: boolean) {
433
- const changed = isUserInput ? !this.compareSelectedValues(v) : false;
434
- this.selectedValues = v;
435
- if (isUserInput && changed) {
436
- this.emitSelectionChangedEvent();
437
- }
438
- }
439
-
440
- private emitSelectionChangedEvent() {
441
- this.selectedValuesChange.emit(this.selectedValues);
442
- this.selectionChanged.emit(new AXSelectBoxSelectionChangedEvent(this, this.selectedItems, this.selectedValues));
443
- }
444
-
445
- ngAfterViewInit(): void {
446
- if (this.bufferSize < 10) {
447
- this.bufferSize = 10;
448
- }
449
- if (this.mode == 'single') {
450
- this.showCheckBox = false;
451
- } else {
452
- this.showCheckBox = true;
453
- }
454
- if (!this.remoteOperation || (this.remoteOperation && this.hasSelectedValue)) {
455
- this.refresh();
456
- }
457
- }
458
- dropdownToggleSelecBox(e) {
459
- this.text = '';
460
- if (this.dropdown.isOpen) {
461
- this.refresh();
462
- setTimeout(() => {
463
- if (this.serchBox) {
464
- this.serchBox.focus();
465
- }
466
- }, 1);
467
- } else {
468
- // this.refresh();
469
- }
470
- this.dropdownToggle.emit(e);
471
- }
472
-
473
- ngAfterContentInit() {
474
- // if (!this.allowSearch) {
475
- // if (this.readonly == false) {
476
- // this.itemRemove = true;
477
- // this.readonly = true;
478
- // }
479
- // }
480
- this.initValidation(this.ref, 'selectedItems', this.validation);
481
- if (this.dataSource) {
482
- // if (this.allowSearch == false) {
483
- // this.fetch();
484
- // }
485
- this.dataSource.onDataReceived.subscribe((c) => {
486
- this.showLoading = false;
487
- this.dataReceived(c.data.result);
488
- });
489
- }
490
- this.cdr.markForCheck();
491
- this.cdr.detectChanges();
492
- }
493
-
494
- private dataReceived(data: any) {
495
- if (this.remoteOperation) {
496
- if (this.searchText && this.searchText != null && this.searchText !== '') {
497
- if (data.totalCount) {
498
- if (this.items.length == 0) {
499
- //this.items = data.items;
500
- data.items.forEach((item) => {
501
- this.items.push(item);
502
- });
503
- } else {
504
- data.items.forEach((item) => {
505
- this.items.push(item);
506
- });
507
- // if (this.itemsStatusObserver) {
508
- // this.itemsStatusObserver.next(this.items.length);
509
- // }
510
- }
511
-
512
- this.totalCount = data.totalCount;
513
- } else {
514
- if (this.items.length == 0) {
515
- this.items = data.items;
516
- } else {
517
- data.items.forEach((item) => {
518
- this.items.push(item);
519
- });
520
- // if (this.itemsStatusObserver) {
521
- // this.itemsStatusObserver.next(this.items.length);
522
- // }
523
- }
524
- this.totalCount = data.items == undefined ? 0 : data.items.length;
525
- }
526
- } else if (data.items && data.items.length === data.totalCount) {
527
- this.items = data.items;
528
- this.totalCount = data.items.length;
529
- } else if (data.totalCount) {
530
- data.items.forEach((elm) => {
531
- this.items.push(elm);
532
- });
533
- // if (this.itemsStatusObserver) {
534
- // this.itemsStatusObserver.next(this.items.length);
535
- // }
536
- this.totalCount = data.totalCount;
537
- } else {
538
- data.forEach((elm) => {
539
- this.items.push(elm);
540
- // if (this.itemsStatusObserver) {
541
- // this.itemsStatusObserver.next(this.items.length);
542
- // }
543
- });
544
- this.totalCount = data.length;
545
- }
546
- } else {
547
- this.items = data;
548
- }
549
-
550
- this.cdr.markForCheck();
551
- this.cdr.detectChanges();
552
-
553
- this.dropdown.updatePosition();
554
- }
555
-
556
- // private params: AXDataSourceReadParams = {};
557
-
558
- fetch(params: AXDataSourceReadParams = {}) {
559
- // this.params = params;
560
- if (this.dataSource) {
561
- this.showLoading = true;
562
- this.dataSource.fetch(params);
563
- }
564
- }
565
-
566
- refresh() {
567
- const params: AXDataSourceReadParams = {};
568
- if (this.remoteOperation) {
569
- params.skip = 0;
570
- this.skip = 0;
571
- params.take = this.bufferSize;
572
- }
573
- if (this.dataSource != undefined) {
574
- // this.items = [];
575
- // this.items.forEach((element) => {
576
- // this.items.pop();
577
- // });
578
-
579
- if (this.items) {
580
- let t = this.items.length;
581
- for (let i = 0; i < t; i++) {
582
- this.items.pop();
583
- }
584
- }
585
-
586
- this.fetch(params);
587
- }
588
- }
589
-
590
- handleItemRemoveClick(item) {
591
- if (this.mode === 'single') {
592
- // this.selectedItems = null;
593
- this.setSelectedValues(null, true);
594
- // this.selectedItemsChange.emit(this._selectedItems);
595
- // this.clearValidationStyle(this.ref.nativeElement);
596
- } else {
597
- // this.selectedItems = this.selectedItems.filter((c) => c !== item);
598
- this.setSelectedItems(
599
- this.selectedItems.filter((c) => c[this.valueField] !== item[this.valueField]),
600
- true
601
- );
602
- // this._selectedItems = this._selectedItems.filter(c => c !== item);
603
- // this.selectedItemsChange.emit(this._selectedItems);
604
- // this.clearValidationStyle(this.ref.nativeElement);
605
- }
606
- // this.text = '';
607
- this.validate();
608
- this.cdr.markForCheck();
609
- }
610
-
611
- onFocusTextBox(e) {}
612
-
613
- onTextBoxClick(e) {
614
- if (this.disabled == false && this.readonly == false) {
615
- this.dropdown.open();
616
- }
617
- }
618
-
619
- handleItemClick(e: MouseEvent, item: any) {
620
- if (this.isItemDisabled(item) == false) {
621
- const value = item[this.valueField];
622
-
623
- if (this.mode === 'single') {
624
- // this.selectedValues = value;
625
- this.setSelectedValues(value, true);
626
- } else {
627
- const exists = this.selectedValues.slice(0);
628
- if (exists.includes(value)) {
629
- if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {
630
- this.handleItemRemoveClick(item);
631
- }
632
- } else {
633
- exists.push(value);
634
- // this.selectedValues = exists;
635
- this.setSelectedValues(exists, true);
636
- }
637
- }
638
-
639
- if (this.mode == 'single') {
640
- this.text = '';
641
- this.dropdown.close();
642
- this.cdr.markForCheck();
643
- }
644
- // if (e.stopPropagation() == undefined) {
645
- // e.stopPropagation();
646
- // }
647
- setTimeout(() => {
648
- if (this.serchBox) {
649
- this.serchBox.focus();
650
- }
651
- }, 0);
652
- }
653
-
654
- e.stopPropagation();
655
- }
656
-
657
- handleKeyEventSearch(e: KeyboardEvent) {
658
- if (this.disabled || this.readonly) {
659
- this.dropdown.close();
660
- setTimeout(() => {
661
- this.textBoxSelectBox.focus();
662
- }, 0);
663
- return false;
664
- }
665
- if (e.key === 'Escape') {
666
- this.text = null;
667
- setTimeout(() => {
668
- this.textBoxSelectBox.focus();
669
- }, 0);
670
- }
671
- if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.getItems().length > 0 && e.type === 'keydown') {
672
- if (this.mode === 'single') {
673
- this.currentfocusedIndex = this.currentfocusedIndex + (e.key === 'ArrowDown' ? 1 : -1);
674
- this.selectedItemByIndex(this.currentfocusedIndex);
675
- } else {
676
- if (this.dropdown.isOpen) {
677
- this.setSelectedIndex(e.key === 'ArrowDown' ? 1 : -1);
678
- } else {
679
- this.dropdown.open();
680
- setTimeout(() => {
681
- if (this.serchBox) {
682
- this.serchBox.focus();
683
- }
684
- }, 0);
685
- }
686
- }
687
- }
688
- // if (e.key == 'Enter' && this.dropdown.isOpen && this.mode == 'single') {
689
- // this.dropdown.close();
690
- // setTimeout(() => {
691
- // this.dropdown.focus();
692
- // }, 0);
693
- // }
694
- //e.stopPropagation();
695
- //e.preventDefault();
696
- e.stopImmediatePropagation();
697
- if (e.type === 'keydown' && e.key == 'Enter' && this.dropdown.isOpen) {
698
- if (!this.remoteOperation && this.text && this.text !== '') {
699
- this.itemsFiltered = this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()));
700
- if (this.itemsFiltered.length === 1) {
701
- this.currentfocusedIndex = 0;
702
- }
703
- } else {
704
- this.itemsFiltered = this.items;
705
- }
706
-
707
- if (
708
- this.selectedItems.filter((c) => c[this.valueField] === this.itemsFiltered[this.currentfocusedIndex][this.valueField]).length > 0 &&
709
- this.mode == 'multiple'
710
- ) {
711
- if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {
712
- if (!this.remoteOperation && this.text && this.text !== '') {
713
- this.selectedItems = this.selectedItems.filter(
714
- (c) =>
715
- c !==
716
- this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))[this.currentfocusedIndex]
717
- );
718
- } else {
719
- this.selectedItems = this.selectedItems.filter((c) => c[this.valueField] !== this.items[this.currentfocusedIndex][this.valueField]);
720
- }
721
- this.emitSelectionChangedEvent();
722
- }
723
- } else {
724
- if (this.mode == 'multiple') {
725
- if (this.currentfocusedIndex != -1) {
726
- if (!this.remoteOperation && this.text && this.text !== '') {
727
- if (this.itemsFiltered.length === 1) {
728
- this.selectedItems.push(this.itemsFiltered[0]);
729
- } else {
730
- this.selectedItems.push(this.itemsFiltered[this.currentfocusedIndex]);
731
- }
732
- } else {
733
- this.selectedItems.push(this.items[this.currentfocusedIndex]);
734
- }
735
- this.emitSelectionChangedEvent();
736
- }
737
- } else {
738
- if (this.text && this.itemsFiltered?.length === 1) {
739
- this.setSelectedItems(this.itemsFiltered, true);
740
- }
741
- if (this.mode == 'single') {
742
- this.dropdown.close();
743
- setTimeout(() => {
744
- this.textBoxSelectBox.focus();
745
- }, 0);
746
- }
747
- }
748
- }
749
- e.stopPropagation();
750
- e.preventDefault();
751
- e.stopImmediatePropagation();
752
- }
753
- this.cdr.markForCheck();
754
- }
755
-
756
- isChar(str: string) {
757
- if (
758
- str.includes('Shift') ||
759
- str.includes('Tab') ||
760
- str.includes('Control') ||
761
- str.includes('Alt') ||
762
- str.includes('CapsLock') ||
763
- str.includes('Meta') ||
764
- str.includes('ContextMenu') ||
765
- str.includes('Enter') ||
766
- str.includes('Backspace') ||
767
- str.includes('PrintScreen') ||
768
- str.includes('ScrollLock') ||
769
- str.includes('Pause') ||
770
- str.includes('Home') ||
771
- str.includes('End') ||
772
- str.includes('Insert') ||
773
- str.includes('PageUp') ||
774
- str.includes('Delete') ||
775
- str.includes('PageDown') ||
776
- str.includes('NumLock') ||
777
- str.includes('Escape') ||
778
- str.includes('Arrow') ||
779
- str.includes('ّF1') ||
780
- str.includes('F2') ||
781
- str.includes('F3') ||
782
- str.includes('F4') ||
783
- str.includes('F5') ||
784
- str.includes('F6') ||
785
- str.includes('F7') ||
786
- str.includes('F8') ||
787
- str.includes('F9') ||
788
- str.includes('F10') ||
789
- str.includes('F11') ||
790
- str.includes('F12')
791
- ) {
792
- return false;
793
- } else {
794
- return true;
795
- }
796
- }
797
-
798
- handleKeyEvent(e: any) {
799
- // const NumberMinusPattern = /[a-zA-Z0-9\-]/g;
800
- // const Farsi = /[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/;
801
- // const inputChar = String.fromCharCode(e.charCode);
802
- // const patternEn = /^[a-zA-Z0-9]*$/;
803
- // const pattern = /^[\u0600-\u06FF\s]+$/;
804
- const inputChar = e.key;
805
- if (
806
- (inputChar != 'Backspace' &&
807
- inputChar != 'Backspace' &&
808
- inputChar != 'Tab' &&
809
- inputChar != 'Enter' &&
810
- inputChar != 'Escape' &&
811
- inputChar != 'ArrowDown' &&
812
- inputChar != 'ArrowUp') ||
813
- e.code === 'Space' ||
814
- e.ctrlKey == true
815
- ) {
816
- e.preventDefault();
817
- }
818
- if (
819
- e.key === 'Backspace' &&
820
- e.type === 'keydown' &&
821
- ((this.allowNull === true && this.selectedItems.length > 0) || (this.allowNull === false && this.selectedItems.length > 1))
822
- ) {
823
- this.selectedItems.pop();
824
- this.emitSelectionChangedEvent();
825
- }
826
- if (this.disabled || this.readonly) {
827
- this.dropdown.close();
828
- setTimeout(() => {
829
- this.textBoxSelectBox.focus();
830
- }, 0);
831
- return false;
832
- }
833
- const INPUT = String.fromCharCode(e.keyCode);
834
- if (this.isChar(e.key) && this.allowSearch && e.ctrlKey == false) {
835
- this.dropdown.open();
836
- setTimeout(() => {
837
- if (this.serchBox) {
838
- this.serchBox.focus();
839
- }
840
- }, 0);
841
- this.text = e.key;
842
- }
843
-
844
- if (e.key === 'Escape') {
845
- this.text = null;
846
- this.dropdown.close();
847
- setTimeout(() => {
848
- this.textBoxSelectBox.focus();
849
- }, 0);
850
- }
851
- if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.getItems().length > 0 && e.type === 'keydown') {
852
- if (this.mode === 'single') {
853
- this.selectedItemByIndex(this.currentfocusedIndex + (e.key === 'ArrowDown' ? 1 : -1));
854
- } else {
855
- if (this.dropdown.isOpen) {
856
- // this.setSelectedIndex((e.key === 'ArrowDown' ? 1 : -1));
857
- if (this.allowSearch == false) {
858
- this.setSelectedIndex(e.key === 'ArrowDown' ? 1 : -1);
859
- } else {
860
- setTimeout(() => {
861
- if (this.serchBox) {
862
- this.serchBox.focus();
863
- }
864
- }, 0);
865
- }
866
- } else {
867
- this.dropdown.open();
868
- if (this.allowSearch == true) {
869
- setTimeout(() => {
870
- if (this.serchBox) {
871
- this.serchBox.focus();
872
- }
873
- }, 0);
874
- }
875
- }
876
- }
877
- }
878
-
879
- if (this.allowSearch === false) {
880
- if (e.type === 'keydown' && e.key == 'Enter' && this.dropdown.isOpen) {
881
- e.stopImmediatePropagation();
882
- if (
883
- this.selectedItems.filter((c) => c[this.valueField] === this.itemsFiltered[this.currentfocusedIndex][this.valueField]).length > 0 &&
884
- this.mode == 'multiple'
885
- ) {
886
- if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {
887
- if (!this.remoteOperation && this.text && this.text !== '') {
888
- this.selectedItems = this.selectedItems.filter(
889
- (c) =>
890
- c !==
891
- this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))[this.currentfocusedIndex]
892
- );
893
- } else {
894
- this.selectedItems = this.selectedItems.filter((c) => c[this.valueField] !== this.items[this.currentfocusedIndex][this.valueField]);
895
- }
896
- this.emitSelectionChangedEvent();
897
- }
898
- } else {
899
- if (this.mode == 'multiple') {
900
- if (this.currentfocusedIndex != -1) {
901
- if (!this.remoteOperation && this.text && this.text !== '') {
902
- if (this.itemsFiltered.length === 1) {
903
- this.selectedItems.push(this.itemsFiltered[0]);
904
- } else {
905
- this.selectedItems.push(this.itemsFiltered[this.currentfocusedIndex]);
906
- }
907
- } else {
908
- this.selectedItems.push(this.items[this.currentfocusedIndex]);
909
- }
910
- this.emitSelectionChangedEvent();
911
- }
912
- } else {
913
- if (this.text && this.itemsFiltered.length === 1) {
914
- this.setSelectedItems(this.itemsFiltered, true);
915
- }
916
- if (this.mode == 'single') {
917
- this.dropdown.close();
918
- setTimeout(() => {
919
- this.textBoxSelectBox.focus();
920
- }, 0);
921
- }
922
- }
923
- }
924
- }
925
- }
926
-
927
- this.cdr.markForCheck();
928
- }
929
-
930
- focus(): void {
931
- this.textbox.focus();
932
- }
933
-
934
- selectedItemByIndex(index: number) {
935
- let item = [];
936
- if (!this.remoteOperation && this.text && this.text !== '') {
937
- this.itemsFiltered = this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()));
938
-
939
- item = this.itemsFiltered[index];
940
- } else {
941
- item = this.items[index];
942
- }
943
- //
944
- // const item = this.text ? this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))[index] : this.items[index];
945
- if (item) {
946
- this.setSelectedItems([item], true);
947
- }
948
-
949
- this.setSelectedIndex();
950
- }
951
-
952
- getItems(): any[] {
953
- if (this.items == null) {
954
- return [];
955
- }
956
- return !this.remoteOperation && this.text && this.text !== ''
957
- ? this.items.filter((c) => (c[this.textField] as string).toLowerCase().includes(this.text.toLowerCase()))
958
- : this.items;
959
- }
960
-
961
- isItemSelected(item: any): boolean {
962
- return this.selectedItems && this.selectedItems.filter((c) => c[this.valueField] === item[this.valueField]).length > 0;
963
- }
964
-
965
- private itemsStatusObserver: any;
966
- private waitForData(callbackfn: () => void) {
967
- if (this.items && this.items.length) {
968
- callbackfn();
969
- } else if (!this.itemsStatusObserver) {
970
- Observable.create((observer) => {
971
- this.itemsStatusObserver = observer;
972
- })
973
- .pipe(debounceTime(100))
974
- .pipe(distinctUntilChanged())
975
- .subscribe((c) => {
976
- callbackfn();
977
- });
978
- }
979
- }
980
- }