@zeedhi/vuetify 3.0.5 → 3.0.7

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 (454) hide show
  1. package/dist/components/index.js +275 -0
  2. package/dist/components/tek-grid/TekGrid.js +287 -0
  3. package/dist/components/tek-grid/column-filter/TekGridColumnFilter.js +201 -0
  4. package/dist/components/tek-grid/column-header/TekGridHeaderRow.js +134 -0
  5. package/dist/components/tek-grid/columns-button/TekGridColumnsButton.js +79 -0
  6. package/dist/components/tek-grid/columns-button/TekGridColumnsOptionsController.js +416 -0
  7. package/dist/components/tek-grid/columns-button/TekGridColumnsOptionsModal.js +501 -0
  8. package/dist/components/tek-grid/filter-button/TekGridFilterButton.js +36 -0
  9. package/dist/components/tek-grid/indentation/TekGridIndentation.js +20 -0
  10. package/dist/components/tek-grid/layout-options/TekGridLayoutOptions.js +101 -0
  11. package/dist/components/tek-grid/row/TekGridFooterRow.js +57 -0
  12. package/dist/components/tek-grid/row/TekGridGroupRow.js +58 -0
  13. package/dist/components/tooltip-overflow/ZdTooltipOverflow.js +56 -0
  14. package/dist/components/zd-activator-wrapper/ZdActivatorWrapper.js +33 -0
  15. package/dist/components/zd-alert/ZdAlert.js +112 -0
  16. package/dist/components/zd-badge/ZdBadge.js +28 -0
  17. package/dist/components/zd-breadcrumbs/ZdBreadcrumbs.js +55 -0
  18. package/dist/components/zd-button/ZdButton.js +230 -0
  19. package/dist/components/zd-button-group/ZdButtonGroup.js +110 -0
  20. package/dist/components/zd-card/ZdCard.js +132 -0
  21. package/dist/components/zd-carousel/ZdCarousel.js +242 -0
  22. package/dist/components/zd-checkbox/ZdCheckbox.js +35 -0
  23. package/dist/components/zd-checkbox-multiple/ZdCheckboxMultiple.js +62 -0
  24. package/dist/components/zd-chip/ZdChip.js +94 -0
  25. package/dist/components/zd-code-viewer/ZdCodeViewer.js +55 -0
  26. package/dist/components/zd-code-viewer/prism.js +14 -0
  27. package/dist/components/zd-col/ZdCol.js +45 -0
  28. package/dist/components/zd-collapse-card/ZdCollapseCard.js +85 -0
  29. package/dist/components/zd-component/ZdComponent.js +259 -0
  30. package/dist/components/zd-component/ZdComponentRender.js +14 -0
  31. package/dist/components/zd-container/ZdContainer.js +42 -0
  32. package/dist/components/zd-currency/ZdCurrency.js +24 -0
  33. package/dist/components/zd-date-input/ZdDateInput.js +247 -0
  34. package/dist/components/zd-date-range/ZdDateRange.js +251 -0
  35. package/dist/components/zd-dialog/ZdDialog.js +34 -0
  36. package/dist/components/zd-divider/ZdDivider.js +28 -0
  37. package/dist/components/zd-dropdown/ZdDropdown.js +93 -0
  38. package/dist/components/zd-footer/ZdFooter.js +77 -0
  39. package/dist/components/zd-form/ZdForm.js +85 -0
  40. package/dist/components/zd-frame/ZdFrame.js +76 -0
  41. package/dist/components/zd-frame-page/ZdFramePage.js +21 -0
  42. package/dist/components/zd-grid/ZdGrid.js +284 -0
  43. package/dist/components/zd-grid/cell/ZdGridAction.js +12 -0
  44. package/dist/components/zd-grid/cell/ZdGridCell.js +59 -0
  45. package/dist/components/zd-grid/cell/ZdGridCellContent.js +59 -0
  46. package/dist/components/zd-grid/cell/ZdGridCheckbox.js +38 -0
  47. package/dist/components/zd-grid/column-header/ZdGridColumnHeader.js +70 -0
  48. package/dist/components/zd-grid/column-header/ZdGridHeaderIcon.js +31 -0
  49. package/dist/components/zd-grid/column-header/ZdGridHeaderRow.js +102 -0
  50. package/dist/components/zd-grid/column-header/ZdGridSort.js +32 -0
  51. package/dist/components/zd-grid/composables/grid-instance.js +12 -0
  52. package/dist/components/zd-grid/footer/ZdGridFooter.js +16 -0
  53. package/dist/components/zd-grid/helper/ZdGridHelper.js +12 -0
  54. package/dist/components/zd-grid/row/TableRow.js +25 -0
  55. package/dist/components/zd-grid/row/ZdGridRow.js +70 -0
  56. package/dist/components/zd-grid/toolbar/ZdGridToolbar.js +15 -0
  57. package/dist/components/zd-grid-editable/ZdGridEditable.js +174 -0
  58. package/dist/components/zd-grid-editable/cell/ZdGridEditableCell.js +135 -0
  59. package/dist/components/zd-grid-editable/row/ZdGridEditableRow.js +99 -0
  60. package/dist/components/zd-header/ZdHeader.js +111 -0
  61. package/dist/components/zd-icon/ZdIcon.js +63 -0
  62. package/dist/components/zd-image/ZdImage.js +48 -0
  63. package/dist/components/zd-increment/ZdIncrement.js +38 -0
  64. package/dist/components/zd-input/ZdInput.js +164 -0
  65. package/dist/components/zd-iterable/ZdIterable.js +38 -0
  66. package/dist/components/zd-iterable/ZdIterableNoData.js +20 -0
  67. package/dist/components/zd-iterable/zd-iterable-columns-button/ZdIterableColumnsButton.js +50 -0
  68. package/dist/components/zd-iterable/zd-iterable-page-info/ZdIterablePageInfo.js +21 -0
  69. package/dist/components/zd-iterable/zd-iterable-page-size/ZdIterablePageSize.js +55 -0
  70. package/dist/components/zd-iterable/zd-iterable-pagination/ZdIterablePagination.js +36 -0
  71. package/dist/components/zd-iterable/zd-search/ZdSearch.js +42 -0
  72. package/dist/components/zd-iterable-component-render/ZdIterableComponentRender.js +108 -0
  73. package/dist/components/zd-layout/ZdLayout.js +41 -0
  74. package/dist/components/zd-list/ZdList.js +84 -0
  75. package/dist/components/zd-list/ZdListGroup.js +38 -0
  76. package/dist/components/zd-list/ZdListItem.js +66 -0
  77. package/dist/components/zd-loading/ZdLoading.js +61 -0
  78. package/dist/components/zd-login/ZdLogin.js +68 -0
  79. package/dist/components/zd-login/ZdLoginButton.js +28 -0
  80. package/dist/components/zd-main/ZdMain.js +33 -0
  81. package/dist/components/zd-master-detail/ZdMasterDetail.js +48 -0
  82. package/dist/components/zd-menu/ZdMenu.js +302 -0
  83. package/dist/components/zd-menu/ZdMenuButton.js +42 -0
  84. package/dist/components/zd-menu/ZdMenuGroup.js +66 -0
  85. package/dist/components/zd-menu/ZdMenuLink.js +63 -0
  86. package/dist/components/zd-menu/ZdMenuSeparator.js +26 -0
  87. package/dist/components/zd-modal/ZdModal.js +123 -0
  88. package/dist/components/zd-modal/ZdModalCloseButton.js +36 -0
  89. package/dist/components/zd-month/ZdMonth.js +31 -0
  90. package/dist/components/zd-number-input/ZdNumberInput.js +84 -0
  91. package/dist/components/zd-password/ZdPassword.js +23 -0
  92. package/dist/components/zd-progress/ZdProgress.js +52 -0
  93. package/dist/components/zd-radio/ZdRadio.js +56 -0
  94. package/dist/components/zd-row/ZdRow.js +43 -0
  95. package/dist/components/zd-select/ZdSelect.js +191 -0
  96. package/dist/components/zd-select-multiple/ZdSelectMultiple.js +326 -0
  97. package/dist/components/zd-svg-map/ZdSvgMap.js +211 -0
  98. package/dist/components/zd-switch/ZdSwitch.js +39 -0
  99. package/dist/components/zd-table/ZdTable.js +42 -0
  100. package/dist/components/zd-tabs/ZdTab.js +92 -0
  101. package/dist/components/zd-tabs/ZdTabItem.js +17 -0
  102. package/dist/components/zd-tabs/ZdTabs.js +84 -0
  103. package/dist/components/zd-tag/ZdTag.js +34 -0
  104. package/dist/components/zd-text/ZdText.js +35 -0
  105. package/dist/components/zd-text-input/ZdTextInput.js +174 -0
  106. package/dist/components/zd-textarea/ZdTextarea.js +76 -0
  107. package/dist/components/zd-time/ZdTime.js +159 -0
  108. package/dist/components/zd-toggleable/ZdToggleable.js +13 -0
  109. package/dist/components/zd-tooltip/ZdTooltip.js +92 -0
  110. package/dist/components/zd-tree/ZdTree.js +315 -0
  111. package/dist/components/zd-tree/ZdTreeAfterTitle.js +17 -0
  112. package/dist/components/zd-tree/ZdTreeCheckbox.js +97 -0
  113. package/dist/components/zd-tree-grid/ZdTreeGrid.js +101 -0
  114. package/dist/components/zd-tree-grid/cell/ZdTreeGridCell.js +81 -0
  115. package/dist/components/zd-tree-grid/row/ZdTreeGridRow.js +85 -0
  116. package/dist/composables/cellSelection.js +37 -0
  117. package/dist/composables/columnDrag.js +82 -0
  118. package/dist/composables/columnResize.js +115 -0
  119. package/dist/composables/density.js +13 -0
  120. package/dist/composables/doubleClick.js +32 -0
  121. package/dist/composables/fixedColumns.js +106 -0
  122. package/dist/composables/gridColorVars.js +30 -0
  123. package/dist/composables/gridColumns.js +87 -0
  124. package/dist/composables/gridSelection.js +91 -0
  125. package/dist/composables/gridSorting.js +19 -0
  126. package/dist/composables/hasSlot.js +25 -0
  127. package/dist/composables/index.js +16 -0
  128. package/dist/composables/maska.js +36 -0
  129. package/dist/composables/tableNavigation.js +126 -0
  130. package/dist/composables/useIsMobile.js +8 -0
  131. package/dist/composables/useTableLayout.js +212 -0
  132. package/dist/composables/virtualScroll.js +92 -0
  133. package/dist/composables/watchUrl.js +14 -0
  134. package/dist/errors/index.js +3 -0
  135. package/dist/errors/not-provided.js +11 -0
  136. package/dist/errors/row-not-found.js +9 -0
  137. package/dist/errors/zeedhi-error.js +8 -0
  138. package/dist/index.js +49 -0
  139. package/dist/propsMixins/heightProps.js +17 -0
  140. package/dist/propsMixins/index.js +3 -0
  141. package/dist/propsMixins/interfaces.js +1 -0
  142. package/dist/propsMixins/widthProps.js +13 -0
  143. package/dist/utils/buildProps.js +3 -0
  144. package/dist/utils/fillHeight.js +18 -0
  145. package/dist/utils/icons/icons.js +28 -0
  146. package/dist/utils/index.js +6 -0
  147. package/dist/utils/isArrayOperation.js +4 -0
  148. package/dist/utils/logger/logger.js +7 -0
  149. package/dist/utils/mergeDictionaries.js +22 -0
  150. package/dist/utils/plugins/formatSizePlugin.js +6 -0
  151. package/dist/utils/plugins/getIconPlugin.js +11 -0
  152. package/dist/utils/plugins/index.js +4 -0
  153. package/dist/utils/plugins/styleObjectPlugin.js +13 -0
  154. package/dist/zd-vuetify.css +20645 -20878
  155. package/dist/zd-vuetify.js +9696 -13977
  156. package/package.json +8 -6
  157. package/src/components/index.ts +0 -27
  158. package/src/components/zd-date-input/ZdDateInput.ts +11 -9
  159. package/src/components/zd-date-input/ZdDateInput.vue +42 -46
  160. package/src/components/zd-date-range/ZdDateRange.ts +24 -23
  161. package/src/components/zd-date-range/ZdDateRange.vue +42 -54
  162. package/src/components/zd-month/ZdMonth.ts +0 -17
  163. package/src/components/zd-month/ZdMonth.vue +0 -1
  164. package/src/components/zd-text-input/ZdTextInput.ts +4 -0
  165. package/src/components/zd-text-input/ZdTextInput.vue +1 -0
  166. package/src/components/zd-time/ZdTime.ts +11 -50
  167. package/src/components/zd-time/ZdTime.vue +41 -29
  168. package/src/composables/index.ts +1 -1
  169. package/src/composables/useIsMobile.ts +9 -0
  170. package/src/errors/index.ts +1 -0
  171. package/src/index.ts +1 -0
  172. package/src/utils/index.ts +0 -1
  173. package/types/components/index.d.ts +80 -0
  174. package/types/components/tek-grid/TekGrid.d.ts +7258 -0
  175. package/types/components/tek-grid/TekGrid.ts.d.ts +7258 -0
  176. package/types/components/tek-grid/column-filter/TekGridColumnFilter.d.ts +129 -0
  177. package/types/components/tek-grid/column-filter/TekGridColumnFilter.ts.d.ts +129 -0
  178. package/types/components/tek-grid/column-header/TekGridHeaderRow.d.ts +225 -0
  179. package/types/components/tek-grid/column-header/TekGridHeaderRow.ts.d.ts +225 -0
  180. package/types/components/tek-grid/columns-button/TekGridColumnsButton.d.ts +2432 -0
  181. package/types/components/tek-grid/columns-button/TekGridColumnsButton.ts.d.ts +2432 -0
  182. package/types/components/tek-grid/columns-button/TekGridColumnsOptionsController.d.ts +65 -0
  183. package/types/components/tek-grid/columns-button/TekGridColumnsOptionsModal.d.ts +9 -0
  184. package/types/components/tek-grid/filter-button/TekGridFilterButton.d.ts +2920 -0
  185. package/types/components/tek-grid/filter-button/TekGridFilterButton.ts.d.ts +2920 -0
  186. package/types/components/tek-grid/indentation/TekGridIndentation.d.ts +32 -0
  187. package/types/components/tek-grid/indentation/TekGridIndentation.ts.d.ts +32 -0
  188. package/types/components/tek-grid/layout-options/TekGridLayoutOptions.d.ts +1892 -0
  189. package/types/components/tek-grid/layout-options/TekGridLayoutOptions.ts.d.ts +1892 -0
  190. package/types/components/tek-grid/row/TekGridFooterRow.d.ts +90 -0
  191. package/types/components/tek-grid/row/TekGridFooterRow.ts.d.ts +90 -0
  192. package/types/components/tek-grid/row/TekGridGroupRow.d.ts +87 -0
  193. package/types/components/tek-grid/row/TekGridGroupRow.ts.d.ts +87 -0
  194. package/types/components/tooltip-overflow/ZdTooltipOverflow.d.ts +50 -0
  195. package/types/components/tooltip-overflow/ZdTooltipOverflow.ts.d.ts +50 -0
  196. package/types/components/zd-activator-wrapper/ZdActivatorWrapper.d.ts +25 -0
  197. package/types/components/zd-activator-wrapper/ZdActivatorWrapper.ts.d.ts +25 -0
  198. package/types/components/zd-alert/ZdAlert.d.ts +884 -0
  199. package/types/components/zd-alert/ZdAlert.ts.d.ts +884 -0
  200. package/types/components/zd-badge/ZdBadge.d.ts +624 -0
  201. package/types/components/zd-badge/ZdBadge.ts.d.ts +624 -0
  202. package/types/components/zd-breadcrumbs/ZdBreadcrumbs.d.ts +697 -0
  203. package/types/components/zd-breadcrumbs/ZdBreadcrumbs.ts.d.ts +697 -0
  204. package/types/components/zd-button/ZdButton.d.ts +1158 -0
  205. package/types/components/zd-button/ZdButton.ts.d.ts +1158 -0
  206. package/types/components/zd-button-group/ZdButtonGroup.d.ts +785 -0
  207. package/types/components/zd-button-group/ZdButtonGroup.ts.d.ts +785 -0
  208. package/types/components/zd-card/ZdCard.d.ts +1028 -0
  209. package/types/components/zd-card/ZdCard.ts.d.ts +1028 -0
  210. package/types/components/zd-carousel/ZdCarousel.d.ts +2007 -0
  211. package/types/components/zd-carousel/ZdCarousel.ts.d.ts +2007 -0
  212. package/types/components/zd-checkbox/ZdCheckbox.d.ts +655 -0
  213. package/types/components/zd-checkbox/ZdCheckbox.ts.d.ts +642 -0
  214. package/types/components/zd-checkbox-multiple/ZdCheckboxMultiple.d.ts +2040 -0
  215. package/types/components/zd-checkbox-multiple/ZdCheckboxMultiple.ts.d.ts +2010 -0
  216. package/types/components/zd-chip/ZdChip.d.ts +1256 -0
  217. package/types/components/zd-chip/ZdChip.ts.d.ts +1256 -0
  218. package/types/components/zd-code-viewer/ZdCodeViewer.d.ts +791 -0
  219. package/types/components/zd-code-viewer/ZdCodeViewer.ts.d.ts +791 -0
  220. package/types/components/zd-code-viewer/prism.d.ts +14 -0
  221. package/types/components/zd-col/ZdCol.d.ts +741 -0
  222. package/types/components/zd-col/ZdCol.ts.d.ts +741 -0
  223. package/types/components/zd-collapse-card/ZdCollapseCard.d.ts +1583 -0
  224. package/types/components/zd-collapse-card/ZdCollapseCard.ts.d.ts +1583 -0
  225. package/types/components/zd-component/ZdComponent.d.ts +104 -0
  226. package/types/components/zd-component/ZdComponentRender.d.ts +80 -0
  227. package/types/components/zd-container/ZdContainer.d.ts +722 -0
  228. package/types/components/zd-container/ZdContainer.ts.d.ts +722 -0
  229. package/types/components/zd-currency/ZdCurrency.d.ts +2068 -0
  230. package/types/components/zd-currency/ZdCurrency.ts.d.ts +2024 -0
  231. package/types/components/zd-date-input/ZdDateInput.d.ts +986 -0
  232. package/types/components/zd-date-input/ZdDateInput.ts.d.ts +960 -0
  233. package/types/components/zd-date-range/ZdDateRange.d.ts +2305 -0
  234. package/types/components/zd-dialog/ZdDialog.d.ts +262 -0
  235. package/types/components/zd-dialog/ZdDialog.ts.d.ts +262 -0
  236. package/types/components/zd-divider/ZdDivider.d.ts +623 -0
  237. package/types/components/zd-divider/ZdDivider.ts.d.ts +623 -0
  238. package/types/components/zd-dropdown/ZdDropdown.d.ts +836 -0
  239. package/types/components/zd-dropdown/ZdDropdown.ts.d.ts +836 -0
  240. package/types/components/zd-footer/ZdFooter.d.ts +1262 -0
  241. package/types/components/zd-footer/ZdFooter.ts.d.ts +1262 -0
  242. package/types/components/zd-form/ZdForm.d.ts +118 -0
  243. package/types/components/zd-form/ZdForm.ts.d.ts +118 -0
  244. package/types/components/zd-frame/ZdFrame.d.ts +138 -0
  245. package/types/components/zd-frame/ZdFrame.ts.d.ts +138 -0
  246. package/types/components/zd-frame-page/ZdFramePage.d.ts +805 -0
  247. package/types/components/zd-frame-page/ZdFramePage.ts.d.ts +805 -0
  248. package/types/components/zd-grid/ZdGrid.d.ts +7304 -0
  249. package/types/components/zd-grid/ZdGrid.ts.d.ts +7304 -0
  250. package/types/components/zd-grid/cell/ZdGridAction.d.ts +14 -0
  251. package/types/components/zd-grid/cell/ZdGridAction.ts.d.ts +14 -0
  252. package/types/components/zd-grid/cell/ZdGridCell.d.ts +68 -0
  253. package/types/components/zd-grid/cell/ZdGridCell.ts.d.ts +68 -0
  254. package/types/components/zd-grid/cell/ZdGridCellContent.d.ts +58 -0
  255. package/types/components/zd-grid/cell/ZdGridCellContent.ts.d.ts +58 -0
  256. package/types/components/zd-grid/cell/ZdGridCheckbox.d.ts +53 -0
  257. package/types/components/zd-grid/cell/ZdGridCheckbox.ts.d.ts +53 -0
  258. package/types/components/zd-grid/column-header/ZdGridColumnHeader.d.ts +112 -0
  259. package/types/components/zd-grid/column-header/ZdGridColumnHeader.ts.d.ts +112 -0
  260. package/types/components/zd-grid/column-header/ZdGridHeaderIcon.d.ts +46 -0
  261. package/types/components/zd-grid/column-header/ZdGridHeaderIcon.ts.d.ts +46 -0
  262. package/types/components/zd-grid/column-header/ZdGridHeaderRow.d.ts +165 -0
  263. package/types/components/zd-grid/column-header/ZdGridHeaderRow.ts.d.ts +165 -0
  264. package/types/components/zd-grid/column-header/ZdGridSort.d.ts +47 -0
  265. package/types/components/zd-grid/column-header/ZdGridSort.ts.d.ts +47 -0
  266. package/types/components/zd-grid/composables/grid-instance.d.ts +2085 -0
  267. package/types/components/zd-grid/footer/ZdGridFooter.d.ts +2087 -0
  268. package/types/components/zd-grid/footer/ZdGridFooter.ts.d.ts +2087 -0
  269. package/types/components/zd-grid/helper/ZdGridHelper.d.ts +16 -0
  270. package/types/components/zd-grid/helper/ZdGridHelper.ts.d.ts +16 -0
  271. package/types/components/zd-grid/row/TableRow.d.ts +34 -0
  272. package/types/components/zd-grid/row/TableRow.ts.d.ts +34 -0
  273. package/types/components/zd-grid/row/ZdGridRow.d.ts +105 -0
  274. package/types/components/zd-grid/row/ZdGridRow.ts.d.ts +105 -0
  275. package/types/components/zd-grid/toolbar/ZdGridToolbar.d.ts +2086 -0
  276. package/types/components/zd-grid/toolbar/ZdGridToolbar.ts.d.ts +2086 -0
  277. package/types/components/zd-grid-editable/ZdGridEditable.d.ts +8663 -0
  278. package/types/components/zd-grid-editable/ZdGridEditable.ts.d.ts +8663 -0
  279. package/types/components/zd-grid-editable/cell/ZdGridEditableCell.d.ts +637 -0
  280. package/types/components/zd-grid-editable/cell/ZdGridEditableCell.ts.d.ts +637 -0
  281. package/types/components/zd-grid-editable/row/ZdGridEditableRow.d.ts +126 -0
  282. package/types/components/zd-grid-editable/row/ZdGridEditableRow.ts.d.ts +126 -0
  283. package/types/components/zd-header/ZdHeader.d.ts +1320 -0
  284. package/types/components/zd-header/ZdHeader.ts.d.ts +1320 -0
  285. package/types/components/zd-icon/ZdIcon.d.ts +383 -0
  286. package/types/components/zd-icon/ZdIcon.ts.d.ts +383 -0
  287. package/types/components/zd-image/ZdImage.d.ts +753 -0
  288. package/types/components/zd-image/ZdImage.ts.d.ts +753 -0
  289. package/types/components/zd-increment/ZdIncrement.d.ts +2113 -0
  290. package/types/components/zd-increment/ZdIncrement.ts.d.ts +2069 -0
  291. package/types/components/zd-input/ZdInput.d.ts +204 -0
  292. package/types/components/zd-iterable/ZdIterable.d.ts +130 -0
  293. package/types/components/zd-iterable/ZdIterableNoData.d.ts +2089 -0
  294. package/types/components/zd-iterable/ZdIterableNoData.ts.d.ts +2089 -0
  295. package/types/components/zd-iterable/zd-iterable-columns-button/ZdIterableColumnsButton.d.ts +1645 -0
  296. package/types/components/zd-iterable/zd-iterable-columns-button/ZdIterableColumnsButton.ts.d.ts +1645 -0
  297. package/types/components/zd-iterable/zd-iterable-page-info/ZdIterablePageInfo.d.ts +1081 -0
  298. package/types/components/zd-iterable/zd-iterable-page-info/ZdIterablePageInfo.ts.d.ts +1081 -0
  299. package/types/components/zd-iterable/zd-iterable-page-size/ZdIterablePageSize.d.ts +2807 -0
  300. package/types/components/zd-iterable/zd-iterable-page-size/ZdIterablePageSize.ts.d.ts +2763 -0
  301. package/types/components/zd-iterable/zd-iterable-pagination/ZdIterablePagination.d.ts +1653 -0
  302. package/types/components/zd-iterable/zd-iterable-pagination/ZdIterablePagination.ts.d.ts +1627 -0
  303. package/types/components/zd-iterable/zd-search/ZdSearch.d.ts +792 -0
  304. package/types/components/zd-iterable/zd-search/ZdSearch.ts.d.ts +766 -0
  305. package/types/components/zd-iterable-component-render/ZdIterableComponentRender.d.ts +2484 -0
  306. package/types/components/zd-iterable-component-render/ZdIterableComponentRender.ts.d.ts +2484 -0
  307. package/types/components/zd-layout/ZdLayout.d.ts +647 -0
  308. package/types/components/zd-layout/ZdLayout.ts.d.ts +647 -0
  309. package/types/components/zd-list/ZdList.d.ts +1140 -0
  310. package/types/components/zd-list/ZdList.ts.d.ts +1140 -0
  311. package/types/components/zd-list/ZdListGroup.d.ts +1332 -0
  312. package/types/components/zd-list/ZdListGroup.ts.d.ts +1332 -0
  313. package/types/components/zd-list/ZdListItem.d.ts +848 -0
  314. package/types/components/zd-list/ZdListItem.ts.d.ts +848 -0
  315. package/types/components/zd-loading/ZdLoading.d.ts +350 -0
  316. package/types/components/zd-loading/ZdLoading.ts.d.ts +350 -0
  317. package/types/components/zd-login/ZdLogin.d.ts +1072 -0
  318. package/types/components/zd-login/ZdLogin.ts.d.ts +1072 -0
  319. package/types/components/zd-login/ZdLoginButton.d.ts +1913 -0
  320. package/types/components/zd-login/ZdLoginButton.ts.d.ts +1910 -0
  321. package/types/components/zd-main/ZdMain.d.ts +619 -0
  322. package/types/components/zd-main/ZdMain.ts.d.ts +619 -0
  323. package/types/components/zd-master-detail/ZdMasterDetail.d.ts +684 -0
  324. package/types/components/zd-master-detail/ZdMasterDetail.ts.d.ts +684 -0
  325. package/types/components/zd-menu/ZdMenu.d.ts +4484 -0
  326. package/types/components/zd-menu/ZdMenu.ts.d.ts +4484 -0
  327. package/types/components/zd-menu/ZdMenuButton.d.ts +1142 -0
  328. package/types/components/zd-menu/ZdMenuButton.ts.d.ts +1142 -0
  329. package/types/components/zd-menu/ZdMenuGroup.d.ts +6286 -0
  330. package/types/components/zd-menu/ZdMenuGroup.ts.d.ts +6286 -0
  331. package/types/components/zd-menu/ZdMenuLink.d.ts +10437 -0
  332. package/types/components/zd-menu/ZdMenuLink.ts.d.ts +10437 -0
  333. package/types/components/zd-menu/ZdMenuSeparator.d.ts +600 -0
  334. package/types/components/zd-menu/ZdMenuSeparator.ts.d.ts +600 -0
  335. package/types/components/zd-modal/ZdModal.d.ts +10 -0
  336. package/types/components/zd-modal/ZdModal.ts.d.ts +10 -0
  337. package/types/components/zd-modal/ZdModalCloseButton.d.ts +1137 -0
  338. package/types/components/zd-modal/ZdModalCloseButton.ts.d.ts +1137 -0
  339. package/types/components/zd-month/ZdMonth.d.ts +2260 -0
  340. package/types/components/zd-month/ZdMonth.ts.d.ts +2217 -0
  341. package/types/components/zd-number-input/ZdNumberInput.d.ts +2065 -0
  342. package/types/components/zd-number-input/ZdNumberInput.ts.d.ts +2021 -0
  343. package/types/components/zd-password/ZdPassword.d.ts +2058 -0
  344. package/types/components/zd-password/ZdPassword.ts.d.ts +2014 -0
  345. package/types/components/zd-progress/ZdProgress.d.ts +859 -0
  346. package/types/components/zd-progress/ZdProgress.ts.d.ts +859 -0
  347. package/types/components/zd-radio/ZdRadio.d.ts +695 -0
  348. package/types/components/zd-radio/ZdRadio.ts.d.ts +682 -0
  349. package/types/components/zd-row/ZdRow.d.ts +734 -0
  350. package/types/components/zd-row/ZdRow.ts.d.ts +734 -0
  351. package/types/components/zd-select/ZdSelect.d.ts +321 -0
  352. package/types/components/zd-select/ZdSelect.ts.d.ts +313 -0
  353. package/types/components/zd-select-multiple/ZdSelectMultiple.d.ts +341 -0
  354. package/types/components/zd-select-multiple/ZdSelectMultiple.ts.d.ts +333 -0
  355. package/types/components/zd-svg-map/ZdSvgMap.d.ts +414 -0
  356. package/types/components/zd-svg-map/ZdSvgMap.ts.d.ts +414 -0
  357. package/types/components/zd-switch/ZdSwitch.d.ts +1948 -0
  358. package/types/components/zd-switch/ZdSwitch.ts.d.ts +1918 -0
  359. package/types/components/zd-table/ZdTable.d.ts +1092 -0
  360. package/types/components/zd-table/ZdTable.ts.d.ts +1092 -0
  361. package/types/components/zd-tabs/ZdTab.d.ts +674 -0
  362. package/types/components/zd-tabs/ZdTab.ts.d.ts +674 -0
  363. package/types/components/zd-tabs/ZdTabItem.d.ts +268 -0
  364. package/types/components/zd-tabs/ZdTabItem.ts.d.ts +268 -0
  365. package/types/components/zd-tabs/ZdTabs.d.ts +929 -0
  366. package/types/components/zd-tabs/ZdTabs.ts.d.ts +929 -0
  367. package/types/components/zd-tag/ZdTag.d.ts +613 -0
  368. package/types/components/zd-tag/ZdTag.ts.d.ts +613 -0
  369. package/types/components/zd-text/ZdText.d.ts +670 -0
  370. package/types/components/zd-text/ZdText.ts.d.ts +670 -0
  371. package/types/components/zd-text-input/ZdTextInput.d.ts +772 -0
  372. package/types/components/zd-text-input/ZdTextInput.ts.d.ts +746 -0
  373. package/types/components/zd-textarea/ZdTextarea.d.ts +903 -0
  374. package/types/components/zd-textarea/ZdTextarea.ts.d.ts +877 -0
  375. package/types/components/zd-time/ZdTime.d.ts +2271 -0
  376. package/types/components/zd-time/ZdTime.ts.d.ts +2224 -0
  377. package/types/components/zd-toggleable/ZdToggleable.d.ts +203 -0
  378. package/types/components/zd-tooltip/ZdTooltip.d.ts +781 -0
  379. package/types/components/zd-tooltip/ZdTooltip.ts.d.ts +781 -0
  380. package/types/components/zd-tree/ZdTree.d.ts +1879 -0
  381. package/types/components/zd-tree/ZdTree.ts.d.ts +1878 -0
  382. package/types/components/zd-tree/ZdTreeAfterTitle.d.ts +28 -0
  383. package/types/components/zd-tree/ZdTreeAfterTitle.ts.d.ts +26 -0
  384. package/types/components/zd-tree/ZdTreeCheckbox.d.ts +74 -0
  385. package/types/components/zd-tree/ZdTreeCheckbox.ts.d.ts +74 -0
  386. package/types/components/zd-tree-grid/ZdTreeGrid.d.ts +4178 -0
  387. package/types/components/zd-tree-grid/ZdTreeGrid.ts.d.ts +4178 -0
  388. package/types/components/zd-tree-grid/cell/ZdTreeGridCell.d.ts +92 -0
  389. package/types/components/zd-tree-grid/cell/ZdTreeGridCell.ts.d.ts +92 -0
  390. package/types/components/zd-tree-grid/row/ZdTreeGridRow.d.ts +124 -0
  391. package/types/components/zd-tree-grid/row/ZdTreeGridRow.ts.d.ts +124 -0
  392. package/types/composables/cellSelection.d.ts +281 -0
  393. package/types/composables/columnDrag.d.ts +9 -0
  394. package/types/composables/columnResize.d.ts +18 -0
  395. package/types/composables/density.d.ts +12 -0
  396. package/types/composables/doubleClick.d.ts +6 -0
  397. package/types/composables/fixedColumns.d.ts +14 -0
  398. package/types/composables/gridColorVars.d.ts +13 -0
  399. package/types/composables/gridColumns.d.ts +285 -0
  400. package/types/composables/gridSelection.d.ts +15 -0
  401. package/types/composables/gridSorting.d.ts +17 -0
  402. package/types/composables/hasSlot.d.ts +8 -0
  403. package/types/composables/index.d.ts +16 -0
  404. package/types/composables/maska.d.ts +16 -0
  405. package/types/composables/tableNavigation.d.ts +11 -0
  406. package/types/composables/useIsMobile.d.ts +3 -0
  407. package/types/composables/useTableLayout.d.ts +25 -0
  408. package/types/composables/virtualScroll.d.ts +26 -0
  409. package/types/composables/watchUrl.d.ts +8 -0
  410. package/types/errors/index.d.ts +3 -0
  411. package/types/errors/not-provided.d.ts +7 -0
  412. package/types/errors/row-not-found.d.ts +7 -0
  413. package/types/errors/zeedhi-error.d.ts +6 -0
  414. package/types/index.d.ts +22 -0
  415. package/types/propsMixins/heightProps.d.ts +17 -0
  416. package/types/propsMixins/index.d.ts +5 -0
  417. package/types/propsMixins/interfaces.d.ts +2 -0
  418. package/types/propsMixins/widthProps.d.ts +13 -0
  419. package/types/utils/buildProps.d.ts +2 -0
  420. package/types/utils/fillHeight.d.ts +1 -0
  421. package/types/utils/icons/icons.d.ts +5 -0
  422. package/types/utils/index.d.ts +6 -0
  423. package/types/utils/isArrayOperation.d.ts +2 -0
  424. package/types/utils/logger/logger.d.ts +3 -0
  425. package/types/utils/mergeDictionaries.d.ts +3 -0
  426. package/types/utils/plugins/formatSizePlugin.d.ts +1 -0
  427. package/types/utils/plugins/getIconPlugin.d.ts +1 -0
  428. package/types/utils/plugins/index.d.ts +4 -0
  429. package/types/utils/plugins/styleObjectPlugin.d.ts +1 -0
  430. package/.package.json +0 -52
  431. package/rollup.config.prod.js +0 -26
  432. package/rollup.scss.config.js +0 -13
  433. package/src/components/tek-grid/TekGrid.ts +0 -320
  434. package/src/components/tek-grid/TekGrid.vue +0 -235
  435. package/src/components/tek-grid/column-filter/TekGridColumnFilter.ts +0 -243
  436. package/src/components/tek-grid/column-filter/TekGridColumnFilter.vue +0 -93
  437. package/src/components/tek-grid/column-header/TekGridHeaderRow.ts +0 -147
  438. package/src/components/tek-grid/column-header/TekGridHeaderRow.vue +0 -78
  439. package/src/components/tek-grid/columns-button/TekGridColumnsButton.ts +0 -97
  440. package/src/components/tek-grid/columns-button/TekGridColumnsButton.vue +0 -273
  441. package/src/components/tek-grid/columns-button/TekGridColumnsOptionsController.ts +0 -469
  442. package/src/components/tek-grid/columns-button/TekGridColumnsOptionsModal.ts +0 -512
  443. package/src/components/tek-grid/filter-button/TekGridFilterButton.ts +0 -46
  444. package/src/components/tek-grid/filter-button/TekGridFilterButton.vue +0 -28
  445. package/src/components/tek-grid/indentation/TekGridIndentation.ts +0 -21
  446. package/src/components/tek-grid/indentation/TekGridIndentation.vue +0 -33
  447. package/src/components/tek-grid/layout-options/TekGridLayoutOptions.ts +0 -117
  448. package/src/components/tek-grid/layout-options/TekGridLayoutOptions.vue +0 -172
  449. package/src/components/tek-grid/row/TekGridFooterRow.ts +0 -62
  450. package/src/components/tek-grid/row/TekGridFooterRow.vue +0 -64
  451. package/src/components/tek-grid/row/TekGridGroupRow.ts +0 -65
  452. package/src/components/tek-grid/row/TekGridGroupRow.vue +0 -65
  453. package/src/composables/useTableLayout.ts +0 -293
  454. package/src/utils/isArrayOperation.ts +0 -5
