aloha-vue 2.65.0 → 2.66.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 (427) hide show
  1. package/CHANGELOG.md +1090 -1086
  2. package/dist/aloha-vue.es.js +14788 -14871
  3. package/dist/aloha-vue.umd.js +65 -65
  4. package/package.json +99 -99
  5. package/scss/_base.scss +62 -62
  6. package/scss/aloha-vue.scss +68 -68
  7. package/scss/components/AFilters.scss +304 -304
  8. package/scss/components/AFormElement/AValidatedJson.scss +6 -6
  9. package/scss/components/AMenu.scss +627 -627
  10. package/scss/components/AModal.scss +44 -44
  11. package/scss/components/APagination.scss +167 -167
  12. package/scss/components/ARate.scss +78 -78
  13. package/scss/components/AResizer.scss +63 -63
  14. package/scss/components/ATable.scss +819 -819
  15. package/scss/components/ATableForm.scss +307 -307
  16. package/scss/components/AVerticalScroll.scss +47 -47
  17. package/scss/components/AWizard.scss +669 -669
  18. package/scss/components/ui/ADatepicker.scss +342 -342
  19. package/scss/components/ui/ADatepickerRange.scss +45 -45
  20. package/scss/components/ui/AFieldset.scss +78 -78
  21. package/scss/components/ui/AInputNumber.scss +62 -62
  22. package/scss/components/ui/AInputNumberRange.scss +30 -30
  23. package/scss/components/ui/ASelect.scss +236 -236
  24. package/scss/components/ui/ASlider.scss +186 -186
  25. package/scss/components/ui/ASwitch.scss +148 -148
  26. package/scss/components/ui/ui.scss +254 -254
  27. package/scss/text/text_alignment.scss +39 -39
  28. package/scss/text/text_transform.scss +51 -51
  29. package/scss/text/text_wrapping.scss +40 -40
  30. package/scss/utils/badge.scss +45 -45
  31. package/scss/utils/checkbox_radio.scss +134 -134
  32. package/scss/utils/color.scss +46 -46
  33. package/scss/utils/dropdown.scss +185 -185
  34. package/scss/utils/list.scss +75 -75
  35. package/scss/utils/modal.scss +173 -173
  36. package/scss/utils/sizing.scss +137 -137
  37. package/scss/utils/spacing.scss +63 -63
  38. package/scss/utils/tooltip.scss +63 -63
  39. package/src/AAccordion/AAccordion.js +206 -206
  40. package/src/AAccordion/compositionAPI/IndexesForOpenAPI.js +63 -63
  41. package/src/AAccordion/compositionAPI/ToggleAPI.js +85 -85
  42. package/src/AAlert/AAlert.js +216 -216
  43. package/src/AAlert/compositionAPI/ClassAPI.js +21 -21
  44. package/src/AAlert/i18n/AAlertI18n.js +19 -19
  45. package/src/AAlert/i18n/ar.json +2 -2
  46. package/src/AAlert/i18n/de.json +2 -2
  47. package/src/AAlert/i18n/en.json +2 -2
  48. package/src/AAlert/i18n/es.json +2 -2
  49. package/src/AAlert/i18n/fr.json +2 -2
  50. package/src/AAlert/i18n/hr.json +2 -2
  51. package/src/AAlert/i18n/it.json +2 -2
  52. package/src/AAlert/i18n/ru.json +2 -2
  53. package/src/AButton/AButton.js +275 -275
  54. package/src/ACarousel/ACarousel.js +361 -361
  55. package/src/ACarousel/ACarouselBtn/ACarouselBtn.js +75 -75
  56. package/src/ACarousel/ACarouselBtn/compositionAPI/ClassAPI.js +16 -16
  57. package/src/ACarousel/ACarouselBtn/compositionAPI/TextAPI.js +25 -25
  58. package/src/ACarousel/ACarouselControls/ACarouselControls.js +114 -114
  59. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/ACarouselControlsIndicator.js +146 -146
  60. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/ActiveAPI.js +33 -33
  61. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/AttributesAPI.js +40 -40
  62. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/EventsAPI.js +25 -25
  63. package/src/ACarousel/ACarouselControls/ACarouselControlsIndicator/compositionAPI/IconAPI.js +20 -20
  64. package/src/ACarousel/ACarouselControls/compositionAPI/AriaLabelAPI.js +20 -20
  65. package/src/ACarousel/ACarouselItem/ACarouselItem.js +83 -83
  66. package/src/ACarousel/ACarouselItem/compositionAPI/AttributesAPI.js +39 -39
  67. package/src/ACarousel/ACarouselItem/compositionAPI/IsActiveAPI.js +21 -21
  68. package/src/ACarousel/compositionAPI/ActiveAPI.js +111 -111
  69. package/src/ACarousel/compositionAPI/AriaLabelAPI.js +25 -25
  70. package/src/ACarousel/compositionAPI/ArrowsAPI.js +17 -17
  71. package/src/ACarousel/compositionAPI/ClassAPI.js +44 -44
  72. package/src/ACarousel/compositionAPI/DataAPI.js +41 -41
  73. package/src/ACarousel/compositionAPI/IndicatorsAPI.js +148 -148
  74. package/src/ACarousel/compositionAPI/TextsAPI.js +25 -25
  75. package/src/ACarousel/i18n/ACarouselI18n.js +19 -19
  76. package/src/ACarousel/i18n/ar.json +8 -8
  77. package/src/ACarousel/i18n/de.json +8 -8
  78. package/src/ACarousel/i18n/en.json +8 -8
  79. package/src/ACarousel/i18n/es.json +8 -8
  80. package/src/ACarousel/i18n/fr.json +8 -8
  81. package/src/ACarousel/i18n/hr.json +8 -8
  82. package/src/ACarousel/i18n/it.json +8 -8
  83. package/src/ACarousel/i18n/ru.json +8 -8
  84. package/src/ACollapse/ACollapse.js +103 -103
  85. package/src/ADropdown/ADropdown.js +544 -544
  86. package/src/ADropdown/ADropdownGroup.js +85 -85
  87. package/src/ADropdown/compositionAPI/ActionsAPI.js +147 -147
  88. package/src/ADropdown/compositionAPI/AttributesAPI.js +100 -100
  89. package/src/AElement/AElement.js +518 -518
  90. package/src/AElement/compositionAPI/AttributesAPI.js +51 -51
  91. package/src/AElement/compositionAPI/ClickAPI.js +30 -30
  92. package/src/AElement/compositionAPI/ComponentLocalAPI.js +23 -23
  93. package/src/AElement/compositionAPI/DisabledAPI.js +22 -22
  94. package/src/AElement/compositionAPI/HtmlTitleAPI.js +33 -33
  95. package/src/AElement/compositionAPI/KeydownAPI.js +35 -35
  96. package/src/AElement/compositionAPI/LoadingAPI.js +22 -22
  97. package/src/AElement/compositionAPI/RouterLinkAPI.js +20 -20
  98. package/src/AElement/compositionAPI/SwitchAPI.js +33 -33
  99. package/src/AElement/compositionAPI/TagAPI.js +34 -34
  100. package/src/AElement/compositionAPI/TextAPI.js +78 -78
  101. package/src/AElement/compositionAPI/TitleAPI.js +29 -29
  102. package/src/AFilters/AFilterCenter/AFilterCenter.js +154 -154
  103. package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +207 -207
  104. package/src/AFilters/AFilters/AFilters.js +282 -282
  105. package/src/AFilters/i18n/ar.json +30 -30
  106. package/src/AFilters/i18n/en.json +30 -30
  107. package/src/AFilters/i18n/es.json +30 -30
  108. package/src/AFilters/i18n/fr.json +30 -30
  109. package/src/AFilters/i18n/hr.json +30 -30
  110. package/src/AFilters/i18n/it.json +30 -30
  111. package/src/AFilters/i18n/ru.json +30 -30
  112. package/src/AGroupButtonDropdown/compositionAPI/ActionsAPI.js +143 -143
  113. package/src/ALink/ALink.js +253 -253
  114. package/src/AMenu/AMenu.js +578 -578
  115. package/src/AMenu/AMenuBreadcrumbs/compositionAPI/RenderTruncatedAPI.js +74 -74
  116. package/src/AMenu/AMenuButtonToggle/AMenuButtonToggle.js +94 -94
  117. package/src/AMenu/AMenuButtonToggle/compositionAPI/ToggleAPI.js +95 -95
  118. package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +250 -250
  119. package/src/AMenu/compositionAPI/BackdropAPI.js +42 -42
  120. package/src/AMenu/compositionAPI/KeydownAPI.js +197 -197
  121. package/src/AMenu/compositionAPI/LinkClickAPI.js +48 -48
  122. package/src/AMenu/compositionAPI/MenuAttributesAPI.js +51 -51
  123. package/src/AMenu/compositionAPI/PanelsAPI.js +78 -78
  124. package/src/AMenu/compositionAPI/ResizeAPI.js +74 -74
  125. package/src/AModal/AModal.js +530 -530
  126. package/src/AModalForm/AModalForm.js +383 -383
  127. package/src/AModalWizard/AModalWizard.js +563 -563
  128. package/src/ANotification/ANotification.js +60 -60
  129. package/src/APagination/APagination.js +111 -111
  130. package/src/APagination/APaginationCountPerPage/APaginationCountPerPage.js +209 -209
  131. package/src/APagination/APaginationCountPerPage/compositionAPI/MainAPI.js +40 -40
  132. package/src/APagination/APaginationCountPerPage/compositionAPI/TextsAPI.js +54 -54
  133. package/src/APagination/APaginationPages/APaginationPages.js +282 -282
  134. package/src/APagination/APaginationPages/compositionAPI/PaginationItemsAPI.js +102 -102
  135. package/src/APagination/APaginationPages/compositionAPI/TextsAPI.js +74 -74
  136. package/src/APagination/compositionAPI/ComponentsAPI.js +79 -79
  137. package/src/APagination/i18n/ar.json +12 -12
  138. package/src/APagination/i18n/es.json +12 -12
  139. package/src/APagination/i18n/fr.json +12 -12
  140. package/src/APagination/i18n/hr.json +12 -12
  141. package/src/APagination/i18n/it.json +12 -12
  142. package/src/APagination/i18n/ru.json +12 -12
  143. package/src/APopup/APopup.js +115 -115
  144. package/src/ATable/ATable.js +1163 -1163
  145. package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +241 -241
  146. package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +200 -200
  147. package/src/ATable/ATableSortingAdditional/compositionAPI/ModelAPI.js +152 -152
  148. package/src/ATable/ATableTd/ATableTd.js +145 -145
  149. package/src/ATable/ATableTdAction/ATableTdAction.js +223 -223
  150. package/src/ATable/ATableTopPanel/ATableTopPanel.js +433 -433
  151. package/src/ATable/compositionAPI/ColumnActionAPI.js +105 -105
  152. package/src/ATable/compositionAPI/ColumnStylesAPI.js +50 -50
  153. package/src/ATable/compositionAPI/ColumnsGroupedAPI.js +187 -187
  154. package/src/ATable/compositionAPI/PaginationModesAPI.js +44 -44
  155. package/src/ATable/compositionAPI/PreviewAPI.js +201 -201
  156. package/src/ATable/compositionAPI/PreviewRightResizeAPI.js +135 -135
  157. package/src/ATable/compositionAPI/ScrollControlAPI.js +249 -249
  158. package/src/ATable/compositionAPI/SortAPI.js +86 -86
  159. package/src/ATable/compositionAPI/WidthAPI.js +73 -73
  160. package/src/ATableForm/ATableForm.js +595 -595
  161. package/src/ATableForm/ATableFormCell/ATableFormCell.js +204 -204
  162. package/src/ATableForm/ATableFormCell/compositionAPI/DisabledAPI.js +23 -23
  163. package/src/ATableForm/ATableFormCell/compositionAPI/ReadonlyAPI.js +31 -31
  164. package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +282 -282
  165. package/src/ATableForm/ATableFormCellAction/compositionAPI/DeleteAPI.js +80 -80
  166. package/src/ATableForm/ATableFormCellAction/compositionAPI/DisabledAPI.js +60 -60
  167. package/src/ATableForm/ATableFormCellAction/compositionAPI/HiddenAPI.js +46 -46
  168. package/src/ATableForm/ATableFormCellAction/compositionAPI/IdsAPI.js +31 -31
  169. package/src/ATableForm/ATableFormCellAction/compositionAPI/StylesAPI.js +27 -27
  170. package/src/ATableForm/ATableFormCellAction/compositionAPI/TitleAPI.js +47 -47
  171. package/src/ATableForm/ATableFormCellDnd/compositionAPI/IdAPI.js +21 -21
  172. package/src/ATableForm/ATableFormCellList/ATableFormCellList.js +127 -127
  173. package/src/ATableForm/ATableFormCellList/compositionAPI/DataAPI.js +77 -77
  174. package/src/ATableForm/ATableFormRow/ATableFormRow.js +592 -592
  175. package/src/ATableForm/ATableFormRow/compositionAPI/ErrorsAPI.js +40 -40
  176. package/src/ATableForm/ATableFormRow/compositionAPI/FocusAPI.js +55 -55
  177. package/src/ATableForm/ATableFormRow/compositionAPI/IdAPI.js +19 -19
  178. package/src/ATableForm/__tests__/ATableForm.ListView.test.js +864 -864
  179. package/src/ATableForm/compositionAPI/ClassesAPI.js +23 -23
  180. package/src/ATableForm/compositionAPI/ColumnsGrowAPI.js +180 -180
  181. package/src/ATableForm/compositionAPI/DeleteAPI.js +9 -9
  182. package/src/ATableForm/compositionAPI/EditAPI.js +125 -125
  183. package/src/ATableForm/compositionAPI/RowsAPI.js +42 -42
  184. package/src/ATableForm/compositionAPI/StylesAPI.js +62 -62
  185. package/src/ATableForm/compositionAPI/WidthsAPI.js +20 -20
  186. package/src/ATableForm/i18n/ATableFormI18n.js +19 -19
  187. package/src/ATableForm/utils/getFormElement.js +32 -32
  188. package/src/ATabs/ATabsContent/ATabsContent.js +102 -102
  189. package/src/ATabs/ATabsTab/ATabsTab.js +185 -185
  190. package/src/ATooltip/ATooltip.js +221 -221
  191. package/src/ATranslation/compositionAPI/UtilsAPI.js +187 -187
  192. package/src/AVerticalScroll/compositionAPI/ScrollAPI.js +55 -55
  193. package/src/AWizard/AWizard.js +467 -467
  194. package/src/compositionAPI/AEventOutsideAPI.js +46 -46
  195. package/src/compositionAPI/AFiltersAPI.js +14 -0
  196. package/src/compositionAPI/AMobileAPI.js +32 -32
  197. package/src/compositionAPI/APageTabTitleAPI.js +84 -84
  198. package/src/compositionAPI/ARemPxAPI.js +47 -47
  199. package/src/compositionAPI/FocusByDestroyAPI.js +67 -67
  200. package/src/const/AKeys.js +9 -9
  201. package/src/directives/AOnHooks.js +0 -0
  202. package/src/filters/__tests__/filterValueByCondition.test.js +94 -0
  203. package/src/filters/filterValueByCondition.js +87 -0
  204. package/src/i18n/allLanguages.js +377 -377
  205. package/src/i18n/ar.json +4 -4
  206. package/src/i18n/de.json +4 -4
  207. package/src/i18n/en.json +4 -4
  208. package/src/i18n/es.json +4 -4
  209. package/src/i18n/fr.json +4 -4
  210. package/src/i18n/hr.json +4 -4
  211. package/src/i18n/it.json +4 -4
  212. package/src/i18n/ru.json +4 -4
  213. package/src/index.js +403 -402
  214. package/src/plugins/AAlertPlugin.js +53 -53
  215. package/src/plugins/ACarouselPlugin.js +34 -34
  216. package/src/plugins/ADatepickerPlugin.js +57 -57
  217. package/src/plugins/AFiltersPlugin.js +102 -102
  218. package/src/plugins/AInputCurrencyPlugin.js +31 -31
  219. package/src/plugins/AMobilePlugin.js +32 -32
  220. package/src/plugins/ARemPxPlugin.js +37 -37
  221. package/src/plugins/ASelectPlugin.js +51 -51
  222. package/src/plugins/ASelectStylesPlugin.js +2376 -2376
  223. package/src/temp/px_to_rem_mapping_1_to_800.md +802 -802
  224. package/src/ui/ACheckbox/ACheckbox.js +929 -929
  225. package/src/ui/ACheckbox/ACheckboxItem/ACheckboxItem.js +0 -0
  226. package/src/ui/ACheckboxRadioGroups/ACheckboxRadioGroups.js +0 -0
  227. package/src/ui/ADatepicker/ADatepicker.js +807 -807
  228. package/src/ui/ADatepicker/ADatepickerCalendarPanel/ADatepickerCalendarPanel.js +796 -796
  229. package/src/ui/ADatepicker/ADatepickerCalendarPanel/compositionAPI/CalendarAPI.js +51 -51
  230. package/src/ui/ADatepicker/compositionAPI/LanguagesAPI.js +92 -92
  231. package/src/ui/ADatepicker/compositionAPI/PlaceholderAPI.js +55 -55
  232. package/src/ui/ADatepicker/i18n/ADatepickerI18n.js +19 -19
  233. package/src/ui/ADatepicker/i18n/ar.json +47 -47
  234. package/src/ui/ADatepicker/i18n/de.json +48 -48
  235. package/src/ui/ADatepicker/i18n/en.json +48 -48
  236. package/src/ui/ADatepicker/i18n/es.json +47 -47
  237. package/src/ui/ADatepicker/i18n/fr.json +47 -47
  238. package/src/ui/ADatepicker/i18n/hr.json +47 -47
  239. package/src/ui/ADatepicker/i18n/it.json +47 -47
  240. package/src/ui/ADatepicker/i18n/ru.json +48 -48
  241. package/src/ui/ADatepicker/panel/APanelDate/APanelDate.js +196 -196
  242. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/DatesAPI.js +66 -66
  243. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusAPI.js +96 -96
  244. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/FocusActiveAPI.js +27 -27
  245. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/SelectAPI.js +21 -21
  246. package/src/ui/ADatepicker/panel/APanelDate/compositionAPI/TableAPI.js +128 -128
  247. package/src/ui/ADatepicker/panel/APanelMonth/APanelMonth.js +129 -129
  248. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusAPI.js +94 -94
  249. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/FocusActiveAPI.js +21 -21
  250. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/MonthsAPI.js +51 -51
  251. package/src/ui/ADatepicker/panel/APanelMonth/compositionAPI/SelectAPI.js +29 -29
  252. package/src/ui/ADatepicker/panel/APanelYearItem/APanelYearItem.js +75 -75
  253. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/AttributesAPI.js +35 -35
  254. package/src/ui/ADatepicker/panel/APanelYearItem/compositionAPI/SelectAPI.js +35 -35
  255. package/src/ui/ADatepickerRange/ADatepickerRange.js +537 -537
  256. package/src/ui/AErrors/AErrors.js +149 -149
  257. package/src/ui/AErrors/AErrorsElement/AErrorsElement.js +0 -0
  258. package/src/ui/AErrors/i18n/AErrorsI18n.js +19 -19
  259. package/src/ui/AErrors/i18n/ar.json +3 -3
  260. package/src/ui/AErrors/i18n/de.json +2 -2
  261. package/src/ui/AErrors/i18n/en.json +3 -3
  262. package/src/ui/AErrors/i18n/es.json +3 -3
  263. package/src/ui/AErrors/i18n/fr.json +3 -3
  264. package/src/ui/AErrors/i18n/hr.json +3 -3
  265. package/src/ui/AErrors/i18n/it.json +3 -3
  266. package/src/ui/AErrors/i18n/ru.json +3 -3
  267. package/src/ui/AErrorsText/AErrorsText.js +62 -62
  268. package/src/ui/AFieldset/AFieldset.js +535 -535
  269. package/src/ui/AFieldset/compositionAPI/ModelAPI.js +54 -54
  270. package/src/ui/AForm/AForm.js +252 -252
  271. package/src/ui/AFormElement/AFormElement.js +160 -160
  272. package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +86 -86
  273. package/src/ui/AFormElementBtnClear/i18n/AFormElementBtnClearI18n.js +19 -19
  274. package/src/ui/AFormElementBtnClear/i18n/ar.json +2 -2
  275. package/src/ui/AFormElementBtnClear/i18n/de.json +2 -2
  276. package/src/ui/AFormElementBtnClear/i18n/en.json +2 -2
  277. package/src/ui/AFormElementBtnClear/i18n/es.json +2 -2
  278. package/src/ui/AFormElementBtnClear/i18n/fr.json +2 -2
  279. package/src/ui/AFormElementBtnClear/i18n/hr.json +2 -2
  280. package/src/ui/AFormElementBtnClear/i18n/it.json +2 -2
  281. package/src/ui/AFormElementBtnClear/i18n/ru.json +2 -2
  282. package/src/ui/AFormHelpText/AFormHelpText.js +37 -37
  283. package/src/ui/AFormLabelDescription/AFormLabelDescription.js +43 -43
  284. package/src/ui/AFormReadonly/AFormReadonly.js +193 -193
  285. package/src/ui/AGroup/AGroup.js +427 -427
  286. package/src/ui/AInput/AInput.js +516 -516
  287. package/src/ui/AInput/compositionAPI/ClassAPI.js +43 -43
  288. package/src/ui/AInputCurrency/AInputCurrency.js +622 -622
  289. package/src/ui/AInputCurrency/compositionAPI/IncreaseDecreaseAPI.js +76 -76
  290. package/src/ui/AInputCurrency/compositionAPI/InputEventsAPI.js +752 -752
  291. package/src/ui/AInputCurrency/compositionAPI/ModelAPI.js +88 -88
  292. package/src/ui/AInputCurrency/compositionAPI/UtilsAPI.js +67 -67
  293. package/src/ui/AInputFile/AInputFile.js +247 -247
  294. package/src/ui/AInputNumber/AInputNumber.js +497 -497
  295. package/src/ui/AInputNumber/compositionAPI/InputEventsAPI.js +196 -196
  296. package/src/ui/AInputNumber/compositionAPI/ModelAPI.js +72 -72
  297. package/src/ui/AInputNumberRange/AInputNumberRange.js +517 -517
  298. package/src/ui/AJson/AJson.js +434 -434
  299. package/src/ui/ALabel/ALabel.js +0 -0
  300. package/src/ui/AMultiselectOrdered/AMultiselectOrdered.js +935 -935
  301. package/src/ui/AOneCheckbox/AOneCheckbox.js +366 -366
  302. package/src/ui/ARadio/ARadio.js +924 -924
  303. package/src/ui/ARadio/ARadioItem/ARadioItem.js +0 -0
  304. package/src/ui/ARequired/ARequired.js +0 -0
  305. package/src/ui/ARouterLinkConfig/ARouterLinkConfig.js +391 -391
  306. package/src/ui/ARouterLinkConfig/compositionAPI/DataFormAPI.js +102 -102
  307. package/src/ui/ARouterLinkConfig/compositionAPI/ModelLocalAPI.js +96 -96
  308. package/src/ui/ARouterLinkConfig/compositionAPI/RouteAPI.js +51 -51
  309. package/src/ui/ASelect/ASelect.js +1214 -1214
  310. package/src/ui/ASelect/ASelectElement/ASelectElement.js +0 -0
  311. package/src/ui/ASelect/ASelectValueCloseable/compositionAPI/CloseAPI.js +28 -28
  312. package/src/ui/ASelect/compositionAPI/ToggleAPI.js +255 -255
  313. package/src/ui/ASelect/i18n/ar.json +6 -6
  314. package/src/ui/ASelect/i18n/de.json +7 -7
  315. package/src/ui/ASelect/i18n/en.json +6 -6
  316. package/src/ui/ASelect/i18n/es.json +6 -6
  317. package/src/ui/ASelect/i18n/fr.json +6 -6
  318. package/src/ui/ASelect/i18n/hr.json +6 -6
  319. package/src/ui/ASelect/i18n/it.json +6 -6
  320. package/src/ui/ASelect/i18n/ru.json +6 -6
  321. package/src/ui/ASelectIcon/ASelectIcon.js +386 -386
  322. package/src/ui/ASelectStyle/ASelectStyle.js +391 -391
  323. package/src/ui/ASelectStyle/compositionAPI/DataAPI.js +68 -68
  324. package/src/ui/ASelectStyle/compositionAPI/EventsAPI.js +24 -24
  325. package/src/ui/ASelectStyle/compositionAPI/KeyLabelCallbackAPI.js +15 -15
  326. package/src/ui/ASelectStyle/compositionAPI/TypeAPI.js +24 -24
  327. package/src/ui/ASelectStyle/i18n/ASelectStyleI18n.js +19 -19
  328. package/src/ui/ASelectStyle/i18n/ar.json +277 -277
  329. package/src/ui/ASelectStyle/i18n/de.json +277 -277
  330. package/src/ui/ASelectStyle/i18n/en.json +277 -277
  331. package/src/ui/ASelectStyle/i18n/es.json +277 -277
  332. package/src/ui/ASelectStyle/i18n/fr.json +277 -277
  333. package/src/ui/ASelectStyle/i18n/hr.json +277 -277
  334. package/src/ui/ASelectStyle/i18n/it.json +277 -277
  335. package/src/ui/ASelectStyle/i18n/ru.json +277 -277
  336. package/src/ui/ASlider/ASlider.js +672 -672
  337. package/src/ui/ASlider/compositionAPI/AriaAttributesAPI.js +121 -121
  338. package/src/ui/ASlider/compositionAPI/AttributesAPI.js +15 -15
  339. package/src/ui/ASlider/compositionAPI/DataAPI.js +115 -115
  340. package/src/ui/ASlider/compositionAPI/DragAndDropAPI.js +198 -198
  341. package/src/ui/ASlider/compositionAPI/LabelAPI.js +13 -13
  342. package/src/ui/ASlider/compositionAPI/MarksAPI.js +32 -32
  343. package/src/ui/ASlider/compositionAPI/SliderAPI.js +289 -289
  344. package/src/ui/ASlider/compositionAPI/StopsAPI.js +47 -47
  345. package/src/ui/ASlider/compositionAPI/StylesAPI.js +79 -79
  346. package/src/ui/ASlider/compositionAPI/TitleAPI.js +42 -42
  347. package/src/ui/ASlider/i18n/ASliderI18n.js +19 -19
  348. package/src/ui/ASlider/i18n/en.json +4 -4
  349. package/src/ui/ASwitch/ASwitch.js +442 -442
  350. package/src/ui/ATemplate/ATemplate.js +0 -0
  351. package/src/ui/ATextarea/ATextarea.js +437 -437
  352. package/src/ui/AUiComponents.js +59 -59
  353. package/src/ui/AUiContainerComponents.js +12 -12
  354. package/src/ui/AValidatedJson/AValidatedJson.js +594 -594
  355. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DeleteAPI.js +63 -63
  356. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/DetailsAPI.js +59 -59
  357. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/MoveAPI.js +50 -50
  358. package/src/ui/AValidatedJson/AValidatedJsonItem/compositionAPI/UpdateAPI.js +48 -48
  359. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DataFormAPI.js +69 -69
  360. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/DisabledAPI.js +35 -35
  361. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/ModelAPI.js +31 -31
  362. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/SaveAPI.js +115 -115
  363. package/src/ui/AValidatedJson/AValidatedJsonModalCreateOrUpdate/composiitionAPI/TextAPI.js +25 -25
  364. package/src/ui/AValidatedJson/compositionAPI/AValidatedJsonErrorLabelsAPI.js +18 -18
  365. package/src/ui/AValidatedJson/compositionAPI/AttributesAPI.js +15 -15
  366. package/src/ui/AValidatedJson/compositionAPI/ChildrenAPI.js +70 -70
  367. package/src/ui/AValidatedJson/compositionAPI/EventsAPI.js +19 -19
  368. package/src/ui/AValidatedJson/compositionAPI/JsonModeAPI.js +119 -119
  369. package/src/ui/AValidatedJson/compositionAPI/ListModeAPI.js +144 -144
  370. package/src/ui/AValidatedJson/compositionAPI/ModelAPI.js +38 -38
  371. package/src/ui/AValidatedJson/compositionAPI/SingleModeAPI.js +112 -112
  372. package/src/ui/AValidatedJson/compositionAPI/TranslateAPI.js +22 -22
  373. package/src/ui/AValidatedJson/i18n/AValidatedJsonI18n.js +19 -19
  374. package/src/ui/AValidatedJson/i18n/ar.json +3 -3
  375. package/src/ui/AValidatedJson/i18n/de.json +22 -22
  376. package/src/ui/AValidatedJson/i18n/en.json +3 -3
  377. package/src/ui/AValidatedJson/i18n/es.json +3 -3
  378. package/src/ui/AValidatedJson/i18n/fr.json +3 -3
  379. package/src/ui/AValidatedJson/i18n/hr.json +3 -3
  380. package/src/ui/AValidatedJson/i18n/it.json +3 -3
  381. package/src/ui/AValidatedJson/i18n/ru.json +6 -6
  382. package/src/ui/compositionApi/UIDataGroupAPI.js +94 -94
  383. package/src/ui/compositionApi/UiAPI.js +185 -185
  384. package/src/ui/compositionApi/UiClearButtonAPI.js +19 -19
  385. package/src/ui/compositionApi/UiDataSortAPI.js +29 -29
  386. package/src/ui/compositionApi/UiDataWithKeyIdAndLabelAPI.js +155 -155
  387. package/src/ui/const/AUiTypes.js +69 -69
  388. package/src/ui/mixins/UiMixinProps.js +129 -129
  389. package/src/ui/utils/utils.js +79 -79
  390. package/src/utils/__tests__/utils.aOrderBy.test.js +237 -237
  391. package/src/utils/__tests__/utils.aSortBy.test.js +331 -331
  392. package/src/utils/__tests__/utilsArray.aFirst.test.js +54 -54
  393. package/src/utils/__tests__/utilsArray.aLast.test.js +54 -54
  394. package/src/utils/__tests__/utilsLang.isArguments.test.js +52 -52
  395. package/src/utils/__tests__/utilsLang.isArray.test.js +50 -50
  396. package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +48 -48
  397. package/src/utils/__tests__/utilsLang.isBoolean.test.js +56 -56
  398. package/src/utils/__tests__/utilsLang.isBuffer.test.js +47 -47
  399. package/src/utils/__tests__/utilsLang.isDate.test.js +54 -54
  400. package/src/utils/__tests__/utilsLang.isElement.test.js +53 -53
  401. package/src/utils/__tests__/utilsLang.isError.test.js +52 -52
  402. package/src/utils/__tests__/utilsLang.isFinite.test.js +57 -57
  403. package/src/utils/__tests__/utilsLang.isFunction.test.js +46 -46
  404. package/src/utils/__tests__/utilsLang.isInteger.test.js +58 -58
  405. package/src/utils/__tests__/utilsLang.isMap.test.js +50 -50
  406. package/src/utils/__tests__/utilsLang.isNaN.test.js +55 -55
  407. package/src/utils/__tests__/utilsLang.isNil.test.js +57 -57
  408. package/src/utils/__tests__/utilsLang.isNull.test.js +53 -53
  409. package/src/utils/__tests__/utilsLang.isNumber.test.js +54 -54
  410. package/src/utils/__tests__/utilsLang.isObject.test.js +49 -49
  411. package/src/utils/__tests__/utilsLang.isObjectLike.test.js +45 -45
  412. package/src/utils/__tests__/utilsLang.isPlainObject.test.js +60 -60
  413. package/src/utils/__tests__/utilsLang.isPromise.test.js +93 -93
  414. package/src/utils/__tests__/utilsLang.isRegExp.test.js +46 -46
  415. package/src/utils/__tests__/utilsLang.isSet.test.js +50 -50
  416. package/src/utils/__tests__/utilsLang.isString.test.js +50 -50
  417. package/src/utils/__tests__/utilsLang.isSymbol.test.js +45 -45
  418. package/src/utils/__tests__/utilsLang.isUndefined.test.js +57 -57
  419. package/src/utils/__tests__/utilsLang.isWeakMap.test.js +49 -49
  420. package/src/utils/__tests__/utilsLang.isWeakSet.test.js +49 -49
  421. package/src/utils/actions.js +67 -67
  422. package/src/utils/autosize.js +277 -277
  423. package/src/utils/isBrowser.js +12 -12
  424. package/src/utils/utils.js +253 -253
  425. package/src/utils/utilsArray.js +29 -29
  426. package/src/utils/utilsDOM.js +188 -188
  427. package/src/utils/utilsLang.js +346 -346
