aloha-vue 2.62.0 → 2.63.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 (429) hide show
  1. package/CHANGELOG.md +1070 -1061
  2. package/dist/aloha-vue.css +14 -6
  3. package/dist/aloha-vue.css.map +1 -1
  4. package/dist/aloha-vue.es.js +17124 -16970
  5. package/dist/aloha-vue.umd.js +69 -69
  6. package/package.json +99 -99
  7. package/scss/_base.scss +62 -62
  8. package/scss/aloha-vue.scss +68 -68
  9. package/scss/components/AFilters.scss +304 -304
  10. package/scss/components/AFormElement/AValidatedJson.scss +6 -6
  11. package/scss/components/AMenu.scss +627 -627
  12. package/scss/components/AModal.scss +44 -44
  13. package/scss/components/APagination.scss +167 -167
  14. package/scss/components/ARate.scss +78 -78
  15. package/scss/components/AResizer.scss +63 -63
  16. package/scss/components/ATable.scss +819 -819
  17. package/scss/components/ATableForm.scss +309 -288
  18. package/scss/components/AVerticalScroll.scss +47 -47
  19. package/scss/components/AWizard.scss +669 -669
  20. package/scss/components/ui/ADatepicker.scss +342 -342
  21. package/scss/components/ui/ADatepickerRange.scss +45 -45
  22. package/scss/components/ui/AFieldset.scss +78 -78
  23. package/scss/components/ui/AInputNumber.scss +62 -62
  24. package/scss/components/ui/AInputNumberRange.scss +30 -30
  25. package/scss/components/ui/ASelect.scss +236 -236
  26. package/scss/components/ui/ASlider.scss +186 -186
  27. package/scss/components/ui/ASwitch.scss +148 -148
  28. package/scss/components/ui/ui.scss +254 -254
  29. package/scss/text/text_alignment.scss +39 -39
  30. package/scss/text/text_transform.scss +51 -51
  31. package/scss/text/text_wrapping.scss +40 -40
  32. package/scss/utils/badge.scss +45 -45
  33. package/scss/utils/checkbox_radio.scss +134 -134
  34. package/scss/utils/color.scss +46 -46
  35. package/scss/utils/dropdown.scss +185 -185
  36. package/scss/utils/list.scss +75 -75
  37. package/scss/utils/modal.scss +173 -173
  38. package/scss/utils/sizing.scss +137 -137
  39. package/scss/utils/spacing.scss +63 -63
  40. package/scss/utils/tooltip.scss +63 -63
  41. package/src/AAccordion/AAccordion.js +206 -206
  42. package/src/AAccordion/compositionAPI/IndexesForOpenAPI.js +63 -63
  43. package/src/AAccordion/compositionAPI/ToggleAPI.js +85 -85
  44. package/src/AAlert/AAlert.js +216 -216
  45. package/src/AAlert/compositionAPI/ClassAPI.js +21 -21
  46. package/src/AAlert/i18n/AAlertI18n.js +19 -19
  47. package/src/AAlert/i18n/ar.json +2 -2
  48. package/src/AAlert/i18n/de.json +2 -2
  49. package/src/AAlert/i18n/en.json +2 -2
  50. package/src/AAlert/i18n/es.json +2 -2
  51. package/src/AAlert/i18n/fr.json +2 -2
  52. package/src/AAlert/i18n/hr.json +2 -2
  53. package/src/AAlert/i18n/it.json +2 -2
  54. package/src/AAlert/i18n/ru.json +2 -2
  55. package/src/AButton/AButton.js +275 -275
  56. package/src/ACarousel/ACarousel.js +361 -361
  57. package/src/ACarousel/ACarouselBtn/ACarouselBtn.js +75 -75
  58. package/src/ACarousel/ACarouselBtn/compositionAPI/ClassAPI.js +16 -16
  59. package/src/ACarousel/ACarouselBtn/compositionAPI/TextAPI.js +25 -25
  60. package/src/ACarousel/ACarouselControls/ACarouselControls.js +114 -114
  61. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/ACarouselControlsIndicator.js +146 -146
  62. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/ActiveAPI.js +33 -33
  63. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/AttributesAPI.js +40 -40
  64. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/EventsAPI.js +25 -25
  65. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/IconAPI.js +20 -20
  66. package/src/ACarousel/ACarouselControls/compositionAPI/AriaLabelAPI.js +20 -20
  67. package/src/ACarousel/ACarouselItem/ACarouselItem.js +83 -83
  68. package/src/ACarousel/ACarouselItem/compositionAPI/AttributesAPI.js +39 -39
  69. package/src/ACarousel/ACarouselItem/compositionAPI/IsActiveAPI.js +21 -21
  70. package/src/ACarousel/compositionAPI/ActiveAPI.js +111 -111
  71. package/src/ACarousel/compositionAPI/AriaLabelAPI.js +25 -25
  72. package/src/ACarousel/compositionAPI/ArrowsAPI.js +17 -17
  73. package/src/ACarousel/compositionAPI/ClassAPI.js +44 -44
  74. package/src/ACarousel/compositionAPI/DataAPI.js +41 -41
  75. package/src/ACarousel/compositionAPI/IndicatorsAPI.js +148 -148
  76. package/src/ACarousel/compositionAPI/TextsAPI.js +25 -25
  77. package/src/ACarousel/i18n/ACarouselI18n.js +19 -19
  78. package/src/ACarousel/i18n/ar.json +8 -8
  79. package/src/ACarousel/i18n/de.json +8 -8
  80. package/src/ACarousel/i18n/en.json +8 -8
  81. package/src/ACarousel/i18n/es.json +8 -8
  82. package/src/ACarousel/i18n/fr.json +8 -8
  83. package/src/ACarousel/i18n/hr.json +8 -8
  84. package/src/ACarousel/i18n/it.json +8 -8
  85. package/src/ACarousel/i18n/ru.json +8 -8
  86. package/src/ACollapse/ACollapse.js +103 -103
  87. package/src/ADropdown/ADropdown.js +544 -544
  88. package/src/ADropdown/ADropdownGroup.js +85 -85
  89. package/src/ADropdown/compositionAPI/ActionsAPI.js +147 -147
  90. package/src/ADropdown/compositionAPI/AttributesAPI.js +100 -100
  91. package/src/AElement/AElement.js +518 -518
  92. package/src/AElement/compositionAPI/AttributesAPI.js +51 -51
  93. package/src/AElement/compositionAPI/ClickAPI.js +30 -30
  94. package/src/AElement/compositionAPI/ComponentLocalAPI.js +23 -23
  95. package/src/AElement/compositionAPI/DisabledAPI.js +22 -22
  96. package/src/AElement/compositionAPI/HtmlTitleAPI.js +33 -33
  97. package/src/AElement/compositionAPI/KeydownAPI.js +35 -35
  98. package/src/AElement/compositionAPI/LoadingAPI.js +22 -22
  99. package/src/AElement/compositionAPI/RouterLinkAPI.js +20 -20
  100. package/src/AElement/compositionAPI/SwitchAPI.js +33 -33
  101. package/src/AElement/compositionAPI/TagAPI.js +34 -34
  102. package/src/AElement/compositionAPI/TextAPI.js +78 -78
  103. package/src/AElement/compositionAPI/TitleAPI.js +29 -29
  104. package/src/AFilters/AFilterCenter/AFilterCenter.js +154 -154
  105. package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +207 -207
  106. package/src/AFilters/AFilters/AFilters.js +282 -282
  107. package/src/AFilters/i18n/ar.json +30 -30
  108. package/src/AFilters/i18n/en.json +30 -30
  109. package/src/AFilters/i18n/es.json +30 -30
  110. package/src/AFilters/i18n/fr.json +30 -30
  111. package/src/AFilters/i18n/hr.json +30 -30
  112. package/src/AFilters/i18n/it.json +30 -30
  113. package/src/AFilters/i18n/ru.json +30 -30
  114. package/src/AGroupButtonDropdown/compositionAPI/ActionsAPI.js +143 -143
  115. package/src/ALink/ALink.js +253 -253
  116. package/src/AMenu/AMenu.js +578 -578
  117. package/src/AMenu/AMenuBreadcrumbs/compositionAPI/RenderTruncatedAPI.js +74 -74
  118. package/src/AMenu/AMenuButtonToggle/AMenuButtonToggle.js +94 -94
  119. package/src/AMenu/AMenuButtonToggle/compositionAPI/ToggleAPI.js +95 -95
  120. package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +250 -250
  121. package/src/AMenu/compositionAPI/BackdropAPI.js +42 -42
  122. package/src/AMenu/compositionAPI/KeydownAPI.js +197 -197
  123. package/src/AMenu/compositionAPI/LinkClickAPI.js +48 -48
  124. package/src/AMenu/compositionAPI/MenuAttributesAPI.js +51 -51
  125. package/src/AMenu/compositionAPI/PanelsAPI.js +78 -78
  126. package/src/AMenu/compositionAPI/ResizeAPI.js +74 -74
  127. package/src/AModal/AModal.js +530 -530
  128. package/src/AModalForm/AModalForm.js +383 -383
  129. package/src/AModalWizard/AModalWizard.js +563 -563
  130. package/src/ANotification/ANotification.js +60 -60
  131. package/src/APagination/APagination.js +111 -111
  132. package/src/APagination/APaginationCountPerPage/APaginationCountPerPage.js +209 -209
  133. package/src/APagination/APaginationCountPerPage/compositionAPI/MainAPI.js +40 -40
  134. package/src/APagination/APaginationCountPerPage/compositionAPI/TextsAPI.js +54 -54
  135. package/src/APagination/APaginationPages/APaginationPages.js +282 -282
  136. package/src/APagination/APaginationPages/compositionAPI/PaginationItemsAPI.js +102 -102
  137. package/src/APagination/APaginationPages/compositionAPI/TextsAPI.js +74 -74
  138. package/src/APagination/compositionAPI/ComponentsAPI.js +79 -79
  139. package/src/APagination/i18n/ar.json +12 -12
  140. package/src/APagination/i18n/es.json +12 -12
  141. package/src/APagination/i18n/fr.json +12 -12
  142. package/src/APagination/i18n/hr.json +12 -12
  143. package/src/APagination/i18n/it.json +12 -12
  144. package/src/APagination/i18n/ru.json +12 -12
  145. package/src/APopup/APopup.js +115 -115
  146. package/src/ATable/ATable.js +1163 -1163
  147. package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +241 -241
  148. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +200 -200
  149. package/src/ATable/ATableSortingAdditional/compositionAPI/ModelAPI.js +152 -152
  150. package/src/ATable/ATableTd/ATableTd.js +145 -145
  151. package/src/ATable/ATableTdAction/ATableTdAction.js +223 -223
  152. package/src/ATable/ATableTopPanel/ATableTopPanel.js +433 -433
  153. package/src/ATable/compositionAPI/ColumnActionAPI.js +105 -105
  154. package/src/ATable/compositionAPI/ColumnStylesAPI.js +50 -50
  155. package/src/ATable/compositionAPI/ColumnsGroupedAPI.js +187 -187
  156. package/src/ATable/compositionAPI/PaginationModesAPI.js +44 -44
  157. package/src/ATable/compositionAPI/PreviewAPI.js +201 -201
  158. package/src/ATable/compositionAPI/PreviewRightResizeAPI.js +135 -135
  159. package/src/ATable/compositionAPI/ScrollControlAPI.js +249 -249
  160. package/src/ATable/compositionAPI/SortAPI.js +86 -86
  161. package/src/ATable/compositionAPI/WidthAPI.js +73 -73
  162. package/src/ATableForm/ATableForm.js +610 -602
  163. package/src/ATableForm/ATableFormCell/ATableFormCell.js +183 -183
  164. package/src/ATableForm/ATableFormCell/compositionAPI/DisabledAPI.js +20 -20
  165. package/src/ATableForm/ATableFormCell/compositionAPI/ReadonlyAPI.js +28 -28
  166. package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +282 -282
  167. package/src/ATableForm/ATableFormCellAction/compositionAPI/DeleteAPI.js +80 -80
  168. package/src/ATableForm/ATableFormCellAction/compositionAPI/DisabledAPI.js +60 -60
  169. package/src/ATableForm/ATableFormCellAction/compositionAPI/HiddenAPI.js +46 -46
  170. package/src/ATableForm/ATableFormCellAction/compositionAPI/IdsAPI.js +31 -31
  171. package/src/ATableForm/ATableFormCellAction/compositionAPI/StylesAPI.js +29 -28
  172. package/src/ATableForm/ATableFormCellAction/compositionAPI/TitleAPI.js +47 -47
  173. package/src/ATableForm/ATableFormCellDnd/ATableFormCellDnd.js +6 -1
  174. package/src/ATableForm/ATableFormCellDnd/compositionAPI/IdAPI.js +21 -21
  175. package/src/ATableForm/ATableFormCellList/compositionAPI/DataAPI.js +61 -61
  176. package/src/ATableForm/ATableFormRow/ATableFormRow.js +580 -574
  177. package/src/ATableForm/ATableFormRow/compositionAPI/ErrorsAPI.js +40 -40
  178. package/src/ATableForm/ATableFormRow/compositionAPI/FocusAPI.js +55 -55
  179. package/src/ATableForm/ATableFormRow/compositionAPI/IdAPI.js +19 -19
  180. package/src/ATableForm/__tests__/ATableForm.DragAndDropAPI.test.js +48 -0
  181. package/src/ATableForm/__tests__/ATableForm.ListView.test.js +672 -460
  182. package/src/ATableForm/compositionAPI/ClassesAPI.js +23 -23
  183. package/src/ATableForm/compositionAPI/ColumnsAPI.js +4 -2
  184. package/src/ATableForm/compositionAPI/ColumnsGrowAPI.js +191 -190
  185. package/src/ATableForm/compositionAPI/DeleteAPI.js +9 -9
  186. package/src/ATableForm/compositionAPI/DragAndDropAPI.js +6 -5
  187. package/src/ATableForm/compositionAPI/EditAPI.js +127 -128
  188. package/src/ATableForm/compositionAPI/RowsAPI.js +42 -42
  189. package/src/ATableForm/compositionAPI/StylesAPI.js +62 -62
  190. package/src/ATableForm/compositionAPI/WidthsAPI.js +21 -21
  191. package/src/ATableForm/i18n/ATableFormI18n.js +19 -19
  192. package/src/ATabs/ATabsContent/ATabsContent.js +102 -102
  193. package/src/ATabs/ATabsTab/ATabsTab.js +185 -185
  194. package/src/ATooltip/ATooltip.js +221 -221
  195. package/src/ATranslation/compositionAPI/UtilsAPI.js +187 -187
  196. package/src/AVerticalScroll/compositionAPI/ScrollAPI.js +55 -55
  197. package/src/AWizard/AWizard.js +467 -467
  198. package/src/compositionAPI/AEventOutsideAPI.js +46 -46
  199. package/src/compositionAPI/AMobileAPI.js +32 -32
  200. package/src/compositionAPI/APageTabTitleAPI.js +84 -84
  201. package/src/compositionAPI/ARemPxAPI.js +47 -47
  202. package/src/compositionAPI/FocusByDestroyAPI.js +67 -67
  203. package/src/const/AKeys.js +9 -9
  204. package/src/directives/AOnHooks.js +0 -0
  205. package/src/i18n/allLanguages.js +377 -377
  206. package/src/i18n/ar.json +4 -4
  207. package/src/i18n/de.json +4 -4
  208. package/src/i18n/en.json +4 -4
  209. package/src/i18n/es.json +4 -4
  210. package/src/i18n/fr.json +4 -4
  211. package/src/i18n/hr.json +4 -4
  212. package/src/i18n/it.json +4 -4
  213. package/src/i18n/ru.json +4 -4
  214. package/src/index.js +402 -402
  215. package/src/plugins/AAlertPlugin.js +53 -53
  216. package/src/plugins/ACarouselPlugin.js +34 -34
  217. package/src/plugins/ADatepickerPlugin.js +57 -57
  218. package/src/plugins/AFiltersPlugin.js +102 -102
  219. package/src/plugins/AInputCurrencyPlugin.js +31 -31
  220. package/src/plugins/AMobilePlugin.js +32 -32
  221. package/src/plugins/ARemPxPlugin.js +37 -37
  222. package/src/plugins/ASelectPlugin.js +54 -54
  223. package/src/plugins/ASelectStylesPlugin.js +2376 -2376
  224. package/src/temp/px_to_rem_mapping_1_to_800.md +802 -802
  225. package/src/ui/ACheckbox/ACheckbox.js +929 -929
  226. package/src/ui/ACheckbox/ACheckboxItem/ACheckboxItem.js +0 -0
  227. package/src/ui/ACheckboxRadioGroups/ACheckboxRadioGroups.js +0 -0
  228. package/src/ui/ADatepicker/ADatepicker.js +807 -807
  229. package/src/ui/ADatepicker/ADatepickerCalendarPanel/ADatepickerCalendarPanel.js +796 -796
  230. package/src/ui/ADatepicker/ADatepickerCalendarPanel/compositionAPI/CalendarAPI.js +51 -51
  231. package/src/ui/ADatepicker/compositionAPI/LanguagesAPI.js +92 -92
  232. package/src/ui/ADatepicker/compositionAPI/PlaceholderAPI.js +55 -55
  233. package/src/ui/ADatepicker/i18n/ADatepickerI18n.js +19 -19
  234. package/src/ui/ADatepicker/i18n/ar.json +47 -47
  235. package/src/ui/ADatepicker/i18n/de.json +48 -48
  236. package/src/ui/ADatepicker/i18n/en.json +48 -48
  237. package/src/ui/ADatepicker/i18n/es.json +47 -47
  238. package/src/ui/ADatepicker/i18n/fr.json +47 -47
  239. package/src/ui/ADatepicker/i18n/hr.json +47 -47
  240. package/src/ui/ADatepicker/i18n/it.json +47 -47
  241. package/src/ui/ADatepicker/i18n/ru.json +48 -48
  242. package/src/ui/ADatepicker/panel/APanelDate/APanelDate.js +196 -196
  243. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/DatesAPI.js +66 -66
  244. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusAPI.js +96 -96
  245. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusActiveAPI.js +27 -27
  246. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/SelectAPI.js +21 -21
  247. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/TableAPI.js +128 -128
  248. package/src/ui/ADatepicker/panel/APanelMonth/APanelMonth.js +129 -129
  249. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusAPI.js +94 -94
  250. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusActiveAPI.js +21 -21
  251. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/MonthsAPI.js +51 -51
  252. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/SelectAPI.js +29 -29
  253. package/src/ui/ADatepicker/panel/APanelYearItem/APanelYearItem.js +75 -75
  254. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/AttributesAPI.js +35 -35
  255. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/SelectAPI.js +35 -35
  256. package/src/ui/ADatepickerRange/ADatepickerRange.js +537 -537
  257. package/src/ui/AErrors/AErrors.js +149 -149
  258. package/src/ui/AErrors/AErrorsElement/AErrorsElement.js +0 -0
  259. package/src/ui/AErrors/i18n/AErrorsI18n.js +19 -19
  260. package/src/ui/AErrors/i18n/ar.json +3 -3
  261. package/src/ui/AErrors/i18n/de.json +2 -2
  262. package/src/ui/AErrors/i18n/en.json +3 -3
  263. package/src/ui/AErrors/i18n/es.json +3 -3
  264. package/src/ui/AErrors/i18n/fr.json +3 -3
  265. package/src/ui/AErrors/i18n/hr.json +3 -3
  266. package/src/ui/AErrors/i18n/it.json +3 -3
  267. package/src/ui/AErrors/i18n/ru.json +3 -3
  268. package/src/ui/AErrorsText/AErrorsText.js +62 -62
  269. package/src/ui/AFieldset/AFieldset.js +535 -535
  270. package/src/ui/AFieldset/compositionAPI/ModelAPI.js +54 -54
  271. package/src/ui/AForm/AForm.js +252 -252
  272. package/src/ui/AFormElement/AFormElement.js +160 -160
  273. package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +86 -86
  274. package/src/ui/AFormElementBtnClear/i18n/AFormElementBtnClearI18n.js +19 -19
  275. package/src/ui/AFormElementBtnClear/i18n/ar.json +2 -2
  276. package/src/ui/AFormElementBtnClear/i18n/de.json +2 -2
  277. package/src/ui/AFormElementBtnClear/i18n/en.json +2 -2
  278. package/src/ui/AFormElementBtnClear/i18n/es.json +2 -2
  279. package/src/ui/AFormElementBtnClear/i18n/fr.json +2 -2
  280. package/src/ui/AFormElementBtnClear/i18n/hr.json +2 -2
  281. package/src/ui/AFormElementBtnClear/i18n/it.json +2 -2
  282. package/src/ui/AFormElementBtnClear/i18n/ru.json +2 -2
  283. package/src/ui/AFormHelpText/AFormHelpText.js +37 -37
  284. package/src/ui/AFormLabelDescription/AFormLabelDescription.js +43 -43
  285. package/src/ui/AFormReadonly/AFormReadonly.js +193 -193
  286. package/src/ui/AGroup/AGroup.js +427 -427
  287. package/src/ui/AInput/AInput.js +516 -516
  288. package/src/ui/AInput/compositionAPI/ClassAPI.js +43 -43
  289. package/src/ui/AInputCurrency/AInputCurrency.js +620 -620
  290. package/src/ui/AInputCurrency/compositionAPI/IncreaseDecreaseAPI.js +76 -76
  291. package/src/ui/AInputCurrency/compositionAPI/InputEventsAPI.js +751 -751
  292. package/src/ui/AInputCurrency/compositionAPI/ModelAPI.js +88 -88
  293. package/src/ui/AInputCurrency/compositionAPI/UtilsAPI.js +54 -54
  294. package/src/ui/AInputFile/AInputFile.js +247 -247
  295. package/src/ui/AInputNumber/AInputNumber.js +497 -497
  296. package/src/ui/AInputNumber/compositionAPI/InputEventsAPI.js +196 -196
  297. package/src/ui/AInputNumber/compositionAPI/ModelAPI.js +72 -72
  298. package/src/ui/AInputNumberRange/AInputNumberRange.js +517 -517
  299. package/src/ui/AJson/AJson.js +434 -434
  300. package/src/ui/ALabel/ALabel.js +0 -0
  301. package/src/ui/AMultiselectOrdered/AMultiselectOrdered.js +935 -935
  302. package/src/ui/AOneCheckbox/AOneCheckbox.js +366 -366
  303. package/src/ui/ARadio/ARadio.js +924 -924
  304. package/src/ui/ARadio/ARadioItem/ARadioItem.js +0 -0
  305. package/src/ui/ARequired/ARequired.js +0 -0
  306. package/src/ui/ARouterLinkConfig/ARouterLinkConfig.js +391 -391
  307. package/src/ui/ARouterLinkConfig/compositionAPI/DataFormAPI.js +102 -102
  308. package/src/ui/ARouterLinkConfig/compositionAPI/ModelLocalAPI.js +96 -96
  309. package/src/ui/ARouterLinkConfig/compositionAPI/RouteAPI.js +51 -51
  310. package/src/ui/ASelect/ASelect.js +1339 -1339
  311. package/src/ui/ASelect/ASelectElement/ASelectElement.js +0 -0
  312. package/src/ui/ASelect/ASelectValueCloseable/ASelectValueCloseable.js +1 -1
  313. package/src/ui/ASelect/ASelectValueCloseable/compositionAPI/CloseAPI.js +28 -28
  314. package/src/ui/ASelect/compositionAPI/ToggleAPI.js +255 -255
  315. package/src/ui/ASelect/i18n/ar.json +6 -6
  316. package/src/ui/ASelect/i18n/de.json +7 -7
  317. package/src/ui/ASelect/i18n/en.json +6 -6
  318. package/src/ui/ASelect/i18n/es.json +6 -6
  319. package/src/ui/ASelect/i18n/fr.json +6 -6
  320. package/src/ui/ASelect/i18n/hr.json +6 -6
  321. package/src/ui/ASelect/i18n/it.json +6 -6
  322. package/src/ui/ASelect/i18n/ru.json +6 -6
  323. package/src/ui/ASelectIcon/ASelectIcon.js +386 -386
  324. package/src/ui/ASelectStyle/ASelectStyle.js +391 -391
  325. package/src/ui/ASelectStyle/compositionAPI/DataAPI.js +68 -68
  326. package/src/ui/ASelectStyle/compositionAPI/EventsAPI.js +24 -24
  327. package/src/ui/ASelectStyle/compositionAPI/KeyLabelCallbackAPI.js +15 -15
  328. package/src/ui/ASelectStyle/compositionAPI/TypeAPI.js +24 -24
  329. package/src/ui/ASelectStyle/i18n/ASelectStyleI18n.js +19 -19
  330. package/src/ui/ASelectStyle/i18n/ar.json +277 -277
  331. package/src/ui/ASelectStyle/i18n/de.json +277 -277
  332. package/src/ui/ASelectStyle/i18n/en.json +277 -277
  333. package/src/ui/ASelectStyle/i18n/es.json +277 -277
  334. package/src/ui/ASelectStyle/i18n/fr.json +277 -277
  335. package/src/ui/ASelectStyle/i18n/hr.json +277 -277
  336. package/src/ui/ASelectStyle/i18n/it.json +277 -277
  337. package/src/ui/ASelectStyle/i18n/ru.json +277 -277
  338. package/src/ui/ASlider/ASlider.js +672 -672
  339. package/src/ui/ASlider/compositionAPI/AriaAttributesAPI.js +121 -121
  340. package/src/ui/ASlider/compositionAPI/AttributesAPI.js +15 -15
  341. package/src/ui/ASlider/compositionAPI/DataAPI.js +115 -115
  342. package/src/ui/ASlider/compositionAPI/DragAndDropAPI.js +198 -198
  343. package/src/ui/ASlider/compositionAPI/LabelAPI.js +13 -13
  344. package/src/ui/ASlider/compositionAPI/MarksAPI.js +32 -32
  345. package/src/ui/ASlider/compositionAPI/SliderAPI.js +289 -289
  346. package/src/ui/ASlider/compositionAPI/StopsAPI.js +47 -47
  347. package/src/ui/ASlider/compositionAPI/StylesAPI.js +79 -79
  348. package/src/ui/ASlider/compositionAPI/TitleAPI.js +42 -42
  349. package/src/ui/ASlider/i18n/ASliderI18n.js +19 -19
  350. package/src/ui/ASlider/i18n/en.json +4 -4
  351. package/src/ui/ASwitch/ASwitch.js +442 -442
  352. package/src/ui/ATemplate/ATemplate.js +0 -0
  353. package/src/ui/ATextarea/ATextarea.js +437 -437
  354. package/src/ui/AUiComponents.js +59 -59
  355. package/src/ui/AUiContainerComponents.js +12 -12
  356. package/src/ui/AValidatedJson/AValidatedJson.js +594 -594
  357. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DeleteAPI.js +63 -63
  358. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DetailsAPI.js +59 -59
  359. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/MoveAPI.js +50 -50
  360. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/UpdateAPI.js +48 -48
  361. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DataFormAPI.js +69 -69
  362. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DisabledAPI.js +35 -35
  363. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/ModelAPI.js +31 -31
  364. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/SaveAPI.js +115 -115
  365. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/TextAPI.js +25 -25
  366. package/src/ui/AValidatedJson/compositionAPI/AValidatedJsonErrorLabelsAPI.js +18 -18
  367. package/src/ui/AValidatedJson/compositionAPI/AttributesAPI.js +15 -15
  368. package/src/ui/AValidatedJson/compositionAPI/ChildrenAPI.js +70 -70
  369. package/src/ui/AValidatedJson/compositionAPI/EventsAPI.js +19 -19
  370. package/src/ui/AValidatedJson/compositionAPI/JsonModeAPI.js +119 -119
  371. package/src/ui/AValidatedJson/compositionAPI/ListModeAPI.js +144 -144
  372. package/src/ui/AValidatedJson/compositionAPI/ModelAPI.js +38 -38
  373. package/src/ui/AValidatedJson/compositionAPI/SingleModeAPI.js +112 -112
  374. package/src/ui/AValidatedJson/compositionAPI/TranslateAPI.js +22 -22
  375. package/src/ui/AValidatedJson/i18n/AValidatedJsonI18n.js +19 -19
  376. package/src/ui/AValidatedJson/i18n/ar.json +3 -3
  377. package/src/ui/AValidatedJson/i18n/de.json +22 -22
  378. package/src/ui/AValidatedJson/i18n/en.json +3 -3
  379. package/src/ui/AValidatedJson/i18n/es.json +3 -3
  380. package/src/ui/AValidatedJson/i18n/fr.json +3 -3
  381. package/src/ui/AValidatedJson/i18n/hr.json +3 -3
  382. package/src/ui/AValidatedJson/i18n/it.json +3 -3
  383. package/src/ui/AValidatedJson/i18n/ru.json +6 -6
  384. package/src/ui/compositionApi/UIDataGroupAPI.js +94 -94
  385. package/src/ui/compositionApi/UiAPI.js +185 -185
  386. package/src/ui/compositionApi/UiClearButtonAPI.js +19 -19
  387. package/src/ui/compositionApi/UiDataSortAPI.js +29 -29
  388. package/src/ui/compositionApi/UiDataWithKeyIdAndLabelAPI.js +155 -155
  389. package/src/ui/const/AUiTypes.js +69 -69
  390. package/src/ui/mixins/UiMixinProps.js +129 -129
  391. package/src/ui/utils/utils.js +79 -79
  392. package/src/utils/__tests__/utils.aOrderBy.test.js +237 -237
  393. package/src/utils/__tests__/utils.aSortBy.test.js +331 -331
  394. package/src/utils/__tests__/utilsArray.aFirst.test.js +54 -54
  395. package/src/utils/__tests__/utilsArray.aLast.test.js +54 -54
  396. package/src/utils/__tests__/utilsLang.isArguments.test.js +52 -52
  397. package/src/utils/__tests__/utilsLang.isArray.test.js +50 -50
  398. package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +48 -48
  399. package/src/utils/__tests__/utilsLang.isBoolean.test.js +56 -56
  400. package/src/utils/__tests__/utilsLang.isBuffer.test.js +47 -47
  401. package/src/utils/__tests__/utilsLang.isDate.test.js +54 -54
  402. package/src/utils/__tests__/utilsLang.isElement.test.js +53 -53
  403. package/src/utils/__tests__/utilsLang.isError.test.js +52 -52
  404. package/src/utils/__tests__/utilsLang.isFinite.test.js +57 -57
  405. package/src/utils/__tests__/utilsLang.isFunction.test.js +46 -46
  406. package/src/utils/__tests__/utilsLang.isInteger.test.js +58 -58
  407. package/src/utils/__tests__/utilsLang.isMap.test.js +50 -50
  408. package/src/utils/__tests__/utilsLang.isNaN.test.js +55 -55
  409. package/src/utils/__tests__/utilsLang.isNil.test.js +57 -57
  410. package/src/utils/__tests__/utilsLang.isNull.test.js +53 -53
  411. package/src/utils/__tests__/utilsLang.isNumber.test.js +54 -54
  412. package/src/utils/__tests__/utilsLang.isObject.test.js +49 -49
  413. package/src/utils/__tests__/utilsLang.isObjectLike.test.js +45 -45
  414. package/src/utils/__tests__/utilsLang.isPlainObject.test.js +60 -60
  415. package/src/utils/__tests__/utilsLang.isPromise.test.js +93 -93
  416. package/src/utils/__tests__/utilsLang.isRegExp.test.js +46 -46
  417. package/src/utils/__tests__/utilsLang.isSet.test.js +50 -50
  418. package/src/utils/__tests__/utilsLang.isString.test.js +50 -50
  419. package/src/utils/__tests__/utilsLang.isSymbol.test.js +45 -45
  420. package/src/utils/__tests__/utilsLang.isUndefined.test.js +57 -57
  421. package/src/utils/__tests__/utilsLang.isWeakMap.test.js +49 -49
  422. package/src/utils/__tests__/utilsLang.isWeakSet.test.js +49 -49
  423. package/src/utils/actions.js +67 -67
  424. package/src/utils/autosize.js +277 -277
  425. package/src/utils/isBrowser.js +12 -12
  426. package/src/utils/utils.js +253 -253
  427. package/src/utils/utilsArray.js +29 -29
  428. package/src/utils/utilsDOM.js +188 -188
  429. package/src/utils/utilsLang.js +346 -346