@@ -0,0 +1,201 @@
1
+ import { Config, Metadata, Utils, dayjs } from '@zeedhi/core';
2
+ import cloneDeep from 'lodash.clonedeep';
3
+ import debounce from 'lodash.debounce';
4
+ import { computed, defineComponent, reactive } from 'vue';
5
+ import { isArrayOperation } from '../../../utils';
6
+ export const TekGridColumnFilterProps = {
7
+ hasFilterData: {
8
+ type: Boolean,
9
+ default: false,
10
+ },
11
+ column: {
12
+ type: Object,
13
+ required: true,
14
+ },
15
+ modelValue: {
16
+ type: Array,
17
+ default: [],
18
+ },
19
+ instanceName: {
20
+ type: String,
21
+ required: true,
22
+ },
23
+ filterRelationsDatasource: {
24
+ type: [Object, null],
25
+ required: false,
26
+ },
27
+ filterOperationsDatasource: {
28
+ type: [Object, null],
29
+ required: false,
30
+ },
31
+ isHovering: {
32
+ type: Boolean,
33
+ default: false,
34
+ },
35
+ multiple: {
36
+ type: Boolean,
37
+ required: true,
38
+ },
39
+ };
40
+ const tekGridColumnFilter = defineComponent({
41
+ props: TekGridColumnFilterProps,
42
+ inheritAttrs: false,
43
+ emits: ['update:modelValue'],
44
+ setup(props, ctx) {
45
+ const getValueInputName = (index) => `${props.instanceName}-${props.column.name}-filter-value-${index}`;
46
+ const focusValueInput = (index) => {
47
+ const valueInputName = getValueInputName(index);
48
+ const input = Metadata.getInstance(valueInputName);
49
+ input.setFocus();
50
+ };
51
+ const createNewFilter = () => {
52
+ return reactive({
53
+ operation: 'CONTAINS',
54
+ relation: 'AND',
55
+ value: undefined,
56
+ });
57
+ };
58
+ let newFilter = createNewFilter();
59
+ const convertToDateFormat = (value, revert) => {
60
+ const dateFormat = props.column.componentProps.dateFormat || Config.dateFormat;
61
+ const displayFormat = props.column.componentProps.displayFormat || Config.displayFormat;
62
+ if (revert) {
63
+ if (dayjs(value, displayFormat).isValid() || !dayjs(value, dateFormat).isValid()) {
64
+ return value;
65
+ }
66
+ return dayjs(value, dateFormat).format(displayFormat);
67
+ }
68
+ if (dayjs(value, dateFormat).isValid() || !dayjs(value, displayFormat).isValid()) {
69
+ return value;
70
+ }
71
+ return dayjs(value, displayFormat).format(dateFormat);
72
+ };
73
+ const checkDateValueFormat = (value, revert = false) => {
74
+ if (!['ZdDate', 'ZdDateRange'].includes(props.column.componentProps.component))
75
+ return value;
76
+ if (Array.isArray(value)) {
77
+ return value.map((item) => convertToDateFormat(item, revert));
78
+ }
79
+ return convertToDateFormat(value, revert);
80
+ };
81
+ // use WeakMap to avoid memory leaks
82
+ const idMap = new WeakMap();
83
+ let idCounter = 0;
84
+ // retrieves a unique id for each item
85
+ const getId = (item) => {
86
+ if (!idMap.has(item)) {
87
+ idMap.set(item, `__item__${idCounter++}`);
88
+ }
89
+ return idMap.get(item);
90
+ };
91
+ // use computed to generate unique ids for each filter item
92
+ // this is needed for the v-for :key updates
93
+ const modelWithIds = computed(() => {
94
+ if (!props.multiple) {
95
+ if (props.modelValue.length > 0) {
96
+ return [{ id: getId(props.modelValue[0]), item: props.modelValue[0] }];
97
+ }
98
+ return [{ id: getId(newFilter), item: newFilter }];
99
+ }
100
+ return [...props.modelValue, newFilter].map((item) => ({
101
+ id: getId(item),
102
+ item,
103
+ }));
104
+ });
105
+ const debounceUpdateModel = debounce((modelValue) => {
106
+ if (Utils.isEqual(modelValue, props.modelValue))
107
+ return;
108
+ ctx.emit('update:modelValue', modelValue);
109
+ newFilter = createNewFilter();
110
+ }, 500);
111
+ const changeRelation = (index, { component }) => {
112
+ const modelValue = cloneDeep(props.modelValue);
113
+ const isNewFilter = index === modelValue.length;
114
+ const filter = isNewFilter ? newFilter : modelValue[index];
115
+ const { value } = component;
116
+ focusValueInput(index);
117
+ // update item type value
118
+ filter.relation = value;
119
+ if (isNewFilter)
120
+ return;
121
+ debounceUpdateModel(modelValue);
122
+ };
123
+ const changeOperation = (index, { component }) => {
124
+ const modelValue = cloneDeep(props.modelValue);
125
+ const filterItem = modelValue[index];
126
+ const isNewFilter = index === modelValue.length;
127
+ const filter = isNewFilter ? newFilter : filterItem;
128
+ const { value } = component;
129
+ focusValueInput(index);
130
+ // if operation is IN, NOT_IN or BETWEEN, value should be an array
131
+ if (isArrayOperation(value)) {
132
+ filter.value = Array.isArray(filterItem.value) ? filterItem.value : [filterItem.value];
133
+ }
134
+ // update item type value
135
+ filter.operation = value;
136
+ if (isNewFilter)
137
+ return;
138
+ debounceUpdateModel(modelValue);
139
+ };
140
+ const changeValue = (item, index, { component }) => {
141
+ const modelValue = cloneDeep(props.modelValue);
142
+ const filter = cloneDeep(item);
143
+ const { value } = component;
144
+ const isNewFilter = props.multiple && index === modelValue.length;
145
+ let formattedValue = value;
146
+ if (value && isArrayOperation(filter.operation)) {
147
+ formattedValue = value.split(';');
148
+ }
149
+ filter.value = checkDateValueFormat(formattedValue);
150
+ if (!props.multiple) {
151
+ debounceUpdateModel([filter]);
152
+ return;
153
+ }
154
+ if (isNewFilter) {
155
+ // only emit event when newFilter has value
156
+ if (!filter.value)
157
+ return;
158
+ debounceUpdateModel([...modelValue, filter]);
159
+ return;
160
+ }
161
+ if (!filter.value) {
162
+ // when removing the last (not new) filter, should pass its operation and relation to the new filter
163
+ if (index === modelValue.length - 1) {
164
+ newFilter.operation = filter.operation;
165
+ newFilter.relation = filter.relation;
166
+ }
167
+ modelValue.splice(index, 1);
168
+ // if the removed filter was the first, should set the new first relation to AND
169
+ if (modelValue.length > 0 && index === 0) {
170
+ modelValue[0].relation = 'AND';
171
+ }
172
+ // if the removed filter was the last, should set the newFilter relation to AND
173
+ if (modelValue.length === 0) {
174
+ newFilter.relation = 'AND';
175
+ }
176
+ }
177
+ debounceUpdateModel(modelValue);
178
+ };
179
+ const getComponentType = (operation) => {
180
+ return isArrayOperation(operation) ? 'ZdTextInput' : props.column.componentProps.component;
181
+ };
182
+ const getComponentHint = (operation) => {
183
+ return isArrayOperation(operation) ? 'TEKGRID_MULTIPLE_VALUE_HINT' : '';
184
+ };
185
+ const getItemValue = (item) => {
186
+ return isArrayOperation(item.operation) ? item.value.join(';') : item.value;
187
+ };
188
+ return {
189
+ changeValue,
190
+ changeRelation,
191
+ changeOperation,
192
+ getValueInputName,
193
+ newFilter,
194
+ getComponentType,
195
+ getComponentHint,
196
+ modelWithIds,
197
+ getItemValue,
198
+ };
199
+ },
200
+ });
201
+ export default tekGridColumnFilter;
@@ -0,0 +1,134 @@
1
+ import { defineComponent, inject } from 'vue';
2
+ export default defineComponent({
3
+ props: {
4
+ selectable: {
5
+ type: Boolean,
6
+ default: false,
7
+ },
8
+ headerBackground: {
9
+ type: String,
10
+ default: '',
11
+ },
12
+ showSelectAll: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ allselectedState: {
17
+ type: Number,
18
+ default: 0,
19
+ },
20
+ visibleColumns: {
21
+ type: Array,
22
+ default: () => [],
23
+ },
24
+ dragColumns: {
25
+ type: Boolean,
26
+ default: false,
27
+ },
28
+ headerCellTextColor: {
29
+ type: String,
30
+ default: '',
31
+ },
32
+ resizeColumns: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
36
+ getSortIcon: {
37
+ type: Function,
38
+ default: () => { },
39
+ },
40
+ isSorted: {
41
+ type: Function,
42
+ default: () => { },
43
+ },
44
+ toggleSort: {
45
+ type: Function,
46
+ default: () => { },
47
+ },
48
+ tableColumns: {
49
+ type: Array,
50
+ default: () => [],
51
+ },
52
+ sortBy: {
53
+ type: Array,
54
+ default: () => [],
55
+ },
56
+ disableCheckbox: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
60
+ sortable: {
61
+ type: Boolean,
62
+ default: true,
63
+ },
64
+ name: {
65
+ type: String,
66
+ default: '',
67
+ },
68
+ modelValue: {
69
+ type: Object,
70
+ default: () => [],
71
+ },
72
+ instanceName: {
73
+ type: String,
74
+ required: true,
75
+ },
76
+ filterRelationsDatasource: {
77
+ type: [Object, null],
78
+ required: false,
79
+ },
80
+ filterOperationsDatasource: {
81
+ type: [Object, null],
82
+ required: false,
83
+ },
84
+ columnFilterButton: {
85
+ type: Boolean,
86
+ required: true,
87
+ },
88
+ columnHasFilter: {
89
+ type: Function,
90
+ required: true,
91
+ },
92
+ level: {
93
+ type: Number,
94
+ default: 0,
95
+ },
96
+ },
97
+ emits: ['selectAllClick', 'resizeMousedown', 'resizeClick', 'update:modelValue'],
98
+ setup(props, { emit }) {
99
+ const calcWidth = inject('calcWidth');
100
+ if (!calcWidth) {
101
+ // TODO: use NotProvidedError
102
+ throw new Error('calcWidth');
103
+ }
104
+ const selectAllClick = (event) => {
105
+ emit('selectAllClick', event);
106
+ };
107
+ const resizeMousedown = (column, event) => {
108
+ emit('resizeMousedown', { event, column });
109
+ };
110
+ const resizeClick = (event) => {
111
+ emit('resizeClick', { event });
112
+ };
113
+ const findOrderIndex = (sortBy, column) => {
114
+ return sortBy.findIndex((sort) => sort.key === column.name);
115
+ };
116
+ const updateModelValue = (columnName, value) => {
117
+ const modelValue = { ...props.modelValue };
118
+ modelValue[columnName] = value;
119
+ emit('update:modelValue', modelValue);
120
+ };
121
+ const showFilterButton = (column) => {
122
+ return column.type !== 'action' && props.columnFilterButton && column.filterable;
123
+ };
124
+ return {
125
+ calcWidth,
126
+ resizeMousedown,
127
+ resizeClick,
128
+ findOrderIndex,
129
+ updateModelValue,
130
+ showFilterButton,
131
+ selectAllClick,
132
+ };
133
+ },
134
+ });
@@ -0,0 +1,79 @@
1
+ import { TekGridColumnsButton } from '@zeedhi/common';
2
+ import sortable from 'sortablejs';
3
+ import { computed, defineComponent, mergeProps, nextTick, ref, watch } from 'vue';
4
+ import { useButtonInstance, useCreateInstance } from '../..';
5
+ import { ZdIterableColumnsButtonProps } from '../../zd-iterable/zd-iterable-columns-button/ZdIterableColumnsButton';
6
+ import optionsModal from './TekGridColumnsOptionsModal';
7
+ export const TekGridColumnsButtonProps = {
8
+ ...ZdIterableColumnsButtonProps,
9
+ hideGroups: {
10
+ type: [Boolean, String],
11
+ default: false,
12
+ },
13
+ };
14
+ const tekGridColumnsButton = defineComponent({
15
+ props: TekGridColumnsButtonProps,
16
+ inheritAttrs: false,
17
+ setup(props, ctx) {
18
+ const { instance, root } = useCreateInstance(props, ctx, TekGridColumnsButton);
19
+ const buttonScope = useButtonInstance({ instance, root });
20
+ const menuIsOpened = ref(false);
21
+ const sortableInitialized = ref(false);
22
+ const teste = (a) => {
23
+ console.warn(a);
24
+ };
25
+ watch(menuIsOpened, () => {
26
+ if (!menuIsOpened.value || sortableInitialized.value)
27
+ return;
28
+ sortableInitialized.value = true;
29
+ nextTick(() => {
30
+ const columnsTableBody = document.querySelector(`#${instance.name}_columns_table tbody`);
31
+ if (columnsTableBody) {
32
+ sortable.create(columnsTableBody, {
33
+ handle: '.sortHandle',
34
+ dragClass: 'tek-grid-columns-button-sortable-drag',
35
+ onEnd: sortEnd,
36
+ });
37
+ }
38
+ });
39
+ });
40
+ const gridGroupColumnNames = computed(() => {
41
+ return instance.iterableComponent.columns.filter((column) => column.grouped).map((column) => column.name) || [];
42
+ });
43
+ const sortEnd = (event) => {
44
+ const grid = instance.iterableComponent;
45
+ const newOrder = Array.from(event.srcElement.querySelectorAll('tr')).map((row) => row.getAttribute('name'));
46
+ const groupColumnNames = [];
47
+ const newColumns = newOrder.map((columnName) => {
48
+ const column = grid.getColumn(columnName);
49
+ if (column.grouped) {
50
+ groupColumnNames.push(columnName);
51
+ }
52
+ return column;
53
+ });
54
+ const ignoredColumns = grid.columns.filter((column) => instance.ignoreColumns.indexOf(column.name) !== -1);
55
+ grid.columns = newColumns.concat(ignoredColumns);
56
+ if (grid.updateGrouping && JSON.stringify(groupColumnNames) !== JSON.stringify(gridGroupColumnNames)) {
57
+ grid.updateGrouping();
58
+ }
59
+ grid.changeLayout();
60
+ };
61
+ const moreOptions = () => {
62
+ optionsModal.show(instance);
63
+ };
64
+ const close = () => {
65
+ menuIsOpened.value = false;
66
+ };
67
+ return {
68
+ ...buttonScope,
69
+ instance,
70
+ root,
71
+ menuIsOpened,
72
+ moreOptions,
73
+ close,
74
+ teste,
75
+ mergeProps,
76
+ };
77
+ },
78
+ });
79
+ export default tekGridColumnsButton;