@@ -1,249 +1,249 @@
1
- import {
2
- computed,
3
- onBeforeUnmount,
4
- onMounted,
5
- ref,
6
- toRef,
7
- watch,
8
- } from "vue";
9
-
10
- import ARemPxAPI from "../../compositionAPI/ARemPxAPI";
11
-
12
- import {
13
- isColumnVisibleFromModel,
14
- } from "../utils/utils.js";
15
- import {
16
- cloneDeep,
17
- debounce,
18
- forEach,
19
- isNil,
20
- isUndefined,
21
- } from "lodash-es";
22
-
23
- export default function ScrollControlAPI(props, { emit }, {
24
- columnActionsWidthLocal = computed(() => 0),
25
- columnActionsWidthMinLocal = computed(() => 0),
26
- columnsOrdered = computed(() => []),
27
- columnsScrollInvisible = ref([]),
28
- columnWidthDefaultRemLocal = computed(() => 0),
29
- indexFirstScrollInvisibleColumn = ref(undefined),
30
- isMobile = ref(false),
31
- isMultipleActionsActive = ref(undefined),
32
- modelColumnsVisibleLocal = ref({}),
33
- modelIsTableWithoutScroll = ref(false),
34
- modelIsTableWithoutScrollComputed = computed(() => false),
35
- }) {
36
- const isActionColumnVisible = toRef(props, "isActionColumnVisible");
37
- const isSimpleTable = toRef(props, "isSimpleTable");
38
- const useRem = toRef(props, "useRem");
39
-
40
- const {
41
- scalePxWithRem,
42
- } = ARemPxAPI();
43
-
44
- const aTableRef = ref(undefined);
45
- const columnsVisibleAdditionalSpaceForOneGrow = ref(0);
46
- const tableWidth = ref(undefined);
47
- let changingTableWidth = false;
48
- const delta = 20; // approx scrollbar width + 2px for <tr> border
49
-
50
- const scaleWidthPxWithRemLocal = width => {
51
- if (useRem.value) {
52
- return scalePxWithRem(width);
53
- }
54
-
55
- return width;
56
- };
57
-
58
- const _columnActionsWidthMinLocal = computed(() => {
59
- if (isActionColumnVisible.value) {
60
- return columnActionsWidthMinLocal.value;
61
- }
62
-
63
- return 0;
64
- });
65
-
66
- const columnsSpecialWidth = computed(() => {
67
- const columnMultipleActionsWidth = isMultipleActionsActive.value ? columnActionsWidthMinLocal.value : 0;
68
- const scrollBarWidth = isSimpleTable.value ? 0 : delta; // delta for table resize when scrollbar appears
69
-
70
- return columnMultipleActionsWidth + scrollBarWidth;
71
- });
72
-
73
-
74
- const setAdditionalSpaceColumnsForOneGrow = ({
75
- sumGrows = 0,
76
- freeSpaceWidth = 0,
77
- }) => {
78
- if (sumGrows > 0) {
79
- columnsVisibleAdditionalSpaceForOneGrow.value = freeSpaceWidth / sumGrows;
80
- } else {
81
- columnsVisibleAdditionalSpaceForOneGrow.value = 0;
82
- }
83
- };
84
-
85
- const setColumnsScrollInvisible = () => {
86
- if (isNil(indexFirstScrollInvisibleColumn.value) ||
87
- columnsOrdered.value.length < indexFirstScrollInvisibleColumn.value) {
88
- columnsScrollInvisible.value = [];
89
- } else {
90
- const COLUMNS_SCROLL_VISIBLE = [];
91
- for (let i = indexFirstScrollInvisibleColumn.value; i < columnsOrdered.value.length; i++) {
92
- const COLUMN = columnsOrdered.value[i];
93
- if (isColumnVisibleFromModel({
94
- column: COLUMN,
95
- modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
96
- })) {
97
- COLUMNS_SCROLL_VISIBLE.push(cloneDeep(COLUMN));
98
- }
99
- }
100
- columnsScrollInvisible.value = COLUMNS_SCROLL_VISIBLE;
101
- }
102
- };
103
-
104
- const setAllDefaultForMobile = () => {
105
- columnsScrollInvisible.value = [];
106
- columnsVisibleAdditionalSpaceForOneGrow.value = 0;
107
- indexFirstScrollInvisibleColumn.value = 1000;
108
- tableWidth.value = 0;
109
- };
110
-
111
- const checkVisibleColumns = () => {
112
- if (isMobile.value ||
113
- tableWidth.value === 0) {
114
- setAllDefaultForMobile();
115
- return;
116
- }
117
-
118
- if (isUndefined(tableWidth.value)) {
119
- return;
120
- }
121
- const TABLE_WIDTH_WITHOUT_ACTIONS_MIN = tableWidth.value - columnsSpecialWidth.value - _columnActionsWidthMinLocal.value;
122
- const TABLE_WIDTH_WITHOUT_ACTIONS_MAX = tableWidth.value - columnsSpecialWidth.value - columnActionsWidthLocal.value;
123
-
124
- let columnsWidthInOrder = 0;
125
- let indexFirstScrollInvisibleColumnLocal = 0;
126
- let sumGrows = 0;
127
- let isMinOneColumnHide = false;
128
- forEach(columnsOrdered.value, column => {
129
- if (!isColumnVisibleFromModel({
130
- column,
131
- modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
132
- })) {
133
- indexFirstScrollInvisibleColumnLocal++;
134
- return;
135
- }
136
- const COLUMN_WIDTH = +scaleWidthPxWithRemLocal(column.width) || columnWidthDefaultRemLocal.value;
137
- if (columnsWidthInOrder + COLUMN_WIDTH > TABLE_WIDTH_WITHOUT_ACTIONS_MIN) {
138
- isMinOneColumnHide = true;
139
- return false;
140
- }
141
- columnsWidthInOrder += COLUMN_WIDTH;
142
- indexFirstScrollInvisibleColumnLocal++;
143
- sumGrows += isNil(column.grow) ? 1 : column.grow;
144
- });
145
- if (isMinOneColumnHide && columnsWidthInOrder > TABLE_WIDTH_WITHOUT_ACTIONS_MAX) {
146
- for (let i = indexFirstScrollInvisibleColumnLocal - 1; i >= 0; i--) {
147
- indexFirstScrollInvisibleColumnLocal--;
148
- const COLUMN = columnsOrdered.value[indexFirstScrollInvisibleColumnLocal];
149
- if (!isColumnVisibleFromModel({
150
- column: COLUMN,
151
- modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
152
- })) {
153
- continue;
154
- }
155
- const COLUMN_WIDTH = +scaleWidthPxWithRemLocal(COLUMN.width) || columnWidthDefaultRemLocal.value;
156
-
157
- columnsWidthInOrder -= COLUMN_WIDTH;
158
- sumGrows -= isNil(COLUMN.grow) ? 1 : COLUMN.grow;
159
-
160
- if (columnsWidthInOrder <= TABLE_WIDTH_WITHOUT_ACTIONS_MAX) {
161
- break;
162
- }
163
- }
164
- }
165
-
166
- let freeSpaceWidth = 0;
167
- const TABLE_WIDTH = isMinOneColumnHide ? TABLE_WIDTH_WITHOUT_ACTIONS_MAX : TABLE_WIDTH_WITHOUT_ACTIONS_MIN;
168
- if (modelIsTableWithoutScrollComputed.value) {
169
- freeSpaceWidth = TABLE_WIDTH - columnsWidthInOrder;
170
- } else if (indexFirstScrollInvisibleColumnLocal === columnsOrdered.value.length) {
171
- freeSpaceWidth = TABLE_WIDTH - columnsWidthInOrder;
172
- }
173
- indexFirstScrollInvisibleColumn.value = indexFirstScrollInvisibleColumnLocal;
174
-
175
- setAdditionalSpaceColumnsForOneGrow({
176
- sumGrows,
177
- freeSpaceWidth,
178
- });
179
- setColumnsScrollInvisible();
180
- };
181
-
182
- const adjustTableWidth = ({ entries, forceAdjust }) => {
183
- const RECT = entries[0].contentRect;
184
- const tableWidthMissingOrExceededDelta = forceAdjust ||
185
- tableWidth.value > RECT.width + delta ||
186
- tableWidth.value < RECT.width - delta;
187
- if (tableWidthMissingOrExceededDelta) {
188
- if (!changingTableWidth) {
189
- changingTableWidth = true;
190
- tableWidth.value = RECT.width;
191
- checkVisibleColumns();
192
- changingTableWidth = false;
193
- }
194
- }
195
- };
196
-
197
- const resizeOb = new ResizeObserver(
198
- debounce(entries => {
199
- // since we are observing only a single element, so we access the first element in entries array
200
- if (isUndefined(tableWidth.value)) {
201
- adjustTableWidth({ entries, forceAdjust: true });
202
- } else {
203
- adjustTableWidth({ entries });
204
- }
205
- }, 300),
206
- );
207
-
208
- const onWatchMobileScrollControl = newValue => {
209
- if (newValue) {
210
- resizeOb.unobserve(aTableRef.value);
211
- setAllDefaultForMobile();
212
- } else {
213
- resizeOb.observe(aTableRef.value);
214
- if (modelIsTableWithoutScroll.value) {
215
- checkVisibleColumns();
216
- }
217
- }
218
- };
219
-
220
- const changeModelIsTableWithoutScroll = model => {
221
- modelIsTableWithoutScroll.value = model;
222
- emit("updateModelIsTableWithoutScroll", model);
223
- if (modelIsTableWithoutScroll.value) {
224
- checkVisibleColumns();
225
- }
226
- };
227
-
228
- onMounted(() => {
229
- if (!isMobile.value) {
230
- resizeOb.observe(aTableRef.value);
231
- }
232
- });
233
- onBeforeUnmount(() => {
234
- resizeOb.unobserve(aTableRef.value);
235
- });
236
-
237
- watch(columnsOrdered, () => {
238
- checkVisibleColumns();
239
- });
240
-
241
-
242
- return {
243
- aTableRef,
244
- changeModelIsTableWithoutScroll,
245
- checkVisibleColumns,
246
- columnsVisibleAdditionalSpaceForOneGrow,
247
- onWatchMobileScrollControl,
248
- };
249
- }
1
+ import {
2
+ computed,
3
+ onBeforeUnmount,
4
+ onMounted,
5
+ ref,
6
+ toRef,
7
+ watch,
8
+ } from "vue";
9
+
10
+ import ARemPxAPI from "../../compositionAPI/ARemPxAPI";
11
+
12
+ import {
13
+ isColumnVisibleFromModel,
14
+ } from "../utils/utils.js";
15
+ import {
16
+ cloneDeep,
17
+ debounce,
18
+ forEach,
19
+ isNil,
20
+ isUndefined,
21
+ } from "lodash-es";
22
+
23
+ export default function ScrollControlAPI(props, { emit }, {
24
+ columnActionsWidthLocal = computed(() => 0),
25
+ columnActionsWidthMinLocal = computed(() => 0),
26
+ columnsOrdered = computed(() => []),
27
+ columnsScrollInvisible = ref([]),
28
+ columnWidthDefaultRemLocal = computed(() => 0),
29
+ indexFirstScrollInvisibleColumn = ref(undefined),
30
+ isMobile = ref(false),
31
+ isMultipleActionsActive = ref(undefined),
32
+ modelColumnsVisibleLocal = ref({}),
33
+ modelIsTableWithoutScroll = ref(false),
34
+ modelIsTableWithoutScrollComputed = computed(() => false),
35
+ }) {
36
+ const isActionColumnVisible = toRef(props, "isActionColumnVisible");
37
+ const isSimpleTable = toRef(props, "isSimpleTable");
38
+ const useRem = toRef(props, "useRem");
39
+
40
+ const {
41
+ scalePxWithRem,
42
+ } = ARemPxAPI();
43
+
44
+ const aTableRef = ref(undefined);
45
+ const columnsVisibleAdditionalSpaceForOneGrow = ref(0);
46
+ const tableWidth = ref(undefined);
47
+ let changingTableWidth = false;
48
+ const delta = 20; // approx scrollbar width + 2px for <tr> border
49
+
50
+ const scaleWidthPxWithRemLocal = width => {
51
+ if (useRem.value) {
52
+ return scalePxWithRem(width);
53
+ }
54
+
55
+ return width;
56
+ };
57
+
58
+ const _columnActionsWidthMinLocal = computed(() => {
59
+ if (isActionColumnVisible.value) {
60
+ return columnActionsWidthMinLocal.value;
61
+ }
62
+
63
+ return 0;
64
+ });
65
+
66
+ const columnsSpecialWidth = computed(() => {
67
+ const columnMultipleActionsWidth = isMultipleActionsActive.value ? columnActionsWidthMinLocal.value : 0;
68
+ const scrollBarWidth = isSimpleTable.value ? 0 : delta; // delta for table resize when scrollbar appears
69
+
70
+ return columnMultipleActionsWidth + scrollBarWidth;
71
+ });
72
+
73
+
74
+ const setAdditionalSpaceColumnsForOneGrow = ({
75
+ sumGrows = 0,
76
+ freeSpaceWidth = 0,
77
+ }) => {
78
+ if (sumGrows > 0) {
79
+ columnsVisibleAdditionalSpaceForOneGrow.value = freeSpaceWidth / sumGrows;
80
+ } else {
81
+ columnsVisibleAdditionalSpaceForOneGrow.value = 0;
82
+ }
83
+ };
84
+
85
+ const setColumnsScrollInvisible = () => {
86
+ if (isNil(indexFirstScrollInvisibleColumn.value) ||
87
+ columnsOrdered.value.length < indexFirstScrollInvisibleColumn.value) {
88
+ columnsScrollInvisible.value = [];
89
+ } else {
90
+ const COLUMNS_SCROLL_VISIBLE = [];
91
+ for (let i = indexFirstScrollInvisibleColumn.value; i < columnsOrdered.value.length; i++) {
92
+ const COLUMN = columnsOrdered.value[i];
93
+ if (isColumnVisibleFromModel({
94
+ column: COLUMN,
95
+ modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
96
+ })) {
97
+ COLUMNS_SCROLL_VISIBLE.push(cloneDeep(COLUMN));
98
+ }
99
+ }
100
+ columnsScrollInvisible.value = COLUMNS_SCROLL_VISIBLE;
101
+ }
102
+ };
103
+
104
+ const setAllDefaultForMobile = () => {
105
+ columnsScrollInvisible.value = [];
106
+ columnsVisibleAdditionalSpaceForOneGrow.value = 0;
107
+ indexFirstScrollInvisibleColumn.value = 1000;
108
+ tableWidth.value = 0;
109
+ };
110
+
111
+ const checkVisibleColumns = () => {
112
+ if (isMobile.value ||
113
+ tableWidth.value === 0) {
114
+ setAllDefaultForMobile();
115
+ return;
116
+ }
117
+
118
+ if (isUndefined(tableWidth.value)) {
119
+ return;
120
+ }
121
+ const TABLE_WIDTH_WITHOUT_ACTIONS_MIN = tableWidth.value - columnsSpecialWidth.value - _columnActionsWidthMinLocal.value;
122
+ const TABLE_WIDTH_WITHOUT_ACTIONS_MAX = tableWidth.value - columnsSpecialWidth.value - columnActionsWidthLocal.value;
123
+
124
+ let columnsWidthInOrder = 0;
125
+ let indexFirstScrollInvisibleColumnLocal = 0;
126
+ let sumGrows = 0;
127
+ let isMinOneColumnHide = false;
128
+ forEach(columnsOrdered.value, column => {
129
+ if (!isColumnVisibleFromModel({
130
+ column,
131
+ modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
132
+ })) {
133
+ indexFirstScrollInvisibleColumnLocal++;
134
+ return;
135
+ }
136
+ const COLUMN_WIDTH = +scaleWidthPxWithRemLocal(column.width) || columnWidthDefaultRemLocal.value;
137
+ if (columnsWidthInOrder + COLUMN_WIDTH > TABLE_WIDTH_WITHOUT_ACTIONS_MIN) {
138
+ isMinOneColumnHide = true;
139
+ return false;
140
+ }
141
+ columnsWidthInOrder += COLUMN_WIDTH;
142
+ indexFirstScrollInvisibleColumnLocal++;
143
+ sumGrows += isNil(column.grow) ? 1 : column.grow;
144
+ });
145
+ if (isMinOneColumnHide && columnsWidthInOrder > TABLE_WIDTH_WITHOUT_ACTIONS_MAX) {
146
+ for (let i = indexFirstScrollInvisibleColumnLocal - 1; i >= 0; i--) {
147
+ indexFirstScrollInvisibleColumnLocal--;
148
+ const COLUMN = columnsOrdered.value[indexFirstScrollInvisibleColumnLocal];
149
+ if (!isColumnVisibleFromModel({
150
+ column: COLUMN,
151
+ modelColumnsVisibleLocal: modelColumnsVisibleLocal.value,
152
+ })) {
153
+ continue;
154
+ }
155
+ const COLUMN_WIDTH = +scaleWidthPxWithRemLocal(COLUMN.width) || columnWidthDefaultRemLocal.value;
156
+
157
+ columnsWidthInOrder -= COLUMN_WIDTH;
158
+ sumGrows -= isNil(COLUMN.grow) ? 1 : COLUMN.grow;
159
+
160
+ if (columnsWidthInOrder <= TABLE_WIDTH_WITHOUT_ACTIONS_MAX) {
161
+ break;
162
+ }
163
+ }
164
+ }
165
+
166
+ let freeSpaceWidth = 0;
167
+ const TABLE_WIDTH = isMinOneColumnHide ? TABLE_WIDTH_WITHOUT_ACTIONS_MAX : TABLE_WIDTH_WITHOUT_ACTIONS_MIN;
168
+ if (modelIsTableWithoutScrollComputed.value) {
169
+ freeSpaceWidth = TABLE_WIDTH - columnsWidthInOrder;
170
+ } else if (indexFirstScrollInvisibleColumnLocal === columnsOrdered.value.length) {
171
+ freeSpaceWidth = TABLE_WIDTH - columnsWidthInOrder;
172
+ }
173
+ indexFirstScrollInvisibleColumn.value = indexFirstScrollInvisibleColumnLocal;
174
+
175
+ setAdditionalSpaceColumnsForOneGrow({
176
+ sumGrows,
177
+ freeSpaceWidth,
178
+ });
179
+ setColumnsScrollInvisible();
180
+ };
181
+
182
+ const adjustTableWidth = ({ entries, forceAdjust }) => {
183
+ const RECT = entries[0].contentRect;
184
+ const tableWidthMissingOrExceededDelta = forceAdjust ||
185
+ tableWidth.value > RECT.width + delta ||
186
+ tableWidth.value < RECT.width - delta;
187
+ if (tableWidthMissingOrExceededDelta) {
188
+ if (!changingTableWidth) {
189
+ changingTableWidth = true;
190
+ tableWidth.value = RECT.width;
191
+ checkVisibleColumns();
192
+ changingTableWidth = false;
193
+ }
194
+ }
195
+ };
196
+
197
+ const resizeOb = new ResizeObserver(
198
+ debounce(entries => {
199
+ // since we are observing only a single element, so we access the first element in entries array
200
+ if (isUndefined(tableWidth.value)) {
201
+ adjustTableWidth({ entries, forceAdjust: true });
202
+ } else {
203
+ adjustTableWidth({ entries });
204
+ }
205
+ }, 300),
206
+ );
207
+
208
+ const onWatchMobileScrollControl = newValue => {
209
+ if (newValue) {
210
+ resizeOb.unobserve(aTableRef.value);
211
+ setAllDefaultForMobile();
212
+ } else {
213
+ resizeOb.observe(aTableRef.value);
214
+ if (modelIsTableWithoutScroll.value) {
215
+ checkVisibleColumns();
216
+ }
217
+ }
218
+ };
219
+
220
+ const changeModelIsTableWithoutScroll = model => {
221
+ modelIsTableWithoutScroll.value = model;
222
+ emit("updateModelIsTableWithoutScroll", model);
223
+ if (modelIsTableWithoutScroll.value) {
224
+ checkVisibleColumns();
225
+ }
226
+ };
227
+
228
+ onMounted(() => {
229
+ if (!isMobile.value) {
230
+ resizeOb.observe(aTableRef.value);
231
+ }
232
+ });
233
+ onBeforeUnmount(() => {
234
+ resizeOb.unobserve(aTableRef.value);
235
+ });
236
+
237
+ watch(columnsOrdered, () => {
238
+ checkVisibleColumns();
239
+ });
240
+
241
+
242
+ return {
243
+ aTableRef,
244
+ changeModelIsTableWithoutScroll,
245
+ checkVisibleColumns,
246
+ columnsVisibleAdditionalSpaceForOneGrow,
247
+ onWatchMobileScrollControl,
248
+ };
249
+ }
@@ -1,86 +1,86 @@
1
- import {
2
- computed,
3
- ref,
4
- toRef,
5
- watch,
6
- } from "vue";
7
-
8
- import {
9
- aOrderBy,
10
- } from "../../utils/utils";
11
-
12
- import {
13
- cloneDeep,
14
- forEach,
15
- isArray,
16
- isString,
17
- startsWith,
18
- } from "lodash-es";
19
-
20
- export default function SortAPI(props, {
21
- viewCurrent = computed(() => ({})),
22
- }) {
23
- const data = toRef(props, "data");
24
- const isSortingOutside = toRef(props, "isSortingOutside");
25
- const modelSort = toRef(props, "modelSort");
26
- const useAdditionalSorting = toRef(props, "useAdditionalSorting");
27
-
28
- const modelSortLocal = ref([]);
29
-
30
- const useAdditionalSortingLocal = computed(() => {
31
- if (useAdditionalSorting.value) {
32
- if (viewCurrent.value) {
33
- return viewCurrent.value.useAdditionalSorting || false;
34
- }
35
- return true;
36
- }
37
- return false;
38
- });
39
-
40
- const initModelSort = () => {
41
- if (isString(modelSort.value)) {
42
- modelSortLocal.value = [modelSort.value];
43
- } else if (isArray(modelSort.value)) {
44
- modelSortLocal.value = cloneDeep(modelSort.value);
45
- }
46
- };
47
-
48
- const sortOptions = computed(() => {
49
- const OPTIONS = {
50
- models: [],
51
- directions: [],
52
- };
53
- if (modelSortLocal.value.length) {
54
- forEach(modelSortLocal.value, model => {
55
- let directionSort = "asc";
56
- let modelSortLocal = model;
57
- if (startsWith(model, "-")) {
58
- directionSort = "desc";
59
- modelSortLocal = model.slice(1);
60
- }
61
- OPTIONS.models.push(modelSortLocal);
62
- OPTIONS.directions.push(directionSort);
63
- });
64
- }
65
- return OPTIONS;
66
- });
67
-
68
- const dataSorted = computed(() => {
69
- if (modelSortLocal.value.length &&
70
- !isSortingOutside.value) {
71
- return aOrderBy(data.value || [], sortOptions.value.models, sortOptions.value.directions);
72
- }
73
- return data.value || [];
74
- });
75
-
76
- watch(modelSort, () => {
77
- initModelSort();
78
- });
79
-
80
- return {
81
- dataSorted,
82
- initModelSort,
83
- modelSortLocal,
84
- useAdditionalSortingLocal,
85
- };
86
- }
1
+ import {
2
+ computed,
3
+ ref,
4
+ toRef,
5
+ watch,
6
+ } from "vue";
7
+
8
+ import {
9
+ aOrderBy,
10
+ } from "../../utils/utils";
11
+
12
+ import {
13
+ cloneDeep,
14
+ forEach,
15
+ isArray,
16
+ isString,
17
+ startsWith,
18
+ } from "lodash-es";
19
+
20
+ export default function SortAPI(props, {
21
+ viewCurrent = computed(() => ({})),
22
+ }) {
23
+ const data = toRef(props, "data");
24
+ const isSortingOutside = toRef(props, "isSortingOutside");
25
+ const modelSort = toRef(props, "modelSort");
26
+ const useAdditionalSorting = toRef(props, "useAdditionalSorting");
27
+
28
+ const modelSortLocal = ref([]);
29
+
30
+ const useAdditionalSortingLocal = computed(() => {
31
+ if (useAdditionalSorting.value) {
32
+ if (viewCurrent.value) {
33
+ return viewCurrent.value.useAdditionalSorting || false;
34
+ }
35
+ return true;
36
+ }
37
+ return false;
38
+ });
39
+
40
+ const initModelSort = () => {
41
+ if (isString(modelSort.value)) {
42
+ modelSortLocal.value = [modelSort.value];
43
+ } else if (isArray(modelSort.value)) {
44
+ modelSortLocal.value = cloneDeep(modelSort.value);
45
+ }
46
+ };
47
+
48
+ const sortOptions = computed(() => {
49
+ const OPTIONS = {
50
+ models: [],
51
+ directions: [],
52
+ };
53
+ if (modelSortLocal.value.length) {
54
+ forEach(modelSortLocal.value, model => {
55
+ let directionSort = "asc";
56
+ let modelSortLocal = model;
57
+ if (startsWith(model, "-")) {
58
+ directionSort = "desc";
59
+ modelSortLocal = model.slice(1);
60
+ }
61
+ OPTIONS.models.push(modelSortLocal);
62
+ OPTIONS.directions.push(directionSort);
63
+ });
64
+ }
65
+ return OPTIONS;
66
+ });
67
+
68
+ const dataSorted = computed(() => {
69
+ if (modelSortLocal.value.length &&
70
+ !isSortingOutside.value) {
71
+ return aOrderBy(data.value || [], sortOptions.value.models, sortOptions.value.directions);
72
+ }
73
+ return data.value || [];
74
+ });
75
+
76
+ watch(modelSort, () => {
77
+ initModelSort();
78
+ });
79
+
80
+ return {
81
+ dataSorted,
82
+ initModelSort,
83
+ modelSortLocal,
84
+ useAdditionalSortingLocal,
85
+ };
86
+ }