admins-components 9.0.39 → 9.0.40

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 (236) hide show
  1. package/dist/admins-components.js +38 -38
  2. package/dist/admins-components100.js +3 -52
  3. package/dist/admins-components100.js.map +1 -1
  4. package/dist/admins-components101.js +3 -82
  5. package/dist/admins-components101.js.map +1 -1
  6. package/dist/admins-components102.js +49 -110
  7. package/dist/admins-components102.js.map +1 -1
  8. package/dist/admins-components103.js +80 -45
  9. package/dist/admins-components103.js.map +1 -1
  10. package/dist/admins-components104.js +108 -101
  11. package/dist/admins-components104.js.map +1 -1
  12. package/dist/admins-components105.js +41 -14
  13. package/dist/admins-components105.js.map +1 -1
  14. package/dist/admins-components106.js +105 -6
  15. package/dist/admins-components106.js.map +1 -1
  16. package/dist/admins-components107.js +16 -248
  17. package/dist/admins-components107.js.map +1 -1
  18. package/dist/admins-components108.js +7 -27
  19. package/dist/admins-components108.js.map +1 -1
  20. package/dist/admins-components109.js +247 -23
  21. package/dist/admins-components109.js.map +1 -1
  22. package/dist/admins-components110.js +26 -171
  23. package/dist/admins-components110.js.map +1 -1
  24. package/dist/admins-components111.js +25 -65
  25. package/dist/admins-components111.js.map +1 -1
  26. package/dist/admins-components112.js +163 -58
  27. package/dist/admins-components112.js.map +1 -1
  28. package/dist/admins-components113.js +65 -27
  29. package/dist/admins-components113.js.map +1 -1
  30. package/dist/admins-components114.js +63 -12
  31. package/dist/admins-components114.js.map +1 -1
  32. package/dist/admins-components115.js +29 -26
  33. package/dist/admins-components115.js.map +1 -1
  34. package/dist/admins-components116.js +16 -9
  35. package/dist/admins-components116.js.map +1 -1
  36. package/dist/admins-components117.js +26 -3
  37. package/dist/admins-components117.js.map +1 -1
  38. package/dist/admins-components118.js +8 -2
  39. package/dist/admins-components118.js.map +1 -1
  40. package/dist/admins-components119.js +4 -3
  41. package/dist/admins-components119.js.map +1 -1
  42. package/dist/admins-components120.js +3 -21
  43. package/dist/admins-components120.js.map +1 -1
  44. package/dist/admins-components121.js +3 -14
  45. package/dist/admins-components121.js.map +1 -1
  46. package/dist/admins-components122.js +20 -7
  47. package/dist/admins-components122.js.map +1 -1
  48. package/dist/admins-components123.js +14 -13
  49. package/dist/admins-components123.js.map +1 -1
  50. package/dist/admins-components124.js +8 -26
  51. package/dist/admins-components124.js.map +1 -1
  52. package/dist/admins-components125.js +12 -82
  53. package/dist/admins-components125.js.map +1 -1
  54. package/dist/admins-components126.js +24 -9
  55. package/dist/admins-components126.js.map +1 -1
  56. package/dist/admins-components127.js +82 -4
  57. package/dist/admins-components127.js.map +1 -1
  58. package/dist/admins-components128.js +11 -8
  59. package/dist/admins-components128.js.map +1 -1
  60. package/dist/admins-components129.js +4 -6
  61. package/dist/admins-components129.js.map +1 -1
  62. package/dist/admins-components130.js +8 -6
  63. package/dist/admins-components130.js.map +1 -1
  64. package/dist/admins-components131.js +6 -14
  65. package/dist/admins-components131.js.map +1 -1
  66. package/dist/admins-components132.js +4 -11
  67. package/dist/admins-components132.js.map +1 -1
  68. package/dist/admins-components133.js +15 -30
  69. package/dist/admins-components133.js.map +1 -1
  70. package/dist/admins-components134.js +13 -4
  71. package/dist/admins-components134.js.map +1 -1
  72. package/dist/admins-components135.js +30 -29
  73. package/dist/admins-components135.js.map +1 -1
  74. package/dist/admins-components136.js +4 -5
  75. package/dist/admins-components136.js.map +1 -1
  76. package/dist/admins-components137.js +29 -5
  77. package/dist/admins-components137.js.map +1 -1
  78. package/dist/admins-components138.js +4 -7
  79. package/dist/admins-components138.js.map +1 -1
  80. package/dist/admins-components139.js +4 -73
  81. package/dist/admins-components139.js.map +1 -1
  82. package/dist/admins-components140.js +7 -28
  83. package/dist/admins-components140.js.map +1 -1
  84. package/dist/admins-components141.js +73 -58
  85. package/dist/admins-components141.js.map +1 -1
  86. package/dist/admins-components142.js +29 -24
  87. package/dist/admins-components142.js.map +1 -1
  88. package/dist/admins-components143.js +56 -47
  89. package/dist/admins-components143.js.map +1 -1
  90. package/dist/admins-components144.js +23 -30
  91. package/dist/admins-components144.js.map +1 -1
  92. package/dist/admins-components145.js +50 -3
  93. package/dist/admins-components145.js.map +1 -1
  94. package/dist/admins-components146.js +29 -177
  95. package/dist/admins-components146.js.map +1 -1
  96. package/dist/admins-components147.js +3 -46
  97. package/dist/admins-components147.js.map +1 -1
  98. package/dist/admins-components148.js +177 -35
  99. package/dist/admins-components148.js.map +1 -1
  100. package/dist/admins-components149.js +41 -41
  101. package/dist/admins-components149.js.map +1 -1
  102. package/dist/admins-components150.js +32 -136
  103. package/dist/admins-components150.js.map +1 -1
  104. package/dist/admins-components151.js +42 -54
  105. package/dist/admins-components151.js.map +1 -1
  106. package/dist/admins-components152.js +140 -6
  107. package/dist/admins-components152.js.map +1 -1
  108. package/dist/admins-components153.js +57 -5
  109. package/dist/admins-components153.js.map +1 -1
  110. package/dist/admins-components154.js +6 -75
  111. package/dist/admins-components154.js.map +1 -1
  112. package/dist/admins-components155.js +5 -28
  113. package/dist/admins-components155.js.map +1 -1
  114. package/dist/admins-components156.js +74 -1929
  115. package/dist/admins-components156.js.map +1 -1
  116. package/dist/admins-components157.js +29 -24811
  117. package/dist/admins-components157.js.map +1 -1
  118. package/dist/admins-components158.js +1930 -8
  119. package/dist/admins-components158.js.map +1 -1
  120. package/dist/admins-components159.js +24809 -5
  121. package/dist/admins-components159.js.map +1 -0
  122. package/dist/admins-components160.js +8 -141
  123. package/dist/admins-components160.js.map +1 -1
  124. package/dist/admins-components161.js +7 -9
  125. package/dist/admins-components162.js +141 -8
  126. package/dist/admins-components162.js.map +1 -1
  127. package/dist/admins-components163.js +10 -0
  128. package/dist/{admins-components161.js.map → admins-components163.js.map} +1 -1
  129. package/dist/admins-components164.js +8 -167
  130. package/dist/admins-components164.js.map +1 -1
  131. package/dist/admins-components166.js +167 -8
  132. package/dist/admins-components166.js.map +1 -1
  133. package/dist/admins-components167.js +39 -38
  134. package/dist/admins-components167.js.map +1 -1
  135. package/dist/admins-components168.js +9 -6
  136. package/dist/admins-components168.js.map +1 -1
  137. package/dist/admins-components169.js +42 -72
  138. package/dist/admins-components169.js.map +1 -1
  139. package/dist/admins-components170.js +6 -58
  140. package/dist/admins-components170.js.map +1 -1
  141. package/dist/admins-components171.js +72 -51
  142. package/dist/admins-components171.js.map +1 -1
  143. package/dist/admins-components172.js +57 -8
  144. package/dist/admins-components172.js.map +1 -1
  145. package/dist/admins-components173.js +40 -33
  146. package/dist/admins-components173.js.map +1 -1
  147. package/dist/admins-components174.js +3 -3
  148. package/dist/admins-components174.js.map +1 -1
  149. package/dist/admins-components175.js +53 -0
  150. package/dist/admins-components175.js.map +1 -0
  151. package/dist/admins-components176.js +8 -57
  152. package/dist/admins-components176.js.map +1 -1
  153. package/dist/admins-components178.js +59 -0
  154. package/dist/admins-components178.js.map +1 -0
  155. package/dist/admins-components38.js +2 -2
  156. package/dist/admins-components38.js.map +1 -1
  157. package/dist/admins-components39.js.map +1 -1
  158. package/dist/admins-components58.js.map +1 -1
  159. package/dist/admins-components59.js +1 -13
  160. package/dist/admins-components59.js.map +1 -1
  161. package/dist/admins-components61.js +22 -22
  162. package/dist/admins-components61.js.map +1 -1
  163. package/dist/admins-components62.js.map +1 -1
  164. package/dist/admins-components63.js +69 -133
  165. package/dist/admins-components63.js.map +1 -1
  166. package/dist/admins-components64.js +5 -0
  167. package/dist/admins-components64.js.map +1 -0
  168. package/dist/admins-components65.js +118 -7
  169. package/dist/admins-components65.js.map +1 -1
  170. package/dist/admins-components67.js +8 -0
  171. package/dist/admins-components67.js.map +1 -0
  172. package/dist/admins-components68.js +145 -7
  173. package/dist/admins-components68.js.map +1 -1
  174. package/dist/admins-components70.js +7 -279
  175. package/dist/admins-components70.js.map +1 -1
  176. package/dist/{admins-components69.js.map → admins-components71.js.map} +1 -1
  177. package/dist/admins-components72.js +279 -6
  178. package/dist/admins-components72.js.map +1 -1
  179. package/dist/admins-components74.js +6 -126
  180. package/dist/admins-components74.js.map +1 -1
  181. package/dist/{admins-components73.js.map → admins-components75.js.map} +1 -1
  182. package/dist/admins-components76.js +126 -6
  183. package/dist/admins-components76.js.map +1 -1
  184. package/dist/admins-components78.js +6 -69
  185. package/dist/admins-components78.js.map +1 -1
  186. package/dist/admins-components79.js +55 -234
  187. package/dist/admins-components79.js.map +1 -1
  188. package/dist/admins-components80.js +70 -0
  189. package/dist/admins-components80.js.map +1 -0
  190. package/dist/admins-components81.js +238 -6
  191. package/dist/admins-components81.js.map +1 -1
  192. package/dist/admins-components83.js +7 -0
  193. package/dist/admins-components83.js.map +1 -0
  194. package/dist/admins-components84.js +229 -6
  195. package/dist/admins-components84.js.map +1 -1
  196. package/dist/admins-components86.js +7 -0
  197. package/dist/{admins-components82.js.map → admins-components86.js.map} +1 -1
  198. package/dist/admins-components87.js +37 -6
  199. package/dist/admins-components87.js.map +1 -1
  200. package/dist/admins-components89.js +7 -0
  201. package/dist/{admins-components85.js.map → admins-components89.js.map} +1 -1
  202. package/dist/admins-components90.js +199 -6
  203. package/dist/admins-components90.js.map +1 -1
  204. package/dist/admins-components92.js +6 -75
  205. package/dist/admins-components92.js.map +1 -1
  206. package/dist/{admins-components91.js.map → admins-components93.js.map} +1 -1
  207. package/dist/admins-components94.js +75 -6
  208. package/dist/admins-components94.js.map +1 -1
  209. package/dist/admins-components96.js +7 -0
  210. package/dist/admins-components96.js.map +1 -0
  211. package/dist/admins-components97.js +204 -6
  212. package/dist/admins-components97.js.map +1 -1
  213. package/dist/admins-components99.js +6 -3
  214. package/dist/admins-components99.js.map +1 -1
  215. package/dist/src/components/ConfirmModal.vue.d.ts +1 -1
  216. package/dist/src/components/data-table/DataListActions.vue.d.ts +8 -0
  217. package/dist/src/styles/components/modal.scss_vue_type_style_index_0_src_true_lang.css +1 -1
  218. package/dist/src/types/data-list.d.ts +5 -1
  219. package/package.json +1 -1
  220. package/dist/admins-components165.js +0 -52
  221. package/dist/admins-components165.js.map +0 -1
  222. package/dist/admins-components66.js +0 -171
  223. package/dist/admins-components66.js.map +0 -1
  224. package/dist/admins-components77.js +0 -60
  225. package/dist/admins-components77.js.map +0 -1
  226. package/dist/admins-components82.js +0 -230
  227. package/dist/admins-components85.js +0 -38
  228. package/dist/admins-components88.js +0 -200
  229. package/dist/admins-components88.js.map +0 -1
  230. package/dist/admins-components95.js +0 -205
  231. package/dist/admins-components95.js.map +0 -1
  232. package/dist/admins-components98.js +0 -4
  233. package/dist/admins-components98.js.map +0 -1
  234. /package/dist/{admins-components69.js → admins-components71.js} +0 -0
  235. /package/dist/{admins-components73.js → admins-components75.js} +0 -0
  236. /package/dist/{admins-components91.js → admins-components93.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components39.js","names":[],"sources":["../src/components/ConfirmModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ConfirmModalProps {\n title: string\n message: string\n confirmLabel?: string\n cancelLabel?: string\n type?: ButtonType\n}\n</script>\n\n<script setup lang=\"ts\">\nimport Modal from '@/components/Modal.vue'\nimport Button, { type ButtonType } from '@/components/Button.vue'\n\nwithDefaults(defineProps<ConfirmModalProps>(), {\n confirmLabel: 'Confirm',\n cancelLabel: 'Cancel',\n type: 'normal',\n})\n\nconst emit = defineEmits<{\n confirm: []\n cancel: []\n}>()\n</script>\n\n<template>\n <Modal :title=\"title\" @close=\"emit('cancel')\">\n <p class=\"c-confirm-modal-message\">{{ message }}</p>\n <template #footer>\n <Button :label=\"cancelLabel\" type=\"normal\" outline @click=\"emit('cancel')\" />\n <Button :label=\"confirmLabel\" :type=\"type\" @click=\"emit('confirm')\" />\n </template>\n </Modal>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components39.js","names":[],"sources":["../src/components/ConfirmModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ConfirmModalProps {\n title?: string\n message: string\n confirmLabel?: string\n cancelLabel?: string\n type?: ButtonType\n}\n</script>\n\n<script setup lang=\"ts\">\nimport Modal from '@/components/Modal.vue'\nimport Button, { type ButtonType } from '@/components/Button.vue'\n\nwithDefaults(defineProps<ConfirmModalProps>(), {\n confirmLabel: 'Rendben',\n cancelLabel: 'Mégse',\n type: 'normal',\n})\n\nconst emit = defineEmits<{\n confirm: []\n cancel: []\n}>()\n</script>\n\n<template>\n <Modal :title=\"title\" @close=\"emit('cancel')\">\n <p class=\"c-confirm-modal-message\">{{ message }}</p>\n <template #footer>\n <Button :label=\"cancelLabel\" type=\"normal\" outline @click=\"emit('cancel')\" />\n <Button :label=\"confirmLabel\" :type=\"type\" @click=\"emit('confirm')\" />\n </template>\n </Modal>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components58.js","names":[],"sources":["../src/types/data-list.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { DropdownOption } from '@/components/DropdownSelect.vue'\nimport type { PickedDate, PickedUtcRange } from '@/types/types'\nimport type { ButtonType } from '@/components/Button.vue'\n\nexport type FilterValue = string | PickedDate | PickedUtcRange | string[] | null | undefined\n\nexport interface FilterConfig {\n type: 'text' | 'date' | 'date-range' | 'select' | 'multi-select'\n key: string\n placeholder?: string\n options?: DropdownOption[]\n}\n\nexport type LayoutMode = 'table' | 'cards' | 'screen'\n\nexport interface DataTableSettings {\n striped: boolean\n compact: boolean\n}\n\nexport interface DataCardsSettings {\n compact: boolean\n}\n\nexport interface DataListSettings extends DataTableSettings, DataCardsSettings {\n layout: LayoutMode\n columns: Record<string, boolean>\n cardHeaderColumns: Record<string, boolean>\n columnOrder: string[]\n cardHeaderOrder: string[]\n}\n\nexport interface PageSettings {\n page: number\n pageSize: number\n}\n\nexport interface PaginatorSettings extends PageSettings {\n total: number\n}\n\nexport interface DataListConfig {\n selectableAttr?: string | undefined\n columns: Column[]\n\n actions?: Array<Action | ActionGroup> | undefined\n actionHeader?: string | undefined\n}\n\nexport type ColumnType = 'normal' | 'uuid' | 'date' | 'datetime'\n\nexport interface Column {\n visible?: boolean | undefined\n primary?: boolean | undefined\n label: string\n property: string\n sort?: undefined | Sort\n converter?: undefined | ((v: any, item: any) => any)\n type?: ColumnType\n class?: string | undefined\n headerClass?: string | undefined\n loading?: (() => boolean) | undefined\n}\n\nexport type SortDirection = 'asc' | 'desc' | null\n\nexport interface Sort {\n label: string\n active: Ref<boolean> | undefined\n direction?: Ref<SortDirection> | undefined\n callback: (property: string, direction: SortDirection) => any\n}\n\nexport interface Action {\n icon: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n type?: ButtonType\n config?: Record<string, any> | undefined\n disabled?: (item: any) => boolean\n callback: (item: any) => any\n}\n\nexport interface ActionGroup {\n isGroup: true\n icon?: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n config?: Record<string, any> | undefined\n items: Action[]\n disabled?: (item: any) => boolean\n}\n\nexport const dataTableSettingsDefaults: DataTableSettings = {\n striped: true,\n compact: false,\n}\n\nexport const dataCardsSettingsDefaults: DataCardsSettings = {\n compact: false,\n}\n\nexport const dataListSettingsDefaults: Partial<DataListSettings> = {\n layout: 'screen',\n compact: false,\n}\n"],"mappings":";AAgGA,IAAa,IAA+C;CAC1D,SAAS;CACT,SAAS;AACX,GAEa,IAA+C,EAC1D,SAAS,GACX,GAEa,IAAsD;CACjE,QAAQ;CACR,SAAS;AACX"}
1
+ {"version":3,"file":"admins-components58.js","names":[],"sources":["../src/types/data-list.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport type { DropdownOption } from '@/components/DropdownSelect.vue'\nimport type { PickedDate, PickedUtcRange } from '@/types/types'\nimport type { ButtonType } from '@/components/Button.vue'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\n\nexport type FilterValue = string | PickedDate | PickedUtcRange | string[] | null | undefined\n\nexport interface FilterConfig {\n type: 'text' | 'date' | 'date-range' | 'select' | 'multi-select'\n key: string\n placeholder?: string\n options?: DropdownOption[]\n}\n\nexport type LayoutMode = 'table' | 'cards' | 'screen'\n\nexport interface DataTableSettings {\n striped: boolean\n compact: boolean\n}\n\nexport interface DataCardsSettings {\n compact: boolean\n}\n\nexport interface DataListSettings extends DataTableSettings, DataCardsSettings {\n layout: LayoutMode\n columns: Record<string, boolean>\n cardHeaderColumns: Record<string, boolean>\n columnOrder: string[]\n cardHeaderOrder: string[]\n}\n\nexport interface PageSettings {\n page: number\n pageSize: number\n}\n\nexport interface PaginatorSettings extends PageSettings {\n total: number\n}\n\nexport interface DataListConfig {\n selectableAttr?: string | undefined\n columns: Column[]\n\n actions?: Array<Action | ActionGroup> | undefined\n actionHeader?: string | undefined\n}\n\nexport type ColumnType = 'normal' | 'uuid' | 'date' | 'datetime'\n\nexport interface Column {\n visible?: boolean | undefined\n primary?: boolean | undefined\n label: string\n property: string\n sort?: undefined | Sort\n type?: ColumnType\n class?: string | undefined\n headerClass?: string | undefined\n hideCopyToClipboard?: boolean | undefined\n\n converter?: undefined | ((v: any, item: any) => any)\n loading?: (() => boolean) | undefined\n}\n\nexport type SortDirection = 'asc' | 'desc' | null\n\nexport interface Sort {\n label: string\n active: Ref<boolean> | undefined\n direction?: Ref<SortDirection> | undefined\n callback: (property: string, direction: SortDirection) => any\n}\n\nexport interface Action {\n icon: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n type?: ButtonType\n config?: Record<string, any> | undefined\n disabled?: (item: any) => boolean\n callback: (item: any) => any\n confirm?: boolean\n confirmConfig?: ConfirmModalProps\n}\n\nexport interface ActionGroup {\n isGroup: true\n icon?: string\n label?: string\n ariaLabel?: string\n cardLabel?: string\n config?: Record<string, any> | undefined\n items: Action[]\n disabled?: (item: any) => boolean\n}\n\nexport const dataTableSettingsDefaults: DataTableSettings = {\n striped: true,\n compact: false,\n}\n\nexport const dataCardsSettingsDefaults: DataCardsSettings = {\n compact: false,\n}\n\nexport const dataListSettingsDefaults: Partial<DataListSettings> = {\n layout: 'screen',\n compact: false,\n}\n"],"mappings":";AAqGA,IAAa,IAA+C;CAC1D,SAAS;CACT,SAAS;AACX,GAEa,IAA+C,EAC1D,SAAS,GACX,GAEa,IAAsD;CACjE,QAAQ;CACR,SAAS;AACX"}
@@ -4,17 +4,5 @@ function e(e, t) {
4
4
  let n = e[t.property];
5
5
  return t.converter ? t.converter(n, e) : n;
6
6
  }
7
- function t(e) {
8
- return e.isGroup === !0 && Array.isArray(e.items);
9
- }
10
- function n(e, t) {
11
- return e.items.map((e) => ({
12
- icon: e.icon,
13
- label: e.label ?? "",
14
- type: e.type,
15
- size: e.label ? "small" : "normal",
16
- callback: () => e.callback(t)
17
- }));
18
- }
19
7
  //#endregion
20
- export { n as buildActionGroupMenuItems, e as getColumnValue, t as isActionGroup };
8
+ export { e as getColumnValue };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components59.js","names":[],"sources":["../src/utils/dataList.ts"],"sourcesContent":["import type { Column } from '@/types/data-list'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\nexport function getColumnValue(item: Record<string, unknown>, col: Column | undefined) {\n if (!col) return ''\n const value = (item as any)[col.property]\n return col.converter ? col.converter(value, item) : value\n}\n\nexport function isUuid(str: string): boolean {\n return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str)\n}\n\nexport function isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nexport function buildActionGroupMenuItems(\n group: ActionGroup,\n item: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => action.callback(item),\n }))\n}\n"],"mappings":";AAIA,SAAgB,EAAe,GAA+B,GAAyB;CACrF,IAAI,CAAC,GAAK,OAAO;CACjB,IAAM,IAAS,EAAa,EAAI;CAChC,OAAO,EAAI,YAAY,EAAI,UAAU,GAAO,CAAI,IAAI;AACtD;AAMA,SAAgB,EAAc,GAAmD;CAC/E,OAAQ,EAAsB,YAAY,MAAQ,MAAM,QAAS,EAAsB,KAAK;AAC9F;AAEA,SAAgB,EACd,GACA,GACoB;CACpB,OAAO,EAAM,MAAM,KAAK,OAAoB;EAC1C,MAAM,EAAO;EACb,OAAO,EAAO,SAAS;EACvB,MAAM,EAAO;EACb,MAAM,EAAO,QAAQ,UAAU;EAC/B,gBAAgB,EAAO,SAAS,CAAI;CACtC,EAAE;AACJ"}
1
+ {"version":3,"file":"admins-components59.js","names":[],"sources":["../src/utils/dataList.ts"],"sourcesContent":["import type { Column } from '@/types/data-list'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\nexport function getColumnValue(item: Record<string, unknown>, col: Column | undefined) {\n if (!col) return ''\n const value = (item as any)[col.property]\n return col.converter ? col.converter(value, item) : value\n}\n\nexport function isUuid(str: string): boolean {\n return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str)\n}\n\nexport function isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nexport function buildActionGroupMenuItems(\n group: ActionGroup,\n item: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => action.callback(item),\n }))\n}\n"],"mappings":";AAIA,SAAgB,EAAe,GAA+B,GAAyB;CACrF,IAAI,CAAC,GAAK,OAAO;CACjB,IAAM,IAAS,EAAa,EAAI;CAChC,OAAO,EAAI,YAAY,EAAI,UAAU,GAAO,CAAI,IAAI;AACtD"}
@@ -2,18 +2,18 @@ import e from "./admins-components42.js";
2
2
  import t from "./admins-components52.js";
