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,584 +1,590 @@
1
- import {
2
- h,
3
- nextTick,
4
- } from "vue";
5
- import {
6
- AAlert,
7
- AErrors,
8
- } from "../../index";
9
-
10
- import ATableFormCell from "../ATableFormCell/ATableFormCell";
11
- import ATableFormCellAction from "../ATableFormCellAction/ATableFormCellAction";
12
- import ATableFormCellDnd from "../ATableFormCellDnd/ATableFormCellDnd";
13
- import ATableFormCellList from "../ATableFormCellList/ATableFormCellList";
14
- import ATableFormTh from "../ATableFormTh/ATableFormTh";
15
-
16
- import ClassAPI from "./compositionAPI/ClassAPI";
17
- import EditAPI from "./compositionAPI/EditAPI";
18
- import ErrorsAPI from "./compositionAPI/ErrorsAPI";
19
- import FocusAPI from "./compositionAPI/FocusAPI";
20
- import IdAPI from "./compositionAPI/IdAPI";
21
-
22
- import {
23
- cloneDeep,
24
- get,
25
- isFunction,
26
- } from "lodash-es";
27
-
28
- const INTERACTIVE_ROW_CLICK_SELECTOR = [
29
- "a",
30
- "button",
31
- "[contenteditable]",
32
- "[role='button']",
33
- "[role='checkbox']",
34
- "[role='combobox']",
35
- "[role='link']",
36
- "[role='menuitem']",
37
- "[role='option']",
38
- "[role='radio']",
39
- "[role='switch']",
40
- "[role='textbox']",
41
- ].join(",");
42
-
43
- const isDisabledOrReadonlyElement = element => {
44
- return !!element && (
45
- element.disabled ||
46
- element.hasAttribute("readonly") ||
47
- element.getAttribute("aria-disabled") === "true" ||
48
- element.getAttribute("aria-readonly") === "true"
49
- );
50
- };
51
-
52
- const getColumnIdFromRowClickEvent = ($event, idTr) => {
53
- const columnElement = $event.target?.closest?.("[data-column-id]");
54
-
55
- if (columnElement?.dataset.columnId) {
56
- return columnElement.dataset.columnId;
57
- }
58
-
59
- const elementWithId = $event.target?.closest?.("[id]");
60
- const elementId = elementWithId?.id;
61
-
62
- if (elementId?.startsWith(idTr)) {
63
- return elementId.slice(idTr.length);
64
- }
65
-
66
- return undefined;
67
- };
68
-
69
- export default {
70
- name: "ATableFormRow",
71
- props: {
72
- actionsClasses: {
73
- type: Object,
74
- required: false,
75
- default: () => ({}),
76
- },
77
- actionsDisabledCallback: {
78
- type: Object,
79
- required: false,
80
- default: () => ({}),
81
- },
82
- actionsHideCallback: {
83
- type: Object,
84
- required: false,
85
- default: () => ({}),
86
- },
87
- actionsTitleCallback: {
88
- type: Object,
89
- required: false,
90
- default: () => ({}),
91
- },
92
- allColumnsLength: {
93
- type: Number,
94
- required: true,
95
- },
96
- canMoveRowDown: {
97
- type: Function,
98
- required: true,
99
- },
100
- canMoveRowUp: {
101
- type: Function,
102
- required: true,
103
- },
104
- cellTag: {
105
- type: String,
106
- required: false,
107
- default: undefined,
108
- },
109
- changeModel: {
110
- type: Function,
111
- required: false,
112
- default: undefined,
113
- },
114
- columns: {
115
- type: Array,
116
- required: true,
117
- },
118
- columnsStylesGrow: {
119
- type: Object,
120
- required: false,
121
- default: () => ({}),
122
- },
123
- draggedRowIndex: {
124
- type: Number,
125
- required: false,
126
- default: undefined,
127
- },
128
- editModel: {
129
- type: Object,
130
- required: false,
131
- default: undefined,
132
- },
133
- editFocusColumnId: {
134
- type: [String, Number],
135
- required: false,
136
- default: undefined,
137
- },
138
- errorIcon: {
139
- type: String,
140
- required: false,
141
- default: undefined,
142
- },
143
- extra: {
144
- type: Object,
145
- required: false,
146
- default: undefined,
147
- },
148
- hasActionsColumn: {
149
- type: Boolean,
150
- required: false,
151
- default: false,
152
- },
153
- hasActiveEditRow: {
154
- type: Boolean,
155
- required: false,
156
- default: false,
157
- },
158
- id: {
159
- type: String,
160
- required: true,
161
- },
162
- isActionsSticky: {
163
- type: Boolean,
164
- required: false,
165
- default: false,
166
- },
167
- isActiveEditMode: {
168
- type: Boolean,
169
- required: false,
170
- default: false,
171
- },
172
- isCreateMode: {
173
- type: Boolean,
174
- required: false,
175
- default: false,
176
- },
177
- isDeletable: {
178
- type: Boolean,
179
- required: false,
180
- default: false,
181
- },
182
- isDeletableConfirm: {
183
- type: Boolean,
184
- required: false,
185
- default: false,
186
- },
1
+ import {
2
+ h,
3
+ nextTick,
4
+ } from "vue";
5
+ import {
6
+ AAlert,
7
+ AErrors,
8
+ } from "../../index";
9
+
10
+ import ATableFormCell from "../ATableFormCell/ATableFormCell";
11
+ import ATableFormCellAction from "../ATableFormCellAction/ATableFormCellAction";
12
+ import ATableFormCellDnd from "../ATableFormCellDnd/ATableFormCellDnd";
13
+ import ATableFormCellList from "../ATableFormCellList/ATableFormCellList";
14
+ import ATableFormTh from "../ATableFormTh/ATableFormTh";
15
+
16
+ import ClassAPI from "./compositionAPI/ClassAPI";
17
+ import EditAPI from "./compositionAPI/EditAPI";
18
+ import ErrorsAPI from "./compositionAPI/ErrorsAPI";
19
+ import FocusAPI from "./compositionAPI/FocusAPI";
20
+ import IdAPI from "./compositionAPI/IdAPI";
21
+
22
+ import {
23
+ cloneDeep,
24
+ get,
25
+ isFunction,
26
+ } from "lodash-es";
27
+
28
+ const INTERACTIVE_ROW_CLICK_SELECTOR = [
29
+ "a",
30
+ "button",
31
+ "[contenteditable]",
32
+ "[role='button']",
33
+ "[role='checkbox']",
34
+ "[role='combobox']",
35
+ "[role='link']",
36
+ "[role='menuitem']",
37
+ "[role='option']",
38
+ "[role='radio']",
39
+ "[role='switch']",
40
+ "[role='textbox']",
41
+ ].join(",");
42
+
43
+ const isDisabledOrReadonlyElement = element => {
44
+ return !!element && (
45
+ element.disabled ||
46
+ element.hasAttribute("readonly") ||
47
+ element.getAttribute("aria-disabled") === "true" ||
48
+ element.getAttribute("aria-readonly") === "true"
49
+ );
50
+ };
51
+
52
+ const getColumnIdFromRowClickEvent = ($event, idTr) => {
53
+ const columnElement = $event.target?.closest?.("[data-column-id]");
54
+
55
+ if (columnElement?.dataset.columnId) {
56
+ return columnElement.dataset.columnId;
57
+ }
58
+
59
+ const elementWithId = $event.target?.closest?.("[id]");
60
+ const elementId = elementWithId?.id;
61
+
62
+ if (elementId?.startsWith(idTr)) {
63
+ return elementId.slice(idTr.length);
64
+ }
65
+
66
+ return undefined;
67
+ };
68
+
69
+ export default {
70
+ name: "ATableFormRow",
71
+ props: {
72
+ actionsClasses: {
73
+ type: Object,
74
+ required: false,
75
+ default: () => ({}),
76
+ },
77
+ actionsDisabledCallback: {
78
+ type: Object,
79
+ required: false,
80
+ default: () => ({}),
81
+ },
82
+ actionsHideCallback: {
83
+ type: Object,
84
+ required: false,
85
+ default: () => ({}),
86
+ },
87
+ actionsTitleCallback: {
88
+ type: Object,
89
+ required: false,
90
+ default: () => ({}),
91
+ },
92
+ allColumnsLength: {
93
+ type: Number,
94
+ required: true,
95
+ },
96
+ canMoveRowDown: {
97
+ type: Function,
98
+ required: true,
99
+ },
100
+ canMoveRowUp: {
101
+ type: Function,
102
+ required: true,
103
+ },
104
+ cellTag: {
105
+ type: String,
106
+ required: false,
107
+ default: undefined,
108
+ },
109
+ changeModel: {
110
+ type: Function,
111
+ required: false,
112
+ default: undefined,
113
+ },
114
+ columns: {
115
+ type: Array,
116
+ required: true,
117
+ },
118
+ columnsStylesGrow: {
119
+ type: Object,
120
+ required: false,
121
+ default: () => ({}),
122
+ },
123
+ draggedRowIndex: {
124
+ type: Number,
125
+ required: false,
126
+ default: undefined,
127
+ },
128
+ editModel: {
129
+ type: Object,
130
+ required: false,
131
+ default: undefined,
132
+ },
133
+ editFocusColumnId: {
134
+ type: [String, Number],
135
+ required: false,
136
+ default: undefined,
137
+ },
138
+ errorIcon: {
139
+ type: String,
140
+ required: false,
141
+ default: undefined,
142
+ },
143
+ extra: {
144
+ type: Object,
145
+ required: false,
146
+ default: undefined,
147
+ },
148
+ hasActionsColumn: {
149
+ type: Boolean,
150
+ required: false,
151
+ default: false,
152
+ },
153
+ hasActiveEditRow: {
154
+ type: Boolean,
155
+ required: false,
156
+ default: false,
157
+ },
158
+ id: {
159
+ type: String,
160
+ required: true,
161
+ },
162
+ isActionsSticky: {
163
+ type: Boolean,
164
+ required: false,
165
+ default: false,
166
+ },
167
+ isActiveEditMode: {
168
+ type: Boolean,
169
+ required: false,
170
+ default: false,
171
+ },
172
+ isCreateMode: {
173
+ type: Boolean,
174
+ required: false,
175
+ default: false,
176
+ },
177
+ isDeletable: {
178
+ type: Boolean,
179
+ required: false,
180
+ default: false,
181
+ },
182
+ isDeletableConfirm: {
183
+ type: Boolean,
184
+ required: false,
185
+ default: false,
186
+ },
187
187
  isDndDisabled: {
188
188
  type: Boolean,
189
189
  required: false,
190
190
  default: false,
191
191
  },
192
- isDragAndDrop: {
193
- type: Boolean,
194
- required: false,
195
- default: false,
196
- },
197
- isEditable: {
198
- type: Boolean,
199
- required: false,
200
- default: false,
201
- },
202
- isEditOnRowClick: {
192
+ isDndLocked: {
203
193
  type: Boolean,
204
194
  required: false,
205
195
  default: false,
206
196
  },
207
- isFooter: {
208
- type: Boolean,
209
- required: false,
210
- default: false,
211
- },
212
- isHeader: {
213
- type: Boolean,
214
- required: false,
215
- default: false,
216
- },
217
- moveRowDown: {
218
- type: Function,
219
- required: true,
220
- },
221
- moveRowUp: {
222
- type: Function,
223
- required: true,
224
- },
225
- onCancelEditRow: {
226
- type: Function,
227
- required: true,
228
- },
229
- onDeleteRow: {
230
- type: Function,
231
- required: true,
232
- },
233
- onDragend: {
234
- type: Function,
235
- required: true,
236
- },
237
- onDragleave: {
238
- type: Function,
239
- required: false,
240
- default: undefined,
241
- },
242
- onDragover: {
243
- type: Function,
244
- required: false,
245
- default: undefined,
246
- },
247
- onDragstart: {
248
- type: Function,
249
- required: true,
250
- },
251
- onDrop: {
252
- type: Function,
253
- required: false,
254
- default: undefined,
255
- },
256
- onEditRow: {
257
- type: Function,
258
- required: true,
259
- },
260
- row: {
261
- type: Object,
262
- required: true,
263
- },
264
- rowClass: {
265
- type: [String, Object, Array, Function],
266
- required: false,
267
- default: undefined,
268
- },
269
- rowIndex: {
270
- type: Number,
271
- required: true,
272
- },
273
- rows: {
274
- type: Array,
275
- required: true,
276
- },
277
- rowView: {
278
- type: String,
279
- required: false,
280
- default: "table",
281
- validator: value => ["list", "table"].includes(value),
282
- },
283
- saveRow: {
284
- type: Function,
285
- required: true,
286
- },
287
- texts: {
288
- type: Object,
289
- required: false,
290
- default: () => ({}),
291
- },
292
- trClass: {
293
- type: [String, Object, Array],
294
- required: false,
295
- default: undefined,
296
- },
297
- widths: {
298
- type: Object,
299
- required: false,
300
- default: () => ({}),
301
- },
302
- },
303
- setup(props) {
304
- const {
305
- idTr,
306
- } = IdAPI(props);
307
-
308
- const {
309
- focusEditableElementByColumnId,
310
- focusFirstEditableElement,
311
- } = FocusAPI({
312
- idTr,
313
- });
314
-
315
- const {
316
- errorsLocal,
317
- hasErrors,
318
- optionsListForErrors,
319
- } = ErrorsAPI(props);
320
-
321
- const {
322
- rowClassLocal,
323
- trClassLocal,
324
- } = ClassAPI(props, {
325
- hasErrors,
326
- });
327
-
328
- const {
329
- cancelEditRow,
330
- isSaving,
331
- modelLocal,
332
- saveEditRow,
333
- updateModelLocal,
334
- } = EditAPI(props, {
335
- errorsLocal,
336
- });
337
-
338
- return {
339
- cancelEditRow,
340
- errorsLocal,
341
- focusFirstEditableElement,
342
- focusEditableElementByColumnId,
343
- hasErrors,
344
- rowClassLocal,
345
- idTr,
346
- isSaving,
347
- modelLocal,
348
- optionsListForErrors,
349
- saveEditRow,
350
- trClassLocal,
351
- updateModelLocal,
352
- };
353
- },
354
- computed: {
355
- canEditOnRowClick() {
356
- if (
357
- !this.isEditOnRowClick ||
358
- !this.isEditable ||
359
- this.isActiveEditMode ||
360
- this.isCreateMode ||
361
- this.isFooter ||
362
- this.isHeader ||
363
- this.hasActiveEditRow
364
- ) {
365
- return false;
366
- }
367
-
368
- const editHideCallback = get(this.actionsHideCallback, "edit");
369
-
370
- if (isFunction(editHideCallback) && editHideCallback({
371
- row: this.row,
372
- rowIndex: this.rowIndex,
373
- })) {
374
- return false;
375
- }
376
-
377
- const editDisabledCallback = get(this.actionsDisabledCallback, "edit");
378
-
379
- if (isFunction(editDisabledCallback) && editDisabledCallback({
380
- row: this.row,
381
- rowIndex: this.rowIndex,
382
- })) {
383
- return false;
384
- }
385
-
386
- return true;
387
- },
388
- currentRowData() {
389
- return this.isActiveEditMode && this.modelLocal ? this.modelLocal : this.row;
390
- },
391
- },
392
- methods: {
393
- onRowClick($event) {
394
- if (!this.canEditOnRowClick) {
395
- return;
396
- }
397
-
398
- if ($event.target?.closest?.(".a_table_form__cell_actions, .a_table_form__cell_reorder")) {
399
- return;
400
- }
401
-
402
- const interactiveElement = $event.target?.closest?.(INTERACTIVE_ROW_CLICK_SELECTOR);
403
-
404
- if (interactiveElement && !isDisabledOrReadonlyElement(interactiveElement)) {
405
- return;
406
- }
407
-
408
- this.onEditRow({
409
- focusColumnId: getColumnIdFromRowClickEvent($event, this.idTr),
410
- id: this.idTr,
411
- row: this.row,
412
- rowIndex: this.rowIndex,
413
- });
414
- },
415
- },
416
- watch: {
417
- isActiveEditMode: {
418
- immediate: true,
419
- handler(isActiveEditMode) {
420
- if (isActiveEditMode) {
421
- this.modelLocal = cloneDeep(this.editModel === undefined ? this.row : this.editModel);
422
- this.errorsLocal = {};
423
- nextTick(() => {
424
- if (!this.focusEditableElementByColumnId(this.editFocusColumnId)) {
425
- this.focusFirstEditableElement();
426
- }
427
- });
428
- return;
429
- }
430
-
431
- this.errorsLocal = {};
432
- this.isSaving = false;
433
- },
434
- },
435
- },
436
- render() {
437
- const rows = [];
438
-
439
- if (this.isActiveEditMode && this.texts.editInfoText) {
440
- rows.push(h("tr", {
441
- class: "a_table_form__row a_table_form__row_info",
442
- key: `info_${ this.rowIndex }`,
443
- }, [
444
- h("td", {
445
- class: "a_table_form__cell a_table_form__cell_info",
446
- colspan: this.allColumnsLength,
447
- }, [
448
- h(AAlert, {
449
- alertClass: "a_table_form__info",
450
- html: this.texts.editInfoText,
451
- isVisible: true,
452
- type: "info",
453
- }),
454
- ]),
455
- ]));
456
- }
457
-
458
- rows.push(h("tr", {
459
- id: this.idTr,
460
- "aria-grabbed": !this.isHeader && !this.isFooter ? this.draggedRowIndex === this.rowIndex : undefined,
461
- class: [
462
- this.trClassLocal,
463
- {
464
- a_table_form__row_edit_on_click: this.canEditOnRowClick,
465
- },
466
- ],
467
- key: `main_${ this.rowIndex }`,
468
- onClick: this.onRowClick,
469
- onDragleave: this.onDragleave && ($event => this.onDragleave($event, this.rowIndex)),
470
- onDragover: this.onDragover && ($event => this.onDragover($event, this.rowIndex)),
471
- onDrop: this.onDrop && ($event => this.onDrop($event, this.rowIndex)),
472
- }, [
473
- this.isDragAndDrop ?
474
- h(ATableFormCellDnd, {
475
- id: this.idTr,
476
- canMoveRowDown: this.canMoveRowDown,
477
- canMoveRowUp: this.canMoveRowUp,
478
- isCreateMode: this.isCreateMode,
197
+ isDragAndDrop: {
198
+ type: Boolean,
199
+ required: false,
200
+ default: false,
201
+ },
202
+ isEditable: {
203
+ type: Boolean,
204
+ required: false,
205
+ default: false,
206
+ },
207
+ isEditOnRowClick: {
208
+ type: Boolean,
209
+ required: false,
210
+ default: false,
211
+ },
212
+ isFooter: {
213
+ type: Boolean,
214
+ required: false,
215
+ default: false,
216
+ },
217
+ isHeader: {
218
+ type: Boolean,
219
+ required: false,
220
+ default: false,
221
+ },
222
+ moveRowDown: {
223
+ type: Function,
224
+ required: true,
225
+ },
226
+ moveRowUp: {
227
+ type: Function,
228
+ required: true,
229
+ },
230
+ onCancelEditRow: {
231
+ type: Function,
232
+ required: true,
233
+ },
234
+ onDeleteRow: {
235
+ type: Function,
236
+ required: true,
237
+ },
238
+ onDragend: {
239
+ type: Function,
240
+ required: true,
241
+ },
242
+ onDragleave: {
243
+ type: Function,
244
+ required: false,
245
+ default: undefined,
246
+ },
247
+ onDragover: {
248
+ type: Function,
249
+ required: false,
250
+ default: undefined,
251
+ },
252
+ onDragstart: {
253
+ type: Function,
254
+ required: true,
255
+ },
256
+ onDrop: {
257
+ type: Function,
258
+ required: false,
259
+ default: undefined,
260
+ },
261
+ onEditRow: {
262
+ type: Function,
263
+ required: true,
264
+ },
265
+ row: {
266
+ type: Object,
267
+ required: true,
268
+ },
269
+ rowClass: {
270
+ type: [String, Object, Array, Function],
271
+ required: false,
272
+ default: undefined,
273
+ },
274
+ rowIndex: {
275
+ type: Number,
276
+ required: true,
277
+ },
278
+ rows: {
279
+ type: Array,
280
+ required: true,
281
+ },
282
+ rowView: {
283
+ type: String,
284
+ required: false,
285
+ default: "table",
286
+ validator: value => ["list", "table"].includes(value),
287
+ },
288
+ saveRow: {
289
+ type: Function,
290
+ required: true,
291
+ },
292
+ texts: {
293
+ type: Object,
294
+ required: false,
295
+ default: () => ({}),
296
+ },
297
+ trClass: {
298
+ type: [String, Object, Array],
299
+ required: false,
300
+ default: undefined,
301
+ },
302
+ widths: {
303
+ type: Object,
304
+ required: false,
305
+ default: () => ({}),
306
+ },
307
+ },
308
+ setup(props) {
309
+ const {
310
+ idTr,
311
+ } = IdAPI(props);
312
+
313
+ const {
314
+ focusEditableElementByColumnId,
315
+ focusFirstEditableElement,
316
+ } = FocusAPI({
317
+ idTr,
318
+ });
319
+
320
+ const {
321
+ errorsLocal,
322
+ hasErrors,
323
+ optionsListForErrors,
324
+ } = ErrorsAPI(props);
325
+
326
+ const {
327
+ rowClassLocal,
328
+ trClassLocal,
329
+ } = ClassAPI(props, {
330
+ hasErrors,
331
+ });
332
+
333
+ const {
334
+ cancelEditRow,
335
+ isSaving,
336
+ modelLocal,
337
+ saveEditRow,
338
+ updateModelLocal,
339
+ } = EditAPI(props, {
340
+ errorsLocal,
341
+ });
342
+
343
+ return {
344
+ cancelEditRow,
345
+ errorsLocal,
346
+ focusFirstEditableElement,
347
+ focusEditableElementByColumnId,
348
+ hasErrors,
349
+ rowClassLocal,
350
+ idTr,
351
+ isSaving,
352
+ modelLocal,
353
+ optionsListForErrors,
354
+ saveEditRow,
355
+ trClassLocal,
356
+ updateModelLocal,
357
+ };
358
+ },
359
+ computed: {
360
+ canEditOnRowClick() {
361
+ if (
362
+ !this.isEditOnRowClick ||
363
+ !this.isEditable ||
364
+ this.isActiveEditMode ||
365
+ this.isCreateMode ||
366
+ this.isFooter ||
367
+ this.isHeader ||
368
+ this.hasActiveEditRow
369
+ ) {
370
+ return false;
371
+ }
372
+
373
+ const editHideCallback = get(this.actionsHideCallback, "edit");
374
+
375
+ if (isFunction(editHideCallback) && editHideCallback({
376
+ row: this.row,
377
+ rowIndex: this.rowIndex,
378
+ })) {
379
+ return false;
380
+ }
381
+
382
+ const editDisabledCallback = get(this.actionsDisabledCallback, "edit");
383
+
384
+ if (isFunction(editDisabledCallback) && editDisabledCallback({
385
+ row: this.row,
386
+ rowIndex: this.rowIndex,
387
+ })) {
388
+ return false;
389
+ }
390
+
391
+ return true;
392
+ },
393
+ currentRowData() {
394
+ return this.isActiveEditMode && this.modelLocal ? this.modelLocal : this.row;
395
+ },
396
+ },
397
+ methods: {
398
+ onRowClick($event) {
399
+ if (!this.canEditOnRowClick) {
400
+ return;
401
+ }
402
+
403
+ if ($event.target?.closest?.(".a_table_form__cell_actions, .a_table_form__cell_reorder")) {
404
+ return;
405
+ }
406
+
407
+ const interactiveElement = $event.target?.closest?.(INTERACTIVE_ROW_CLICK_SELECTOR);
408
+
409
+ if (interactiveElement && !isDisabledOrReadonlyElement(interactiveElement)) {
410
+ return;
411
+ }
412
+
413
+ this.onEditRow({
414
+ focusColumnId: getColumnIdFromRowClickEvent($event, this.idTr),
415
+ id: this.idTr,
416
+ row: this.row,
417
+ rowIndex: this.rowIndex,
418
+ });
419
+ },
420
+ },
421
+ watch: {
422
+ isActiveEditMode: {
423
+ immediate: true,
424
+ handler(isActiveEditMode) {
425
+ if (isActiveEditMode) {
426
+ this.modelLocal = cloneDeep(this.editModel === undefined ? this.row : this.editModel);
427
+ this.errorsLocal = {};
428
+ nextTick(() => {
429
+ if (!this.focusEditableElementByColumnId(this.editFocusColumnId)) {
430
+ this.focusFirstEditableElement();
431
+ }
432
+ });
433
+ return;
434
+ }
435
+
436
+ this.errorsLocal = {};
437
+ this.isSaving = false;
438
+ },
439
+ },
440
+ },
441
+ render() {
442
+ const rows = [];
443
+
444
+ if (this.isActiveEditMode && this.texts.editInfoText) {
445
+ rows.push(h("tr", {
446
+ class: "a_table_form__row a_table_form__row_info",
447
+ key: `info_${ this.rowIndex }`,
448
+ }, [
449
+ h("td", {
450
+ class: "a_table_form__cell a_table_form__cell_info",
451
+ colspan: this.allColumnsLength,
452
+ }, [
453
+ h(AAlert, {
454
+ alertClass: "a_table_form__info",
455
+ html: this.texts.editInfoText,
456
+ isVisible: true,
457
+ type: "info",
458
+ }),
459
+ ]),
460
+ ]));
461
+ }
462
+
463
+ rows.push(h("tr", {
464
+ id: this.idTr,
465
+ "aria-grabbed": !this.isHeader && !this.isFooter ? this.draggedRowIndex === this.rowIndex : undefined,
466
+ class: [
467
+ this.trClassLocal,
468
+ {
469
+ a_table_form__row_edit_on_click: this.canEditOnRowClick,
470
+ },
471
+ ],
472
+ key: `main_${ this.rowIndex }`,
473
+ onClick: this.onRowClick,
474
+ onDragleave: this.onDragleave && ($event => this.onDragleave($event, this.rowIndex)),
475
+ onDragover: this.onDragover && ($event => this.onDragover($event, this.rowIndex)),
476
+ onDrop: this.onDrop && ($event => this.onDrop($event, this.rowIndex)),
477
+ }, [
478
+ this.isDragAndDrop ?
479
+ h(ATableFormCellDnd, {
480
+ id: this.idTr,
481
+ canMoveRowDown: this.canMoveRowDown,
482
+ canMoveRowUp: this.canMoveRowUp,
483
+ isCreateMode: this.isCreateMode,
479
484
  isDndDisabled: this.isDndDisabled,
480
- isDragAndDrop: this.isDragAndDrop,
481
- isFooter: this.isFooter,
482
- isHeader: this.isHeader,
483
- moveRowDown: this.moveRowDown,
484
- moveRowUp: this.moveRowUp,
485
- onDragend: this.onDragend,
486
- onDragstart: this.onDragstart,
487
- rowIndex: this.rowIndex,
488
- texts: this.texts,
489
- widths: this.widths,
490
- }) :
491
- null,
492
- ...(this.rowView === "list" && !this.isHeader ?
493
- [h(ATableFormCellList, {
494
- id: this.idTr,
495
- columns: this.columns,
496
- errors: this.errorsLocal,
497
- isEditable: this.isEditable,
498
- isEditMode: this.isActiveEditMode,
499
- isFooter: this.isFooter,
500
- onUpdateRowData: this.updateModelLocal,
501
- row: this.row,
502
- rowData: this.currentRowData,
503
- rowIndex: this.rowIndex,
504
- rows: this.rows,
505
- }, this.$slots)] :
506
- this.columns.map((column, columnIndex) => {
507
- if (this.isHeader) {
508
- return h(ATableFormTh, {
509
- column,
510
- columnStyle: this.columnsStylesGrow[column.id],
511
- isEditable: this.isEditable,
512
- }, this.$slots);
513
- }
514
-
515
- return h(ATableFormCell, {
516
- id: this.idTr,
517
- column,
518
- columnIndex,
519
- columnStyle: this.columnsStylesGrow[column.id],
520
- errorIcon: this.errorIcon,
521
- errors: this.errorsLocal,
522
- isEditable: this.isEditable,
523
- isEditMode: this.isActiveEditMode,
524
- isFooter: this.isFooter,
525
- onUpdateRowData: this.updateModelLocal,
526
- row: this.row,
527
- rowData: this.currentRowData,
528
- rowIndex: this.rowIndex,
529
- rows: this.rows,
530
- tag: this.cellTag,
531
- }, this.$slots);
532
- })),
533
- this.hasActionsColumn ?
534
- h(ATableFormCellAction, {
535
- id: this.idTr,
536
- actionsClasses: this.actionsClasses,
537
- actionsDisabledCallback: this.actionsDisabledCallback,
538
- actionsHideCallback: this.actionsHideCallback,
539
- actionsTitleCallback: this.actionsTitleCallback,
540
- extra: this.extra,
541
- hasActiveEditRow: this.hasActiveEditRow,
542
- isActionsSticky: this.isActionsSticky,
543
- isActiveEditMode: this.isActiveEditMode,
544
- isDeletable: this.isDeletable,
545
- isDeletableConfirm: this.isDeletableConfirm,
546
- isEditable: this.isEditable,
547
- isFooter: this.isFooter,
548
- isHeader: this.isHeader,
549
- isSaving: this.isSaving,
550
- onCancelEditRow: this.cancelEditRow,
551
- onDeleteRow: this.onDeleteRow,
552
- onEditRow: this.onEditRow,
553
- onSaveEditRow: this.saveEditRow,
554
- row: this.row,
555
- rowIndex: this.rowIndex,
556
- texts: this.texts,
557
- widths: this.widths,
558
- }) :
559
- null,
560
- ]));
561
-
562
- if (this.rowView === "table" && this.isActiveEditMode && this.hasErrors) {
563
- rows.push(h("tr", {
564
- class: "a_table_form__row a_table_form__row_errors",
565
- key: `errors_${ this.rowIndex }`,
566
- }, [
567
- h("td", {
568
- class: "a_table_form__cell a_table_form__cell_errors",
569
- colspan: this.allColumnsLength,
570
- }, [
571
- h(AErrors, {
572
- autoFocus: true,
573
- closable: false,
574
- errors: this.errorsLocal,
575
- optionsList: this.optionsListForErrors,
576
- idPrefix: this.idTr,
577
- }),
578
- ]),
579
- ]));
580
- }
581
-
582
- return rows;
583
- },
584
- };
485
+ isDndLocked: this.isDndLocked,
486
+ isDragAndDrop: this.isDragAndDrop,
487
+ isFooter: this.isFooter,
488
+ isHeader: this.isHeader,
489
+ moveRowDown: this.moveRowDown,
490
+ moveRowUp: this.moveRowUp,
491
+ onDragend: this.onDragend,
492
+ onDragstart: this.onDragstart,
493
+ rowIndex: this.rowIndex,
494
+ texts: this.texts,
495
+ widths: this.widths,
496
+ }) :
497
+ null,
498
+ ...(this.rowView === "list" && !this.isHeader ?
499
+ [h(ATableFormCellList, {
500
+ id: this.idTr,
501
+ columns: this.columns,
502
+ errors: this.errorsLocal,
503
+ isEditable: this.isEditable,
504
+ isEditMode: this.isActiveEditMode,
505
+ isFooter: this.isFooter,
506
+ onUpdateRowData: this.updateModelLocal,
507
+ row: this.row,
508
+ rowData: this.currentRowData,
509
+ rowIndex: this.rowIndex,
510
+ rows: this.rows,
511
+ }, this.$slots)] :
512
+ this.columns.map((column, columnIndex) => {
513
+ if (this.isHeader) {
514
+ return h(ATableFormTh, {
515
+ column,
516
+ columnStyle: this.columnsStylesGrow[column.id],
517
+ isEditable: this.isEditable,
518
+ }, this.$slots);
519
+ }
520
+
521
+ return h(ATableFormCell, {
522
+ id: this.idTr,
523
+ column,
524
+ columnIndex,
525
+ columnStyle: this.columnsStylesGrow[column.id],
526
+ errorIcon: this.errorIcon,
527
+ errors: this.errorsLocal,
528
+ isEditable: this.isEditable,
529
+ isEditMode: this.isActiveEditMode,
530
+ isFooter: this.isFooter,
531
+ onUpdateRowData: this.updateModelLocal,
532
+ row: this.row,
533
+ rowData: this.currentRowData,
534
+ rowIndex: this.rowIndex,
535
+ rows: this.rows,
536
+ tag: this.cellTag,
537
+ }, this.$slots);
538
+ })),
539
+ this.hasActionsColumn ?
540
+ h(ATableFormCellAction, {
541
+ id: this.idTr,
542
+ actionsClasses: this.actionsClasses,
543
+ actionsDisabledCallback: this.actionsDisabledCallback,
544
+ actionsHideCallback: this.actionsHideCallback,
545
+ actionsTitleCallback: this.actionsTitleCallback,
546
+ extra: this.extra,
547
+ hasActiveEditRow: this.hasActiveEditRow,
548
+ isActionsSticky: this.isActionsSticky,
549
+ isActiveEditMode: this.isActiveEditMode,
550
+ isDeletable: this.isDeletable,
551
+ isDeletableConfirm: this.isDeletableConfirm,
552
+ isEditable: this.isEditable,
553
+ isFooter: this.isFooter,
554
+ isHeader: this.isHeader,
555
+ isSaving: this.isSaving,
556
+ onCancelEditRow: this.cancelEditRow,
557
+ onDeleteRow: this.onDeleteRow,
558
+ onEditRow: this.onEditRow,
559
+ onSaveEditRow: this.saveEditRow,
560
+ row: this.row,
561
+ rowIndex: this.rowIndex,
562
+ texts: this.texts,
563
+ widths: this.widths,
564
+ }) :
565
+ null,
566
+ ]));
567
+
568
+ if (this.rowView === "table" && this.isActiveEditMode && this.hasErrors) {
569
+ rows.push(h("tr", {
570
+ class: "a_table_form__row a_table_form__row_errors",
571
+ key: `errors_${ this.rowIndex }`,
572
+ }, [
573
+ h("td", {
574
+ class: "a_table_form__cell a_table_form__cell_errors",
575
+ colspan: this.allColumnsLength,
576
+ }, [
577
+ h(AErrors, {
578
+ autoFocus: true,
579
+ closable: false,
580
+ errors: this.errorsLocal,
581
+ optionsList: this.optionsListForErrors,
582
+ idPrefix: this.idTr,
583
+ }),
584
+ ]),
585
+ ]));
586
+ }
587
+
588
+ return rows;
589
+ },
590
+ };