@@ -1,433 +1,433 @@
1
- import {
2
- h,
3
- } from "vue";
4
-
5
- import AButton from "../../AButton/AButton";
6
- import AElement from "../../AElement/AElement";
7
- import AGroupButtonDropdown from "../../AGroupButtonDropdown/AGroupButtonDropdown";
8
- import AInput from "../../ui/AInput/AInput";
9
- import ARadio from "../../ui/ARadio/ARadio";
10
- import ATableSortingAdditional from "../ATableSortingAdditional/ATableSortingAdditional";
11
- import ATranslation from "../../ATranslation/ATranslation";
12
-
13
- import AFiltersAPI from "../../compositionAPI/AFiltersAPI";
14
- import ActionsAPI from "./compositionAPI/ActionsAPI";
15
- import CountAllRowsAPI from "./compositionAPI/CountAllRowsAPI";
16
- import IdAPI from "./compositionAPI/IdAPI";
17
- import MultipleAPI from "./compositionAPI/MultipleAPI";
18
- import ViewsAPI from "./compositionAPI/ViewsAPI";
19
-
20
- import Search from "aloha-svg/dist/js/bootstrap3/Search";
21
- import ThreeDots from "aloha-svg/dist/js/bootstrap/ThreeDots";
22
- import UiChecks from "aloha-svg/dist/js/bootstrap/UiChecks";
23
-
24
- export default {
25
- name: "ATableTopPanel",
26
- props: {
27
- additionalSortingColumns: {
28
- type: Array,
29
- required: false,
30
- default: () => [],
31
- },
32
- areAllRowsSelected: {
33
- type: Boolean,
34
- required: true,
35
- },
36
- areSomeRowsSelected: {
37
- type: Boolean,
38
- required: true,
39
- },
40
- closeMultipleActionsActive: {
41
- type: Function,
42
- required: true,
43
- },
44
- countAllRows: {
45
- type: Number,
46
- required: true,
47
- },
48
- disabledActions: {
49
- type: Boolean,
50
- required: true,
51
- },
52
- disabledMultipleActions: {
53
- type: Boolean,
54
- required: true,
55
- },
56
- disabledSort: {
57
- type: Boolean,
58
- required: false,
59
- },
60
- disabledViews: {
61
- type: Boolean,
62
- required: true,
63
- },
64
- extra: {
65
- type: Object,
66
- required: false,
67
- default: undefined,
68
- },
69
- hasViews: {
70
- type: Boolean,
71
- required: true,
72
- },
73
- isLabelVisible: {
74
- type: Boolean,
75
- required: false,
76
- },
77
- isLoadingMultipleActions: {
78
- type: Boolean,
79
- required: false,
80
- },
81
- isQuickSearch: {
82
- type: Boolean,
83
- required: false,
84
- },
85
- isSortingMultiColumn: {
86
- type: Boolean,
87
- required: false,
88
- default: false,
89
- },
90
- label: {
91
- type: [String, Number],
92
- required: false,
93
- default: "",
94
- },
95
- labelClass: {
96
- type: [String, Object],
97
- required: false,
98
- default: undefined,
99
- },
100
- labelTag: {
101
- type: String,
102
- required: true,
103
- },
104
- modelQuickSearch: {
105
- type: String,
106
- required: true,
107
- },
108
- modelSort: {
109
- type: Array,
110
- required: false,
111
- },
112
- modelView: {
113
- type: String,
114
- required: false,
115
- default: undefined,
116
- },
117
- multipleActions: {
118
- type: Array,
119
- required: true,
120
- },
121
- selectedRows: {
122
- type: Array,
123
- required: true,
124
- },
125
- showCount: {
126
- type: Boolean,
127
- required: false,
128
- default: true,
129
- },
130
- tableActions: {
131
- type: Array,
132
- required: true,
133
- },
134
- tableActionsIndexFirstDropdownAction: {
135
- type: Number,
136
- required: false,
137
- default: -1,
138
- },
139
- tableActionsIndexFirstDropdownActionMobile: {
140
- type: Number,
141
- required: false,
142
- default: 0,
143
- },
144
- useAdditionalSorting: {
145
- type: Boolean,
146
- required: false,
147
- default: true,
148
- },
149
- useViewSlot: {
150
- type: Boolean,
151
- required: false,
152
- },
153
- viewCurrent: {
154
- type: Object,
155
- required: false,
156
- default: undefined,
157
- },
158
- views: {
159
- type: Array,
160
- required: true,
161
- },
162
- },
163
- emits: [
164
- "toggleBtnAllRows",
165
- "toggleMultipleActionsActive",
166
- "updateModelQuickSearch",
167
- "updateViewCurrent",
168
- ],
169
- inject: [
170
- "isMultipleActionsActive",
171
- "rowsLocalAll",
172
- "tableId",
173
- ],
174
- setup(props, context) {
175
- const {
176
- tableLabelId,
177
- } = IdAPI();
178
-
179
- const {
180
- filterCurrency,
181
- } = AFiltersAPI();
182
-
183
- const {
184
- buttonMultipleId,
185
- currentMultipleActions,
186
- multipleActionsFiltered,
187
- onCancelMultipleActions,
188
- onOpenModalMultipleActions,
189
- tableActionsFiltered,
190
- } = ActionsAPI(props, context);
191
-
192
- const {
193
- isBtnMultipleActionDisabled,
194
- isBtnSelectAllRowsDisabled,
195
- multiplePanelId,
196
- textMultipleBtnAllRowsTranslate,
197
- textMultipleSelectedTranslateExtra,
198
- toggleBtnAllRows,
199
- } = MultipleAPI(props, context);
200
-
201
- const {
202
- updateViewCurrentLocal,
203
- viewSlotLocal,
204
- } = ViewsAPI(props, context);
205
-
206
- const {
207
- countAllRowsFormatted,
208
- } = CountAllRowsAPI(props);
209
-
210
- return {
211
- buttonMultipleId,
212
- countAllRowsFormatted,
213
- currentMultipleActions,
214
- filterCurrency,
215
- isBtnMultipleActionDisabled,
216
- isBtnSelectAllRowsDisabled,
217
- multipleActionsFiltered,
218
- multiplePanelId,
219
- onCancelMultipleActions,
220
- onOpenModalMultipleActions,
221
- tableActionsFiltered,
222
- tableLabelId,
223
- textMultipleBtnAllRowsTranslate,
224
- textMultipleSelectedTranslateExtra,
225
- toggleBtnAllRows,
226
- updateViewCurrentLocal,
227
- viewSlotLocal,
228
- };
229
- },
230
- methods: {
231
- updateModelQuickSearch(model) {
232
- this.$emit("updateModelQuickSearch", model);
233
- },
234
- },
235
- render() {
236
- return [
237
- h("div", {
238
- class: "a_table__top_panel",
239
- }, [
240
- this.isLabelVisible ?
241
- this.$slots.tableLabel ?
242
- this.$slots.tableLabel({
243
- countAllRows: this.countAllRows,
244
- tableLabelId: this.tableLabelId,
245
- }) :
246
- h(this.labelTag, {
247
- class: ["a_table__top_panel__label", this.labelClass],
248
- }, [
249
- h(ATranslation, {
250
- id: this.tableLabelId,
251
- tag: "span",
252
- class: "a_table__top_panel__label__text",
253
- text: this.label,
254
- extra: this.extra,
255
- }),
256
- this.showCount ?
257
- h(AElement, {
258
- class: "a_table__top_panel__label__count",
259
- extra: {
260
- count: this.countAllRows,
261
- },
262
- tag: "span",
263
- text: this.countAllRowsFormatted,
264
- textAriaHidden: true,
265
- textScreenReader: "_A_TABLE_ALL_ROWS_{{count}}_",
266
- title: "_A_TABLE_ALL_ROWS_{{count}}_",
267
- type: "text",
268
- }) :
269
- "",
270
- ]) :
271
- "",
272
- h("div", {
273
- class: "a_table__top_panel__actions",
274
- }, [
275
- this.$slots.tableActionsPrepend ?
276
- this.$slots.tableActionsPrepend({
277
- isMultipleActionsActive: this.isMultipleActionsActive,
278
- modelView: this.modelView,
279
- }) :
280
- "",
281
- h(AGroupButtonDropdown, {
282
- actions: this.tableActionsFiltered,
283
- actionsClasses: [],
284
- disabled: this.isMultipleActionsActive || this.disabledActions,
285
- indexFirstDropdownAction: this.tableActionsIndexFirstDropdownAction,
286
- indexFirstDropdownActionMobile: this.tableActionsIndexFirstDropdownActionMobile,
287
- minDropdownActions: 0,
288
- dropdownAttributes: {
289
- buttonClass: "a_btn a_btn_secondary a_table__action",
290
- buttonIconLeft: ThreeDots,
291
- buttonText: {
292
- desktop: "_A_TABLE_ACTIONS_",
293
- },
294
- hasCaret: false,
295
- inBody: true,
296
- placement: "bottom-end",
297
- },
298
- }),
299
- h(AGroupButtonDropdown, {
300
- actions: this.multipleActionsFiltered,
301
- actionsClasses: [],
302
- disabled: this.isMultipleActionsActive || this.disabledMultipleActions,
303
- indexFirstDropdownAction: 0,
304
- indexFirstDropdownActionMobile: 0,
305
- minDropdownActions: 0,
306
- dropdownAttributes: {
307
- id: this.buttonMultipleId,
308
- buttonClass: "a_btn a_btn_secondary a_table__action",
309
- buttonText: {
310
- desktop: "_A_TABLE_MULTIPLE_ACTIONS_",
311
- },
312
- buttonIconLeft: UiChecks,
313
- inBody: true,
314
- placement: "bottom-end",
315
- },
316
- }),
317
- this.isQuickSearch ?
318
- h(AInput, {
319
- label: "_A_TABLE_QUICK_SEARCH_",
320
- class: "a_table__top_panel__actions__quick_search",
321
- modelUndefined: "",
322
- modelValue: this.modelQuickSearch,
323
- iconPrepend: Search,
324
- "onUpdate:modelValue": this.updateModelQuickSearch,
325
- }) :
326
- "",
327
- this.hasViews ?
328
- h(ARadio, {
329
- modelValue: this.modelView,
330
- class: "a_d_inline_block",
331
- isButtonGroup: true,
332
- disabled: this.disabledViews,
333
- slotName: this.viewSlotLocal,
334
- data: this.views,
335
- keyId: "id",
336
- keyLabel: "label",
337
- hasBorder: false,
338
- classFieldset: "a_p_0",
339
- "onUpdate:modelValue": this.updateViewCurrentLocal,
340
- }, {
341
- viewSlot: arg => this.$slots.viewSlot && this.$slots.viewSlot({
342
- ...arg,
343
- }),
344
- }) :
345
- "",
346
- this.useAdditionalSorting ?
347
- h(ATableSortingAdditional, {
348
- additionalSortingColumns: this.additionalSortingColumns,
349
- disabledSort: this.disabledSort,
350
- isSortingMultiColumn: this.isSortingMultiColumn,
351
- modelSort: this.modelSort,
352
- }) :
353
- "",
354
- this.$slots.tableActionsAppend ?
355
- this.$slots.tableActionsAppend({
356
- isMultipleActionsActive: this.isMultipleActionsActive,
357
- modelView: this.modelView,
358
- }) :
359
- "",
360
- ]),
361
- ]),
362
- (this.isMultipleActionsActive && this.currentMultipleActions) ?
363
- h("div", {
364
- id: this.multiplePanelId,
365
- class: "a_table__multiple_panel",
366
- }, [
367
- h("div", {
368
- class: "a_table__multiple_panel__header",
369
- }, [
370
- h(ATranslation, {
371
- class: "a_table__multiple_panel__header__text",
372
- tag: "strong",
373
- text: "_A_TABLE_MULTIPLE_ACTIONS_",
374
- }),
375
- h("div", {
376
- class: "a_table__multiple_panel__items",
377
- }, [
378
- h(ATranslation, {
379
- class: "a_table__multiple_panel__items__selected",
380
- tag: "span",
381
- text: "_A_TABLE_MULTIPLE_ITEMS_SELECTED_{{countSelectedRows}}_{{countAllRows}}_{{countSelectedRowsFiltered}}_{{countAllRowsFiltered}}_",
382
- extra: this.textMultipleSelectedTranslateExtra,
383
- }),
384
- this.currentMultipleActions?.isAllRowsSelected &&
385
- h(AButton, {
386
- class: "a_btn a_btn_secondary a_table__multiple_panel__btn_all_rows",
387
- type: "button",
388
- text: this.textMultipleBtnAllRowsTranslate,
389
- extra: this.textMultipleSelectedTranslateExtra,
390
- disabled: this.isBtnSelectAllRowsDisabled || this.disabledMultipleActions,
391
- loading: this.isLoadingMultipleActions,
392
- onClick: this.toggleBtnAllRows,
393
- }),
394
- ]),
395
- ]),
396
- h("div", {
397
- class: "a_table__multiple_panel__actions",
398
- }, [
399
- this.currentMultipleActions?.slot && this.$slots.multipleActionActiveSlot ?
400
- this.$slots.multipleActionActiveSlot({
401
- disabled: this.isBtnMultipleActionDisabled || this.isLoadingMultipleActions || this.disabledMultipleActions,
402
- loading: this.isLoadingMultipleActions,
403
- text: this.currentMultipleActions?.text,
404
- action: this.currentMultipleActions,
405
- onClick: this.onOpenModalMultipleActions,
406
- close: this.closeMultipleActionsActive,
407
- rows: this.selectedRows,
408
- rowsVisible: this.rowsLocalAll,
409
- id: this.buttonMultipleId,
410
- areAllRowsSelected: this.areAllRowsSelected,
411
- countAllRows: this.countAllRows,
412
- }) :
413
- h(AButton, {
414
- class: "a_btn a_btn_primary a_table__action",
415
- type: "button",
416
- disabled: this.isBtnMultipleActionDisabled || this.isLoadingMultipleActions || this.disabledMultipleActions,
417
- text: this.currentMultipleActions?.text,
418
- loading: this.isLoadingMultipleActions,
419
- loadingAlign: "left",
420
- onClick: this.onOpenModalMultipleActions,
421
- }),
422
- h(AButton, {
423
- class: "a_btn a_btn_secondary a_table__action",
424
- type: "button",
425
- text: "_A_TABLE_MULTIPLE_CANCEL_",
426
- onClick: this.onCancelMultipleActions,
427
- }),
428
- ]),
429
- ]) :
430
- "",
431
- ];
432
- },
433
- };
1
+ import {
2
+ h,
3
+ } from "vue";
4
+
5
+ import AButton from "../../AButton/AButton";
6
+ import AElement from "../../AElement/AElement";
7
+ import AGroupButtonDropdown from "../../AGroupButtonDropdown/AGroupButtonDropdown";
8
+ import AInput from "../../ui/AInput/AInput";
9
+ import ARadio from "../../ui/ARadio/ARadio";
10
+ import ATableSortingAdditional from "../ATableSortingAdditional/ATableSortingAdditional";
11
+ import ATranslation from "../../ATranslation/ATranslation";
12
+
13
+ import AFiltersAPI from "../../compositionAPI/AFiltersAPI";
14
+ import ActionsAPI from "./compositionAPI/ActionsAPI";
15
+ import CountAllRowsAPI from "./compositionAPI/CountAllRowsAPI";
16
+ import IdAPI from "./compositionAPI/IdAPI";
17
+ import MultipleAPI from "./compositionAPI/MultipleAPI";
18
+ import ViewsAPI from "./compositionAPI/ViewsAPI";
19
+
20
+ import Search from "aloha-svg/dist/js/bootstrap3/Search";
21
+ import ThreeDots from "aloha-svg/dist/js/bootstrap/ThreeDots";
22
+ import UiChecks from "aloha-svg/dist/js/bootstrap/UiChecks";
23
+
24
+ export default {
25
+ name: "ATableTopPanel",
26
+ props: {
27
+ additionalSortingColumns: {
28
+ type: Array,
29
+ required: false,
30
+ default: () => [],
31
+ },
32
+ areAllRowsSelected: {
33
+ type: Boolean,
34
+ required: true,
35
+ },
36
+ areSomeRowsSelected: {
37
+ type: Boolean,
38
+ required: true,
39
+ },
40
+ closeMultipleActionsActive: {
41
+ type: Function,
42
+ required: true,
43
+ },
44
+ countAllRows: {
45
+ type: Number,
46
+ required: true,
47
+ },
48
+ disabledActions: {
49
+ type: Boolean,
50
+ required: true,
51
+ },
52
+ disabledMultipleActions: {
53
+ type: Boolean,
54
+ required: true,
55
+ },
56
+ disabledSort: {
57
+ type: Boolean,
58
+ required: false,
59
+ },
60
+ disabledViews: {
61
+ type: Boolean,
62
+ required: true,
63
+ },
64
+ extra: {
65
+ type: Object,
66
+ required: false,
67
+ default: undefined,
68
+ },
69
+ hasViews: {
70
+ type: Boolean,
71
+ required: true,
72
+ },
73
+ isLabelVisible: {
74
+ type: Boolean,
75
+ required: false,
76
+ },
77
+ isLoadingMultipleActions: {
78
+ type: Boolean,
79
+ required: false,
80
+ },
81
+ isQuickSearch: {
82
+ type: Boolean,
83
+ required: false,
84
+ },
85
+ isSortingMultiColumn: {
86
+ type: Boolean,
87
+ required: false,
88
+ default: false,
89
+ },
90
+ label: {
91
+ type: [String, Number],
92
+ required: false,
93
+ default: "",
94
+ },
95
+ labelClass: {
96
+ type: [String, Object],
97
+ required: false,
98
+ default: undefined,
99
+ },
100
+ labelTag: {
101
+ type: String,
102
+ required: true,
103
+ },
104
+ modelQuickSearch: {
105
+ type: String,
106
+ required: true,
107
+ },
108
+ modelSort: {
109
+ type: Array,
110
+ required: false,
111
+ },
112
+ modelView: {
113
+ type: String,
114
+ required: false,
115
+ default: undefined,
116
+ },
117
+ multipleActions: {
118
+ type: Array,
119
+ required: true,
120
+ },
121
+ selectedRows: {
122
+ type: Array,
123
+ required: true,
124
+ },
125
+ showCount: {
126
+ type: Boolean,
127
+ required: false,
128
+ default: true,
129
+ },
130
+ tableActions: {
131
+ type: Array,
132
+ required: true,
133
+ },
134
+ tableActionsIndexFirstDropdownAction: {
135
+ type: Number,
136
+ required: false,
137
+ default: -1,
138
+ },
139
+ tableActionsIndexFirstDropdownActionMobile: {
140
+ type: Number,
141
+ required: false,
142
+ default: 0,
143
+ },
144
+ useAdditionalSorting: {
145
+ type: Boolean,
146
+ required: false,
147
+ default: true,
148
+ },
149
+ useViewSlot: {
150
+ type: Boolean,
151
+ required: false,
152
+ },
153
+ viewCurrent: {
154
+ type: Object,
155
+ required: false,
156
+ default: undefined,
157
+ },
158
+ views: {
159
+ type: Array,
160
+ required: true,
161
+ },
162
+ },
163
+ emits: [
164
+ "toggleBtnAllRows",
165
+ "toggleMultipleActionsActive",
166
+ "updateModelQuickSearch",
167
+ "updateViewCurrent",
168
+ ],
169
+ inject: [
170
+ "isMultipleActionsActive",
171
+ "rowsLocalAll",
172
+ "tableId",
173
+ ],
174
+ setup(props, context) {
175
+ const {
176
+ tableLabelId,
177
+ } = IdAPI();
178
+
179
+ const {
180
+ filterCurrency,
181
+ } = AFiltersAPI();
182
+
183
+ const {
184
+ buttonMultipleId,
185
+ currentMultipleActions,
186
+ multipleActionsFiltered,
187
+ onCancelMultipleActions,
188
+ onOpenModalMultipleActions,
189
+ tableActionsFiltered,
190
+ } = ActionsAPI(props, context);
191
+
192
+ const {
193
+ isBtnMultipleActionDisabled,
194
+ isBtnSelectAllRowsDisabled,
195
+ multiplePanelId,
196
+ textMultipleBtnAllRowsTranslate,
197
+ textMultipleSelectedTranslateExtra,
198
+ toggleBtnAllRows,
199
+ } = MultipleAPI(props, context);
200
+
201
+ const {
202
+ updateViewCurrentLocal,
203
+ viewSlotLocal,
204
+ } = ViewsAPI(props, context);
205
+
206
+ const {
207
+ countAllRowsFormatted,
208
+ } = CountAllRowsAPI(props);
209
+
210
+ return {
211
+ buttonMultipleId,
212
+ countAllRowsFormatted,
213
+ currentMultipleActions,
214
+ filterCurrency,
215
+ isBtnMultipleActionDisabled,
216
+ isBtnSelectAllRowsDisabled,
217
+ multipleActionsFiltered,
218
+ multiplePanelId,
219
+ onCancelMultipleActions,
220
+ onOpenModalMultipleActions,
221
+ tableActionsFiltered,
222
+ tableLabelId,
223
+ textMultipleBtnAllRowsTranslate,
224
+ textMultipleSelectedTranslateExtra,
225
+ toggleBtnAllRows,
226
+ updateViewCurrentLocal,
227
+ viewSlotLocal,
228
+ };
229
+ },
230
+ methods: {
231
+ updateModelQuickSearch(model) {
232
+ this.$emit("updateModelQuickSearch", model);
233
+ },
234
+ },
235
+ render() {
236
+ return [
237
+ h("div", {
238
+ class: "a_table__top_panel",
239
+ }, [
240
+ this.isLabelVisible ?
241
+ this.$slots.tableLabel ?
242
+ this.$slots.tableLabel({
243
+ countAllRows: this.countAllRows,
244
+ tableLabelId: this.tableLabelId,
245
+ }) :
246
+ h(this.labelTag, {
247
+ class: ["a_table__top_panel__label", this.labelClass],
248
+ }, [
249
+ h(ATranslation, {
250
+ id: this.tableLabelId,
251
+ tag: "span",
252
+ class: "a_table__top_panel__label__text",
253
+ text: this.label,
254
+ extra: this.extra,
255
+ }),
256
+ this.showCount ?
257
+ h(AElement, {
258
+ class: "a_table__top_panel__label__count",
259
+ extra: {
260
+ count: this.countAllRows,
261
+ },
262
+ tag: "span",
263
+ text: this.countAllRowsFormatted,
264
+ textAriaHidden: true,
265
+ textScreenReader: "_A_TABLE_ALL_ROWS_{{count}}_",
266
+ title: "_A_TABLE_ALL_ROWS_{{count}}_",
267
+ type: "text",
268
+ }) :
269
+ "",
270
+ ]) :
271
+ "",
272
+ h("div", {
273
+ class: "a_table__top_panel__actions",
274
+ }, [
275
+ this.$slots.tableActionsPrepend ?
276
+ this.$slots.tableActionsPrepend({
277
+ isMultipleActionsActive: this.isMultipleActionsActive,
278
+ modelView: this.modelView,
279
+ }) :
280
+ "",
281
+ h(AGroupButtonDropdown, {
282
+ actions: this.tableActionsFiltered,
283
+ actionsClasses: [],
284
+ disabled: this.isMultipleActionsActive || this.disabledActions,
285
+ indexFirstDropdownAction: this.tableActionsIndexFirstDropdownAction,
286
+ indexFirstDropdownActionMobile: this.tableActionsIndexFirstDropdownActionMobile,
287
+ minDropdownActions: 0,
288
+ dropdownAttributes: {
289
+ buttonClass: "a_btn a_btn_secondary a_table__action",
290
+ buttonIconLeft: ThreeDots,
291
+ buttonText: {
292
+ desktop: "_A_TABLE_ACTIONS_",
293
+ },
294
+ hasCaret: false,
295
+ inBody: true,
296
+ placement: "bottom-end",
297
+ },
298
+ }),
299
+ h(AGroupButtonDropdown, {
300
+ actions: this.multipleActionsFiltered,
301
+ actionsClasses: [],
302
+ disabled: this.isMultipleActionsActive || this.disabledMultipleActions,
303
+ indexFirstDropdownAction: 0,
304
+ indexFirstDropdownActionMobile: 0,
305
+ minDropdownActions: 0,
306
+ dropdownAttributes: {
307
+ id: this.buttonMultipleId,
308
+ buttonClass: "a_btn a_btn_secondary a_table__action",
309
+ buttonText: {
310
+ desktop: "_A_TABLE_MULTIPLE_ACTIONS_",
311
+ },
312
+ buttonIconLeft: UiChecks,
313
+ inBody: true,
314
+ placement: "bottom-end",
315
+ },
316
+ }),
317
+ this.isQuickSearch ?
318
+ h(AInput, {
319
+ label: "_A_TABLE_QUICK_SEARCH_",
320
+ class: "a_table__top_panel__actions__quick_search",
321
+ modelUndefined: "",
322
+ modelValue: this.modelQuickSearch,
323
+ iconPrepend: Search,
324
+ "onUpdate:modelValue": this.updateModelQuickSearch,
325
+ }) :
326
+ "",
327
+ this.hasViews ?
328
+ h(ARadio, {
329
+ modelValue: this.modelView,
330
+ class: "a_d_inline_block",
331
+ isButtonGroup: true,
332
+ disabled: this.disabledViews,
333
+ slotName: this.viewSlotLocal,
334
+ data: this.views,
335
+ keyId: "id",
336
+ keyLabel: "label",
337
+ hasBorder: false,
338
+ classFieldset: "a_p_0",
339
+ "onUpdate:modelValue": this.updateViewCurrentLocal,
340
+ }, {
341
+ viewSlot: arg => this.$slots.viewSlot && this.$slots.viewSlot({
342
+ ...arg,
343
+ }),
344
+ }) :
345
+ "",
346
+ this.useAdditionalSorting ?
347
+ h(ATableSortingAdditional, {
348
+ additionalSortingColumns: this.additionalSortingColumns,
349
+ disabledSort: this.disabledSort,
350
+ isSortingMultiColumn: this.isSortingMultiColumn,
351
+ modelSort: this.modelSort,
352
+ }) :
353
+ "",
354
+ this.$slots.tableActionsAppend ?
355
+ this.$slots.tableActionsAppend({
356
+ isMultipleActionsActive: this.isMultipleActionsActive,
357
+ modelView: this.modelView,
358
+ }) :
359
+ "",
360
+ ]),
361
+ ]),
362
+ (this.isMultipleActionsActive && this.currentMultipleActions) ?
363
+ h("div", {
364
+ id: this.multiplePanelId,
365
+ class: "a_table__multiple_panel",
366
+ }, [
367
+ h("div", {
368
+ class: "a_table__multiple_panel__header",
369
+ }, [
370
+ h(ATranslation, {
371
+ class: "a_table__multiple_panel__header__text",
372
+ tag: "strong",
373
+ text: "_A_TABLE_MULTIPLE_ACTIONS_",
374
+ }),
375
+ h("div", {
376
+ class: "a_table__multiple_panel__items",
377
+ }, [
378
+ h(ATranslation, {
379
+ class: "a_table__multiple_panel__items__selected",
380
+ tag: "span",
381
+ text: "_A_TABLE_MULTIPLE_ITEMS_SELECTED_{{countSelectedRows}}_{{countAllRows}}_{{countSelectedRowsFiltered}}_{{countAllRowsFiltered}}_",
382
+ extra: this.textMultipleSelectedTranslateExtra,
383
+ }),
384
+ this.currentMultipleActions?.isAllRowsSelected &&
385
+ h(AButton, {
386
+ class: "a_btn a_btn_secondary a_table__multiple_panel__btn_all_rows",
387
+ type: "button",
388
+ text: this.textMultipleBtnAllRowsTranslate,
389
+ extra: this.textMultipleSelectedTranslateExtra,
390
+ disabled: this.isBtnSelectAllRowsDisabled || this.disabledMultipleActions,
391
+ loading: this.isLoadingMultipleActions,
392
+ onClick: this.toggleBtnAllRows,
393
+ }),
394
+ ]),
395
+ ]),
396
+ h("div", {
397
+ class: "a_table__multiple_panel__actions",
398
+ }, [
399
+ this.currentMultipleActions?.slot && this.$slots.multipleActionActiveSlot ?
400
+ this.$slots.multipleActionActiveSlot({
401
+ disabled: this.isBtnMultipleActionDisabled || this.isLoadingMultipleActions || this.disabledMultipleActions,
402
+ loading: this.isLoadingMultipleActions,
403
+ text: this.currentMultipleActions?.text,
404
+ action: this.currentMultipleActions,
405
+ onClick: this.onOpenModalMultipleActions,
406
+ close: this.closeMultipleActionsActive,
407
+ rows: this.selectedRows,
408
+ rowsVisible: this.rowsLocalAll,
409
+ id: this.buttonMultipleId,
410
+ areAllRowsSelected: this.areAllRowsSelected,
411
+ countAllRows: this.countAllRows,
412
+ }) :
413
+ h(AButton, {
414
+ class: "a_btn a_btn_primary a_table__action",
415
+ type: "button",
416
+ disabled: this.isBtnMultipleActionDisabled || this.isLoadingMultipleActions || this.disabledMultipleActions,
417
+ text: this.currentMultipleActions?.text,
418
+ loading: this.isLoadingMultipleActions,
419
+ loadingAlign: "left",
420
+ onClick: this.onOpenModalMultipleActions,
421
+ }),
422
+ h(AButton, {
423
+ class: "a_btn a_btn_secondary a_table__action",
424
+ type: "button",
425
+ text: "_A_TABLE_MULTIPLE_CANCEL_",
426
+ onClick: this.onCancelMultipleActions,
427
+ }),
428
+ ]),
429
+ ]) :
430
+ "",
431
+ ];
432
+ },
433
+ };