3
3
  import { getColumnValue as n } from "./admins-components59.js";
4
4
  import { shortUuid as r } from "./admins-components60.js";
5
- import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, openBlock as d, resolveDirective as f, toDisplayString as p, withDirectives as m } from "vue";
5
+ import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, isVNode as d, openBlock as f, resolveDirective as p, resolveDynamicComponent as m, toDisplayString as h, withDirectives as g } from "vue";
6
6
  //#region src/components/data-table/DataCell.vue?vue&type=script&setup=true&lang.ts
7
- var h = {
7
+ var _ = {
8
8
  key: 0,
9
9
  class: "dc-loading"
10
- }, g = { key: 1 }, _ = ["innerHTML"], v = {
11
- key: 2,
10
+ }, v = { key: 2 }, y = ["innerHTML"], b = {
11
+ key: 3,
12
12
  class: "dc-datetime"
13
- }, y = { class: "dc-datetime__part" }, b = {
13
+ }, x = { class: "dc-datetime__part" }, S = {
14
14
  key: 0,
15
15
  class: "dc-datetime__sep"
16
- }, x = { class: "dc-datetime__part" }, S = { key: 3 }, C = ["innerHTML"], w = /* @__PURE__ */ u({
16
+ }, C = { class: "dc-datetime__part" }, w = { key: 4 }, T = ["innerHTML"], E = /* @__PURE__ */ u({
17
17
  __name: "DataCell",
18
18
  props: {
19
19
  item: {},
@@ -24,9 +24,9 @@ var h = {
24
24
  }
25
25
  },
26
26
  setup(u) {
27
- let w = u, T = i(() => n(w.item, w.col)), E = i(() => r()(T.value)), D = i(() => {
28
- if (w.col.type !== "datetime") return null;
29
- let e = T.value;
27
+ let E = u, D = i(() => n(E.item, E.col)), O = i(() => d(D.value)), k = i(() => r()(D.value)), A = i(() => {
28
+ if (E.col.type !== "datetime") return null;
29
+ let e = D.value;
30
30
  if (!e) return {
31
31
  date: "",
32
32
  time: ""
@@ -41,27 +41,27 @@ var h = {
41
41
  };
42
42
  });
43
43
  return (n, r) => {
44
- let i = f("tooltip");
45
- return u.col.loading?.() ? (d(), s("span", h, [l(t, {
44
+ let i = p("tooltip");
45
+ return u.col.loading?.() ? (f(), s("span", _, [l(t, {
46
46
  loading: !0,
47
47
  size: "1rem"
48
- })])) : u.col.type === "uuid" ? m((d(), s("span", g, [c("span", { innerHTML: E.value }, null, 8, _), u.copy && T.value ? (d(), a(e, {
48
+ })])) : O.value ? (f(), a(m(D.value), { key: 1 })) : u.col.type === "uuid" ? g((f(), s("span", v, [c("span", { innerHTML: k.value }, null, 8, y), u.copy && D.value ? (f(), a(e, {
49
49
  key: 0,
50
- value: T.value
51
- }, null, 8, ["value"])) : o("", !0)])), [[i, T.value]]) : u.col.type === "datetime" ? (d(), s("span", v, [
52
- c("span", y, p(D.value?.date), 1),
53
- D.value?.time ? (d(), s("span", b)) : o("", !0),
54
- c("span", x, p(D.value?.time), 1),
55
- u.copy && T.value ? (d(), a(e, {
50
+ value: D.value
51
+ }, null, 8, ["value"])) : o("", !0)])), [[i, D.value]]) : u.col.type === "datetime" ? (f(), s("span", b, [
52
+ c("span", x, h(A.value?.date), 1),
53
+ A.value?.time ? (f(), s("span", S)) : o("", !0),
54
+ c("span", C, h(A.value?.time), 1),
55
+ u.copy && D.value ? (f(), a(e, {
56
56
  key: 1,
57
- value: T.value
57
+ value: D.value
58
58
  }, null, 8, ["value"])) : o("", !0)
59
- ])) : (d(), s("span", S, [c("span", { innerHTML: T.value }, null, 8, C), u.copy && T.value ? (d(), a(e, {
59
+ ])) : (f(), s("span", w, [c("span", { innerHTML: D.value }, null, 8, T), u.copy && D.value ? (f(), a(e, {
60
60
  key: 0,
61
- value: T.value
61
+ value: D.value
62
62
  }, null, 8, ["value"])) : o("", !0)]));
63
63
  };
64
64
  }
65
65
  });
66
66
  //#endregion
67
- export { w as default };
67
+ export { E as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components61.js","names":[],"sources":["../src/components/data-table/DataCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Column } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { computed } from 'vue'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n item: Record<string, unknown>\n col: Column\n copy?: boolean\n }>(),\n {\n copy: true,\n },\n)\n\nconst columnValue = computed<string>(() => getColumnValue(props.item, props.col))\n\nconst uuIdValue = computed(() => {\n return shortUuid()(columnValue.value)\n})\n\nconst datetimeParts = computed<{ date: string; time: string } | null>(() => {\n if (props.col.type !== 'datetime') return null\n const value = columnValue.value\n if (!value) return { date: '', time: '' }\n const spaceIdx = value.indexOf(' ')\n if (spaceIdx === -1) return { date: value, time: '' }\n return {\n date: value.slice(0, spaceIdx),\n time: value.slice(spaceIdx + 1),\n }\n})\n</script>\n<template>\n <span v-if=\"col.loading?.()\" class=\"dc-loading\">\n <Loader :loading=\"true\" size=\"1rem\" />\n </span>\n <span v-else-if=\"col.type === 'uuid'\" v-tooltip=\"columnValue\">\n <span v-html=\"uuIdValue\"></span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else-if=\"col.type === 'datetime'\" class=\"dc-datetime\">\n <span class=\"dc-datetime__part\">{{ datetimeParts?.date }}</span\n ><span v-if=\"datetimeParts?.time\" class=\"dc-datetime__sep\"> </span\n ><span class=\"dc-datetime__part\">{{ datetimeParts?.time }}</span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else\n ><span v-html=\"columnValue\"></span\n ><CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAQA,IAAM,IAAQ,GAWR,IAAc,QAAuB,EAAe,EAAM,MAAM,EAAM,GAAG,CAAC,GAE1E,IAAY,QACT,EAAU,EAAE,EAAY,KAAK,CACrC,GAEK,IAAgB,QAAsD;GAC1E,IAAI,EAAM,IAAI,SAAS,YAAY,OAAO;GAC1C,IAAM,IAAQ,EAAY;GAC1B,IAAI,CAAC,GAAO,OAAO;IAAE,MAAM;IAAI,MAAM;GAAG;GACxC,IAAM,IAAW,EAAM,QAAQ,GAAG;GAElC,OADI,MAAa,KAAW;IAAE,MAAM;IAAO,MAAM;GAAG,IAC7C;IACL,MAAM,EAAM,MAAM,GAAG,CAAQ;IAC7B,MAAM,EAAM,MAAM,IAAW,CAAC;GAChC;EACF,CAAC;;;UAGa,EAAA,IAAI,UAAO,KAAA,EAAA,GAAvB,EAEO,QAFP,GAEO,CADL,EAAsC,GAAA;IAA7B,SAAS;IAAM,MAAK;WAEd,EAAA,IAAI,SAAI,SAAA,GAAA,EAAA,GAAzB,EAGO,QAAA,GAAA,CAFL,EAAgC,QAAA,EAA1B,WAAQ,EAAA,MAAS,GAAA,MAAA,GAAA,CAAA,GACA,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;IAAtB,OAAO,EAAA;gDAFL,EAAA,KAAW,CAAA,CAAA,IAI3C,EAAA,IAAI,SAAI,cAAA,EAAA,GAAzB,EAKO,QALP,GAKO;IAJL,EACC,QADD,GACC,EADkC,EAAA,OAAe,IAAI,GAAA,CAAA;IACzC,EAAA,OAAe,QAAA,EAAA,GAA3B,EACA,QADA,CACA,KAAA,EAAA,IAAA,EAAA;IAAA,EAAgE,QAAhE,GAAgE,EAA7B,EAAA,OAAe,IAAI,GAAA,CAAA;IAChC,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;KAAtB,OAAO,EAAA;;eAEtD,EAGO,QAAA,GAAA,CAFJ,EACA,QAAA,EADM,WAAQ,EAAA,MAAW,GAAA,MAAA,GAAA,CAAA,GACF,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;IAAtB,OAAO,EAAA"}
1
+ {"version":3,"file":"admins-components61.js","names":[],"sources":["../src/components/data-table/DataCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Column } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { computed, isVNode, type VNode } from 'vue'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n item: Record<string, unknown>\n col: Column\n copy?: boolean\n }>(),\n {\n copy: true,\n },\n)\n\nconst columnValue = computed<string | VNode>(() => getColumnValue(props.item, props.col))\nconst isVnodeValue = computed(() => isVNode(columnValue.value))\n\nconst uuIdValue = computed(() => {\n return shortUuid()(columnValue.value as string)\n})\n\nconst datetimeParts = computed<{ date: string; time: string } | null>(() => {\n if (props.col.type !== 'datetime') return null\n const value = columnValue.value as string\n if (!value) return { date: '', time: '' }\n const spaceIdx = value.indexOf(' ')\n if (spaceIdx === -1) return { date: value, time: '' }\n return {\n date: value.slice(0, spaceIdx),\n time: value.slice(spaceIdx + 1),\n }\n})\n</script>\n<template>\n <span v-if=\"col.loading?.()\" class=\"dc-loading\">\n <Loader :loading=\"true\" size=\"1rem\" />\n </span>\n\n <component :is=\"columnValue\" v-else-if=\"isVnodeValue\" />\n\n <span v-else-if=\"col.type === 'uuid'\" v-tooltip=\"columnValue\">\n <span v-html=\"uuIdValue\"></span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else-if=\"col.type === 'datetime'\" class=\"dc-datetime\">\n <span class=\"dc-datetime__part\">{{ datetimeParts?.date }}</span\n ><span v-if=\"datetimeParts?.time\" class=\"dc-datetime__sep\"> </span\n ><span class=\"dc-datetime__part\">{{ datetimeParts?.time }}</span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n\n <span v-else\n ><span v-html=\"columnValue\"></span\n ><CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAQA,IAAM,IAAQ,GAWR,IAAc,QAA+B,EAAe,EAAM,MAAM,EAAM,GAAG,CAAC,GAClF,IAAe,QAAe,EAAQ,EAAY,KAAK,CAAC,GAExD,IAAY,QACT,EAAU,EAAE,EAAY,KAAe,CAC/C,GAEK,IAAgB,QAAsD;GAC1E,IAAI,EAAM,IAAI,SAAS,YAAY,OAAO;GAC1C,IAAM,IAAQ,EAAY;GAC1B,IAAI,CAAC,GAAO,OAAO;IAAE,MAAM;IAAI,MAAM;GAAG;GACxC,IAAM,IAAW,EAAM,QAAQ,GAAG;GAElC,OADI,MAAa,KAAW;IAAE,MAAM;IAAO,MAAM;GAAG,IAC7C;IACL,MAAM,EAAM,MAAM,GAAG,CAAQ;IAC7B,MAAM,EAAM,MAAM,IAAW,CAAC;GAChC;EACF,CAAC;;;UAGa,EAAA,IAAI,UAAO,KAAA,EAAA,GAAvB,EAEO,QAFP,GAEO,CADL,EAAsC,GAAA;IAA7B,SAAS;IAAM,MAAK;WAGS,EAAA,SAAA,EAAA,GAAxC,EAAwD,EAAxC,EAAA,KAAW,GAAA,EAAA,KAAA,EAAA,CAAA,KAEV,EAAA,IAAI,SAAI,SAAA,GAAA,EAAA,GAAzB,EAGO,QAAA,GAAA,CAFL,EAAgC,QAAA,EAA1B,WAAQ,EAAA,MAAS,GAAA,MAAA,GAAA,CAAA,GACA,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;IAAtB,OAAO,EAAA;gDAFL,EAAA,KAAW,CAAA,CAAA,IAI3C,EAAA,IAAI,SAAI,cAAA,EAAA,GAAzB,EAKO,QALP,GAKO;IAJL,EACC,QADD,GACC,EADkC,EAAA,OAAe,IAAI,GAAA,CAAA;IACzC,EAAA,OAAe,QAAA,EAAA,GAA3B,EACA,QADA,CACA,KAAA,EAAA,IAAA,EAAA;IAAA,EAAgE,QAAhE,GAAgE,EAA7B,EAAA,OAAe,IAAI,GAAA,CAAA;IAChC,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;KAAtB,OAAO,EAAA;;eAGtD,EAGO,QAAA,GAAA,CAFJ,EACA,QAAA,EADM,WAAQ,EAAA,MAAW,GAAA,MAAA,GAAA,CAAA,GACF,EAAA,QAAQ,EAAA,SAAA,EAAA,GAA/B,EAAmE,GAAA;;IAAtB,OAAO,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components62.js","names":[],"sources":["../src/components/data-table/DataCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Column } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { computed } from 'vue'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n item: Record<string, unknown>\n col: Column\n copy?: boolean\n }>(),\n {\n copy: true,\n },\n)\n\nconst columnValue = computed<string>(() => getColumnValue(props.item, props.col))\n\nconst uuIdValue = computed(() => {\n return shortUuid()(columnValue.value)\n})\n\nconst datetimeParts = computed<{ date: string; time: string } | null>(() => {\n if (props.col.type !== 'datetime') return null\n const value = columnValue.value\n if (!value) return { date: '', time: '' }\n const spaceIdx = value.indexOf(' ')\n if (spaceIdx === -1) return { date: value, time: '' }\n return {\n date: value.slice(0, spaceIdx),\n time: value.slice(spaceIdx + 1),\n }\n})\n</script>\n<template>\n <span v-if=\"col.loading?.()\" class=\"dc-loading\">\n <Loader :loading=\"true\" size=\"1rem\" />\n </span>\n <span v-else-if=\"col.type === 'uuid'\" v-tooltip=\"columnValue\">\n <span v-html=\"uuIdValue\"></span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else-if=\"col.type === 'datetime'\" class=\"dc-datetime\">\n <span class=\"dc-datetime__part\">{{ datetimeParts?.date }}</span\n ><span v-if=\"datetimeParts?.time\" class=\"dc-datetime__sep\"> </span\n ><span class=\"dc-datetime__part\">{{ datetimeParts?.time }}</span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else\n ><span v-html=\"columnValue\"></span\n ><CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components62.js","names":[],"sources":["../src/components/data-table/DataCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Column } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { computed, isVNode, type VNode } from 'vue'\nimport { shortUuid } from '@/utils/dataListConverters'\n\nconst props = withDefaults(\n defineProps<{\n item: Record<string, unknown>\n col: Column\n copy?: boolean\n }>(),\n {\n copy: true,\n },\n)\n\nconst columnValue = computed<string | VNode>(() => getColumnValue(props.item, props.col))\nconst isVnodeValue = computed(() => isVNode(columnValue.value))\n\nconst uuIdValue = computed(() => {\n return shortUuid()(columnValue.value as string)\n})\n\nconst datetimeParts = computed<{ date: string; time: string } | null>(() => {\n if (props.col.type !== 'datetime') return null\n const value = columnValue.value as string\n if (!value) return { date: '', time: '' }\n const spaceIdx = value.indexOf(' ')\n if (spaceIdx === -1) return { date: value, time: '' }\n return {\n date: value.slice(0, spaceIdx),\n time: value.slice(spaceIdx + 1),\n }\n})\n</script>\n<template>\n <span v-if=\"col.loading?.()\" class=\"dc-loading\">\n <Loader :loading=\"true\" size=\"1rem\" />\n </span>\n\n <component :is=\"columnValue\" v-else-if=\"isVnodeValue\" />\n\n <span v-else-if=\"col.type === 'uuid'\" v-tooltip=\"columnValue\">\n <span v-html=\"uuIdValue\"></span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n <span v-else-if=\"col.type === 'datetime'\" class=\"dc-datetime\">\n <span class=\"dc-datetime__part\">{{ datetimeParts?.date }}</span\n ><span v-if=\"datetimeParts?.time\" class=\"dc-datetime__sep\"> </span\n ><span class=\"dc-datetime__part\">{{ datetimeParts?.time }}</span>\n <CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n\n <span v-else\n ><span v-html=\"columnValue\"></span\n ><CopyToClipboard v-if=\"copy && columnValue\" :value=\"columnValue\" />\n </span>\n</template>\n"],"mappings":""}
@@ -1,140 +1,76 @@
1
1
  import e from "./admins-components6.js";
2
- import t from "./admins-components19.js";
3
- import n from "./admins-components27.js";
4
- import r from "./admins-components52.js";
5
- import { useSelection as i } from "./admins-components57.js";
6
- import { dataTableSettingsDefaults as a } from "./admins-components58.js";
7
- import { buildActionGroupMenuItems as o, isActionGroup as s } from "./admins-components59.js";
8
- import c from "./admins-components62.js";
9
- import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createTextVNode as h, createVNode as g, defineComponent as _, mergeProps as v, normalizeClass as y, normalizeStyle as b, openBlock as x, ref as S, renderList as C, toDisplayString as w, unref as T, withModifiers as E } from "vue";
10
- //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
11
- var D = { class: "ac-component" }, O = { class: "c-table-wrapper" }, k = { key: 0 }, A = ["onClick"], j = {
12
- key: 1,
13
- class: "c-actions-header"
14
- }, M = { key: 0 }, N = ["onClick"], P = {
15
- key: 1,
16
- class: "c-actions-cell"
17
- }, F = { class: "c-actions-wrap" }, I = { key: 1 }, L = { class: "c-table__loading-row" }, R = ["colspan"], z = { class: "c-table__loading-wrap" }, B = {
18
- key: 0,
19
- class: "c-table__backdrop",
20
- "aria-hidden": "true"
21
- }, V = /* @__PURE__ */ _({
22
- __name: "DataTable",
2
+ import t from "./admins-components27.js";
3
+ import n from "./admins-components39.js";
4
+ import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, defineComponent as s, mergeProps as c, openBlock as l, ref as u, renderList as d } from "vue";
5
+ //#region src/components/data-table/DataListActions.vue?vue&type=script&setup=true&lang.ts
6
+ var f = /* @__PURE__ */ s({
7
+ __name: "DataListActions",
23
8
  props: {
24
- config: {},
25
- items: {},
26
- settings: { default: () => ({ ...a }) },
27
- loading: {
28
- type: Boolean,
29
- default: !1
30
- }
9
+ actions: {},
10
+ item: {}
31
11
  },
32
- emits: ["selection-change", "sort-change"],
33
- setup(a, { emit: _ }) {
34
- let V = a, H = _, U = S(null), { selectedKeys: W, allSelected: G, toggle: K, toggleAll: q } = i(() => V.items, () => V.config.selectableAttr, (e) => H("selection-change", e)), J = u(() => V.config.columns.filter((e) => e.visible !== !1));
35
- function Y(e) {
36
- let t = U.value?.key === e && U.value.direction === "asc" ? "desc" : "asc";
37
- U.value = {
38
- key: e,
39
- direction: t
40
- }, H("sort-change", {
41
- key: e,
42
- direction: t
43
- });
12
+ setup(s) {
13
+ let f = u(null);
14
+ function p(e) {
15
+ return e.confirmConfig ?? {
16
+ title: e.label ?? "Megerősítés",
17
+ message: "Biztosan végrehajta a műveletet?",
18
+ type: e.type
19
+ };
20
+ }
21
+ function m(e, t) {
22
+ e.confirm ? f.value = {
23
+ action: e,
24
+ item: t
25
+ } : e.callback(t);
26
+ }
27
+ function h() {
28
+ f.value &&= (f.value.action.callback(f.value.item), null);
29
+ }
30
+ function g(e) {
31
+ return e.isGroup === !0 && Array.isArray(e.items);
32
+ }
33
+ function _(e, t) {
34
+ return e.items.map((e) => ({
35
+ icon: e.icon,
36
+ label: e.label ?? "",
37
+ type: e.type,
38
+ size: e.label ? "small" : "normal",
39
+ callback: () => m(e, t)
40
+ }));
44
41
  }
45
- return (i, u) => (x(), p("div", D, [m("div", O, [m("table", {
46
- class: y(["c-table", {
47
- "is-compact": a.settings.compact,
48
- "is-loading": a.loading
49
- }]),
50
- style: b({ "--action-count": a.config.actions?.length ?? 0 })
51
- }, [m("thead", null, [m("tr", null, [
52
- a.config.selectableAttr ? (x(), p("th", k, [g(t, {
53
- "model-value": T(G),
54
- "onUpdate:modelValue": T(q)
55
- }, null, 8, ["model-value", "onUpdate:modelValue"])])) : f("", !0),
56
- (x(!0), p(l, null, C(J.value, (e) => (x(), p("th", {
57
- key: e.property,
58
- class: y({
59
- "c-sortable": e.sort,
60
- "c-sortable--sorted": U.value?.key === e.property,
61
- "primary-col": e.primary
62
- }),
63
- onClick: (t) => e.sort ? Y(e.property) : void 0
64
- }, [h(w(e.label) + " ", 1), e.sort ? (x(), p("span", {
65
- key: 0,
66
- class: y(["c-sort-icon fa-solid", {
67
- "fa-sort": U.value?.key !== e.property,
68
- "fa-sort-down": U.value?.key === e.property && U.value.direction === "desc",
69
- "fa-sort-up": U.value?.key === e.property && U.value.direction === "asc",
70
- "c-sort-icon--active": U.value?.key === e.property,
71
- "is-asc": U.value?.key === e.property && U.value.direction === "asc",
72
- "is-desc": U.value?.key === e.property && U.value.direction === "desc"
73
- }])
74
- }, null, 2)) : f("", !0)], 10, A))), 128)),
75
- a.config.actions ? (x(), p("th", j, w(a.config.actionHeader ?? ""), 1)) : f("", !0)
76
- ])]), !a.loading || a.items.length > 0 ? (x(), p("tbody", M, [(x(!0), p(l, null, C(a.items, (r, i) => (x(), p("tr", {
77
- key: i,
78
- class: y({
79
- "is-selected": a.config.selectableAttr && T(W).has(r[a.config.selectableAttr]),
80
- "is-striped": a.settings.striped && i % 2 == 1
81
- })
82
- }, [
83
- a.config.selectableAttr ? (x(), p("td", {
84
- key: 0,
85
- class: "pointer",
86
- onClick: E((e) => T(K)(r), ["stop"])
87
- }, [g(t, {
88
- "model-value": !!T(W).has(r[a.config.selectableAttr]),
89
- "onUpdate:modelValue": (e) => T(K)(r),
90
- onClick: u[0] ||= E(() => {}, ["stop"])
91
- }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, N)) : f("", !0),
92
- (x(!0), p(l, null, C(J.value, (e) => (x(), p("td", {
93
- key: e.property,
94
- class: y(["c-table__cell", [e.class, { "primary-col": e.primary }]])
95
- }, [g(c, {
96
- item: r,
97
- col: e
98
- }, null, 8, ["item", "col"])], 2))), 128)),
99
- a.config.actions ? (x(), p("td", P, [m("div", F, [(x(!0), p(l, null, C(a.config.actions, (t, i) => (x(), p(l, { key: i }, [T(s)(t) ? (x(), d(n, v({
100
- key: 0,
101
- icon: t.icon,
102
- label: t.label,
103
- items: T(o)(t, r)
104
- }, { ref_for: !0 }, t.config), null, 16, [
105
- "icon",
106
- "label",
107
- "items"
108
- ])) : (x(), d(e, v({
109
- key: 1,
110
- icon: t.icon,
111
- label: t.label,
112
- type: t.type,
113
- disabled: t.disabled ? t.disabled(r) : !1,
114
- size: t.label ? "small" : "normal",
115
- ariaLabel: t.ariaLabel,
116
- outline: "",
117
- callback: () => t.callback(r)
118
- }, { ref_for: !0 }, t.config), null, 16, [
119
- "icon",
120
- "label",
121
- "type",
122
- "disabled",
123
- "size",
124
- "ariaLabel",
125
- "callback"
126
- ]))], 64))), 128))])])) : f("", !0)
127
- ], 2))), 128))])) : (x(), p("tbody", I, [m("tr", L, [m("td", {
128
- colspan: J.value.length + +!!a.config.selectableAttr + +!!a.config.actions,
129
- class: "c-table__loading-cell"
130
- }, [m("div", z, [g(r, {
131
- loading: !0,
132
- size: "2.5rem"
133
- })])], 8, R)])]))], 6), a.loading && a.items.length > 0 ? (x(), p("div", B, [g(r, {
134
- loading: !0,
135
- size: "2.5rem"
136
- })])) : f("", !0)])]));
42
+ return (u, v) => (l(), o(r, null, [(l(!0), o(r, null, d(s.actions, (n, a) => (l(), o(r, { key: a }, [g(n) ? (l(), i(t, c({
43
+ key: 0,
44
+ icon: n.icon,
45
+ label: n.label,
46
+ items: _(n, s.item)
47
+ }, { ref_for: !0 }, n.config), null, 16, [
48
+ "icon",
49
+ "label",
50
+ "items"
51
+ ])) : (l(), i(e, c({
52
+ key: 1,
53
+ icon: n.icon,
54
+ label: n.label,
55
+ type: n.type,
56
+ disabled: n.disabled ? n.disabled(s.item) : !1,
57
+ size: n.label ? "small" : "normal",
58
+ ariaLabel: n.ariaLabel,
59
+ outline: "",
60
+ callback: () => m(n, s.item)
61
+ }, { ref_for: !0 }, n.config), null, 16, [
62
+ "icon",
63
+ "label",
64
+ "type",
65
+ "disabled",
66
+ "size",
67
+ "ariaLabel",
68
+ "callback"
69
+ ]))], 64))), 128)), f.value ? (l(), i(n, c({ key: 0 }, p(f.value.action), {
70
+ onConfirm: h,
71
+ onCancel: v[0] ||= (e) => f.value = null
72
+ }), null, 16)) : a("", !0)], 64));
137
73
  }
138
74
  });
139
75
  //#endregion
140
- export { V as default };
76
+ export { f as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components63.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-table-wrapper\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <Checkbox :model-value=\"allSelected\" @update:model-value=\"toggleAll\" />\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down':\n activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n { 'primary-col': col.primary },\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components63.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n return action.confirmConfig ?? {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.confirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n }))\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;EAcA,IAAM,IAAgB,EAGZ,IAAI;EAEd,SAAS,EAAiB,GAAmC;GAC3D,OAAO,EAAO,iBAAiB;IAC7B,OAAO,EAAO,SAAS;IACvB,SAAS;IACT,MAAM,EAAO;GACf;EACF;EAEA,SAAS,EAAc,GAAgB,GAAgC;GACrE,AAAI,EAAO,UACT,EAAc,QAAQ;IAAE;IAAQ;GAAK,IAErC,EAAO,SAAS,CAAI;EAExB;EAEA,SAAS,IAAgB;GACvB,AAEE,EAAc,WADd,EAAc,MAAM,OAAO,SAAS,EAAc,MAAM,IAAI,GACtC;EAE1B;EAEA,SAAS,EAAc,GAAmD;GACxE,OAAQ,EAAsB,YAAY,MAAQ,MAAM,QAAS,EAAsB,KAAK;EAC9F;EAEA,SAAS,EACP,GACA,GACoB;GACpB,OAAO,EAAM,MAAM,KAAK,OAAoB;IAC1C,MAAM,EAAO;IACb,OAAO,EAAO,SAAS;IACvB,MAAM,EAAO;IACb,MAAM,EAAO,QAAQ,UAAU;IAC/B,gBAAgB,EAAc,GAAQ,CAAI;GAC5C,EAAE;EACJ;6CAIE,EAqBW,GAAA,MAAA,EArBsB,EAAA,UAAf,GAAQ,wBAAsB,EAAE,GAAA,CAExC,EAAc,CAAM,KAAA,EAAA,GAD5B,EAME,GANF,EAME;;GAJC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,OAAO,EAA0B,GAAQ,EAAA,IAAI;sBACtC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;EAAA,CAAA,MAAA,EAAA,GAGvB,EAWE,GAXF,EAWE;;GATC,MAAM,EAAO;GACb,OAAO,EAAO;GACd,MAAM,EAAO;GACb,UAAU,EAAO,WAAW,EAAO,SAAS,EAAA,IAAI,IAAA;GAChD,MAAM,EAAO,QAAK,UAAA;GAClB,WAAW,EAAO;GACnB,SAAA;GACC,gBAAgB,EAAc,GAAQ,EAAA,IAAI;sBACnC,EAAO,MAAM,GAAA,MAAA,IAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;GAAA;EAAA,CAAA,EAAA,GAAA,EAAA,YAKjB,EAAA,SAAA,EAAA,GADR,EAKE,GALF,EAKE,EAAA,KAAA,EAAA,GAHQ,EAAiB,EAAA,MAAc,MAAM,GAAA;GAC5C,WAAS;GACT,UAAM,AAAA,EAAA,QAAA,MAAE,EAAA,QAAa"}
@@ -0,0 +1,5 @@
1
+ import e from "./admins-components63.js";
2
+ //#region src/components/data-table/DataListActions.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admins-components64.js","names":[],"sources":["../src/components/data-table/DataListActions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport type { Action, ActionGroup } from '@/types/data-list'\nimport type { ConfirmModalProps } from '@/components/ConfirmModal.vue'\nimport Button from '@/components/Button.vue'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport ConfirmModal from '@/components/ConfirmModal.vue'\nimport type { DropdownMenuItem } from '@/components/DropdownMenu.vue'\n\ndefineProps<{\n actions: Array<Action | ActionGroup>\n item?: Record<string, unknown>\n}>()\n\nconst activeConfirm = ref<{\n action: Action\n item?: Record<string, unknown>\n} | null>(null)\n\nfunction getConfirmConfig(action: Action): ConfirmModalProps {\n return action.confirmConfig ?? {\n title: action.label ?? 'Megerősítés',\n message: 'Biztosan végrehajta a műveletet?',\n type: action.type,\n }\n}\n\nfunction handleOnClick(action: Action, item?: Record<string, unknown>) {\n if (action.confirm) {\n activeConfirm.value = { action, item }\n } else {\n action.callback(item)\n }\n}\n\nfunction handleConfirm() {\n if (activeConfirm.value) {\n activeConfirm.value.action.callback(activeConfirm.value.item)\n activeConfirm.value = null\n }\n}\n\nfunction isActionGroup(entry: Action | ActionGroup): entry is ActionGroup {\n return (entry as ActionGroup).isGroup === true && Array.isArray((entry as ActionGroup).items)\n}\n\nfunction buildActionGroupMenuItems(\n group: ActionGroup,\n item?: Record<string, unknown>,\n): DropdownMenuItem[] {\n return group.items.map((action: Action) => ({\n icon: action.icon,\n label: action.label ?? '',\n type: action.type,\n size: action.label ? 'small' : 'normal',\n callback: () => handleOnClick(action, item),\n }))\n}\n</script>\n\n<template>\n <template v-for=\"(action, ai) in actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => handleOnClick(action, item)\"\n v-bind=\"action.config\"\n />\n </template>\n\n <ConfirmModal\n v-if=\"activeConfirm\"\n v-bind=\"getConfirmConfig(activeConfirm.action)\"\n @confirm=\"handleConfirm\"\n @cancel=\"activeConfirm = null\"\n />\n</template>\n"],"mappings":""}
@@ -1,8 +1,119 @@
1
- import './src/styles/components/data-table/data-table.scss_vue_type_style_index_0_src_true_lang.css';
2
- import "./admins-components58.js";
3
- import e from "./admins-components63.js";
4
- /* empty css */
5
- //#region src/components/data-table/DataTable.vue
6
- var t = e;
1
+ import e from "./admins-components19.js";
2
+ import t from "./admins-components52.js";
3
+ import { useSelection as n } from "./admins-components57.js";
4
+ import { dataTableSettingsDefaults as r } from "./admins-components58.js";
5
+ import i from "./admins-components62.js";
6
+ import a from "./admins-components64.js";
7
+ import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, normalizeClass as m, normalizeStyle as h, openBlock as g, ref as _, renderList as v, toDisplayString as y, unref as b, withModifiers as x } from "vue";
8
+ //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
9
+ var S = { class: "ac-component" }, C = { class: "c-table-wrapper" }, w = { key: 0 }, T = ["onClick"], E = {
10
+ key: 1,
11
+ class: "c-actions-header"
12
+ }, D = { key: 0 }, O = ["onClick"], k = {
13
+ key: 1,
14
+ class: "c-actions-cell"
15
+ }, A = { class: "c-actions-wrap" }, j = { key: 1 }, M = { class: "c-table__loading-row" }, N = ["colspan"], P = { class: "c-table__loading-wrap" }, F = {
16
+ key: 0,
17
+ class: "c-table__backdrop",
18
+ "aria-hidden": "true"
19
+ }, I = /* @__PURE__ */ p({
20
+ __name: "DataTable",
21
+ props: {
22
+ config: {},
23
+ items: {},
24
+ settings: { default: () => ({ ...r }) },
25
+ loading: {
26
+ type: Boolean,
27
+ default: !1
28
+ }
29
+ },
30
+ emits: ["selection-change", "sort-change"],
31
+ setup(r, { emit: p }) {
32
+ let I = r, L = p, R = _(null), { selectedKeys: z, allSelected: B, toggle: V, toggleAll: H } = n(() => I.items, () => I.config.selectableAttr, (e) => L("selection-change", e)), U = s(() => I.config.columns.filter((e) => e.visible !== !1));
33
+ function W(e) {
34
+ let t = R.value?.key === e && R.value.direction === "asc" ? "desc" : "asc";
35
+ R.value = {
36
+ key: e,
37
+ direction: t
38
+ }, L("sort-change", {
39
+ key: e,
40
+ direction: t
41
+ });
42
+ }
43
+ return (n, s) => (g(), l("div", S, [u("div", C, [u("table", {
44
+ class: m(["c-table", {
45
+ "is-compact": r.settings.compact,
46
+ "is-loading": r.loading
47
+ }]),
48
+ style: h({ "--action-count": r.config.actions?.length ?? 0 })
49
+ }, [u("thead", null, [u("tr", null, [
50
+ r.config.selectableAttr ? (g(), l("th", w, [f(e, {
51
+ "model-value": b(B),
52
+ "onUpdate:modelValue": b(H)
53
+ }, null, 8, ["model-value", "onUpdate:modelValue"])])) : c("", !0),
54
+ (g(!0), l(o, null, v(U.value, (e) => (g(), l("th", {
55
+ key: e.property,
56
+ class: m({
57
+ "c-sortable": e.sort,
58
+ "c-sortable--sorted": R.value?.key === e.property,
59
+ "primary-col": e.primary
60
+ }),
61
+ onClick: (t) => e.sort ? W(e.property) : void 0
62
+ }, [d(y(e.label) + " ", 1), e.sort ? (g(), l("span", {
63
+ key: 0,
64
+ class: m(["c-sort-icon fa-solid", {
65
+ "fa-sort": R.value?.key !== e.property,
66
+ "fa-sort-down": R.value?.key === e.property && R.value.direction === "desc",
67
+ "fa-sort-up": R.value?.key === e.property && R.value.direction === "asc",
68
+ "c-sort-icon--active": R.value?.key === e.property,
69
+ "is-asc": R.value?.key === e.property && R.value.direction === "asc",
70
+ "is-desc": R.value?.key === e.property && R.value.direction === "desc"
71
+ }])
72
+ }, null, 2)) : c("", !0)], 10, T))), 128)),
73
+ r.config.actions ? (g(), l("th", E, y(r.config.actionHeader ?? ""), 1)) : c("", !0)
74
+ ])]), !r.loading || r.items.length > 0 ? (g(), l("tbody", D, [(g(!0), l(o, null, v(r.items, (t, n) => (g(), l("tr", {
75
+ key: n,
76
+ class: m({
77
+ "is-selected": r.config.selectableAttr && b(z).has(t[r.config.selectableAttr]),
78
+ "is-striped": r.settings.striped && n % 2 == 1
79
+ })
80
+ }, [
81
+ r.config.selectableAttr ? (g(), l("td", {
82
+ key: 0,
83
+ class: "pointer",
84
+ onClick: x((e) => b(V)(t), ["stop"])
85
+ }, [f(e, {
86
+ "model-value": !!b(z).has(t[r.config.selectableAttr]),
87
+ "onUpdate:modelValue": (e) => b(V)(t),
88
+ onClick: s[0] ||= x(() => {}, ["stop"])
89
+ }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, O)) : c("", !0),
90
+ (g(!0), l(o, null, v(U.value, (e) => (g(), l("td", {
91
+ key: e.property,
92
+ class: m(["c-table__cell", [e.class, { "primary-col": e.primary }]])
93
+ }, [f(i, {
94
+ item: t,
95
+ col: e,
96
+ copy: !e.hideCopyToClipboard
97
+ }, null, 8, [
98
+ "item",
99
+ "col",
100
+ "copy"
101
+ ])], 2))), 128)),
102
+ r.config.actions ? (g(), l("td", k, [u("div", A, [f(a, {
103
+ actions: r.config.actions,
104
+ item: t
105
+ }, null, 8, ["actions", "item"])])])) : c("", !0)
106
+ ], 2))), 128))])) : (g(), l("tbody", j, [u("tr", M, [u("td", {
107
+ colspan: U.value.length + +!!r.config.selectableAttr + +!!r.config.actions,
108
+ class: "c-table__loading-cell"
109
+ }, [u("div", P, [f(t, {
110
+ loading: !0,
111
+ size: "2.5rem"
112
+ })])], 8, N)])]))], 6), r.loading && r.items.length > 0 ? (g(), l("div", F, [f(t, {
113
+ loading: !0,
114
+ size: "2.5rem"
115
+ })])) : c("", !0)])]));
116
+ }
117
+ });
7
118
  //#endregion
8
- export { t as default };
119
+ export { I as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components65.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Button from '@/components/Button.vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DropdownMenu from '../DropdownMenu.vue'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-table-wrapper\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <Checkbox :model-value=\"allSelected\" @update:model-value=\"toggleAll\" />\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down':\n activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n { 'primary-col': col.primary },\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <template v-for=\"(action, ai) in config.actions\" :key=\"ai\">\n <DropdownMenu\n v-if=\"isActionGroup(action)\"\n :icon=\"action.icon\"\n :label=\"action.label\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :icon=\"action.icon\"\n :label=\"action.label\"\n :type=\"action.type\"\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :size=\"action.label ? 'small' : 'normal'\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components65.js","names":[],"sources":["../src/components/data-table/DataTable.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type {\n LayoutMode,\n DataListConfig,\n DataListSettings,\n DataTableSettings,\n DataCardsSettings,\n Column,\n Sort,\n Action,\n ActionGroup,\n FilterConfig,\n FilterValue,\n} from '@/types/data-list'\n\nexport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataTableSettingsDefaults } from '@/types/data-list'\nimport type { DataListConfig, DataTableSettings } from '@/types/data-list'\nimport Loader from '@/components/Loader.vue'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\n\ntype SortDirection = 'asc' | 'desc'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataTableSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataTableSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n 'sort-change': [sort: { key: string; direction: SortDirection }]\n}>()\n\n//const CHARACTER_BREAKPOINT = 20\n\nconst activeSort = ref<{\n key: string\n direction: SortDirection\n} | null>(null)\n\nconst {\n selectedKeys,\n allSelected,\n toggle: toggleRow,\n toggleAll,\n} = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nfunction handleSort(key: string) {\n const direction: SortDirection =\n activeSort.value?.key === key && activeSort.value.direction === 'asc' ? 'desc' : 'asc'\n\n activeSort.value = { key, direction }\n\n emit('sort-change', { key, direction })\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-table-wrapper\">\n <table\n class=\"c-table\"\n :class=\"{ 'is-compact': settings.compact, 'is-loading': loading }\"\n :style=\"{ '--action-count': config.actions?.length ?? 0 }\"\n >\n <thead>\n <tr>\n <th v-if=\"config.selectableAttr\">\n <Checkbox :model-value=\"allSelected\" @update:model-value=\"toggleAll\" />\n </th>\n\n <th\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n :class=\"{\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n }\"\n @click=\"col.sort ? handleSort(col.property) : undefined\"\n >\n {{ col.label }}\n\n <span\n v-if=\"col.sort\"\n class=\"c-sort-icon fa-solid\"\n :class=\"{\n 'fa-sort': activeSort?.key !== col.property,\n 'fa-sort-down':\n activeSort?.key === col.property && activeSort.direction === 'desc',\n 'fa-sort-up': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'c-sort-icon--active': activeSort?.key === col.property,\n 'is-asc': activeSort?.key === col.property && activeSort.direction === 'asc',\n 'is-desc': activeSort?.key === col.property && activeSort.direction === 'desc',\n }\"\n ></span>\n </th>\n\n <th v-if=\"config.actions\" class=\"c-actions-header\">\n {{ config.actionHeader ?? '' }}\n </th>\n </tr>\n </thead>\n\n <tbody v-if=\"!loading || items.length > 0\">\n <tr\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n 'is-striped': settings.striped && index % 2 === 1,\n }\"\n >\n <td v-if=\"config.selectableAttr\" class=\"pointer\" @click.stop=\"toggleRow(item)\">\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </td>\n\n <td\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-table__cell\"\n :class=\"[\n col.class,\n { 'primary-col': col.primary },\n /* { 'is-nowrap': String(getColumnValue(item, col) ?? '').length < CHARACTER_BREAKPOINT}, */\n ]\"\n >\n <DataCell :item=\"item\" :col=\"col\" :copy=\"!col.hideCopyToClipboard\" />\n </td>\n\n <td v-if=\"config.actions\" class=\"c-actions-cell\">\n <div class=\"c-actions-wrap\">\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </td>\n </tr>\n </tbody>\n <tbody v-else>\n <tr class=\"c-table__loading-row\">\n <td\n :colspan=\"\n visibleColumns.length + (config.selectableAttr ? 1 : 0) + (config.actions ? 1 : 0)\n \"\n class=\"c-table__loading-cell\"\n >\n <div class=\"c-table__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div v-if=\"loading && items.length > 0\" class=\"c-table__backdrop\" aria-hidden=\"true\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-table.scss\"></style>\n"],"mappings":"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"}