admins-components 9.0.39 → 9.0.41

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 +144 -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
@@ -0,0 +1,8 @@
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-components65.js";
4
+ /* empty css */
5
+ //#region src/components/data-table/DataTable.vue
6
+ var t = e;
7
+ //#endregion
8
+ export { t as default };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admins-components67.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 {\n 'c-sortable': col.sort,\n 'c-sortable--sorted': activeSort?.key === col.property,\n 'primary-col': col.primary,\n },\n col.headerClass,\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":""}
@@ -1,8 +1,145 @@
1
- import './src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css';
2
- import "./admins-components58.js";
3
- import e from "./admins-components66.js";
4
- /* empty css */
5
- //#region src/components/data-table/DataCards.vue
6
- var t = e;
1
+ import e from "./admins-components19.js";
2
+ import t from "./admins-components42.js";
3
+ import n from "./admins-components52.js";
4
+ import { useSelection as r } from "./admins-components57.js";
5
+ import { dataCardsSettingsDefaults as i } from "./admins-components58.js";
6
+ import { getColumnValue as a } from "./admins-components59.js";
7
+ import o from "./admins-components62.js";
8
+ import s from "./admins-components64.js";
9
+ import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, normalizeClass as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, unref as x, vShow as S, watch as C, withDirectives as w, withModifiers as T } from "vue";
10
+ //#region src/components/data-table/DataCards.vue?vue&type=script&setup=true&lang.ts
11
+ var E = { class: "ac-component" }, D = ["onClick", "onPointerdown"], O = ["onClick"], k = { class: "c-card__heading" }, A = { class: "c-card__label" }, j = ["innerHTML"], M = { class: "c-card__body" }, N = { class: "c-card__field-label" }, P = {
12
+ key: 1,
13
+ class: "c-cards__loading-wrap"
14
+ }, F = {
15
+ key: 2,
16
+ class: "c-cards__backdrop",
17
+ "aria-hidden": "true"
18
+ }, I = /* @__PURE__ */ h({
19
+ __name: "DataCards",
20
+ props: {
21
+ config: {},
22
+ items: {},
23
+ settings: { default: () => ({ ...i }) },
24
+ loading: {
25
+ type: Boolean,
26
+ default: !1
27
+ }
28
+ },
29
+ emits: ["selection-change"],
30
+ setup(i, { emit: h }) {
31
+ let I = i, L = h, { selectedKeys: R, toggle: z } = r(() => I.items, () => I.config.selectableAttr, (e) => L("selection-change", e)), B = v(/* @__PURE__ */ new Set());
32
+ C(() => I.items, () => {
33
+ B.value = /* @__PURE__ */ new Set();
34
+ });
35
+ let V = l(() => I.config.columns.filter((e) => e.visible !== !1)), H = l(() => {
36
+ let e = I.settings;
37
+ if (e?.cardHeaderColumns) {
38
+ let t = V.value.filter((t) => e.cardHeaderColumns[t.property]);
39
+ if (t.length > 0) {
40
+ if (e.cardHeaderOrder) {
41
+ let n = e.cardHeaderOrder;
42
+ return [...t].sort((e, t) => {
43
+ let r = n.indexOf(e.property), i = n.indexOf(t.property);
44
+ return (r === -1 ? 999 : r) - (i === -1 ? 999 : i);
45
+ });
46
+ }
47
+ return t;
48
+ }
49
+ }
50
+ let t = V.value.filter((e) => e.primary);
51
+ return t.length > 0 ? t : V.value.slice(0, 1);
52
+ }), U = null, W = !1;
53
+ function G(e, t) {
54
+ I.config.selectableAttr && e.button === 0 && (W = !1, U = setTimeout(() => {
55
+ W = !0, z(t);
56
+ }, 500));
57
+ }
58
+ function K() {
59
+ U &&= (clearTimeout(U), null);
60
+ }
61
+ function q(e) {
62
+ W && e.preventDefault();
63
+ }
64
+ function J(e) {
65
+ if (W) {
66
+ W = !1;
67
+ return;
68
+ }
69
+ Y(e);
70
+ }
71
+ function Y(e) {
72
+ B.value.has(e) ? B.value.delete(e) : B.value.add(e), B.value = new Set(B.value);
73
+ }
74
+ return (r, l) => (_(), f("div", E, [p("div", { class: g(["c-cards-wrapper", { "is-loading": i.loading }]) }, [!i.loading || i.items.length > 0 ? (_(), f("div", {
75
+ key: 0,
76
+ class: g(["c-cards", { "is-compact": i.settings.compact }])
77
+ }, [(_(!0), f(c, null, y(i.items, (n, r) => (_(), f("div", {
78
+ key: r,
79
+ class: g(["c-card", {
80
+ "is-open": B.value.has(r),
81
+ "is-selected": i.config.selectableAttr && x(R).has(n[i.config.selectableAttr])
82
+ }])
83
+ }, [p("button", {
84
+ type: "button",
85
+ class: "c-card__header",
86
+ onClick: (e) => J(r),
87
+ onPointerdown: (e) => G(e, n),
88
+ onPointerup: l[1] ||= (e) => K(),
89
+ onPointerleave: l[2] ||= (e) => K(),
90
+ onContextmenu: q
91
+ }, [
92
+ i.config.selectableAttr ? (_(), f("span", {
93
+ key: 0,
94
+ class: "c-card__check-zone",
95
+ onClick: T((e) => x(z)(n), ["stop"])
96
+ }, [m(e, {
97
+ "model-value": !!x(R).has(n[i.config.selectableAttr]),
98
+ "onUpdate:modelValue": (e) => x(z)(n),
99
+ onClick: l[0] ||= T(() => {}, ["stop"])
100
+ }, null, 8, ["model-value", "onUpdate:modelValue"])], 8, O)) : d("", !0),
101
+ p("span", k, [(_(!0), f(c, null, y(H.value, (e, t) => (_(), f("span", {
102
+ key: e.property,
103
+ class: "c-card__heading-item"
104
+ }, [p("span", A, b(e.label), 1), p("span", {
105
+ class: g(["c-card__title", { "c-truncate": i.settings.compact && t === 0 }]),
106
+ innerHTML: x(a)(n, e)
107
+ }, null, 10, j)]))), 128))]),
108
+ l[4] ||= p("span", {
109
+ class: "c-card__icon",
110
+ "aria-hidden": "true"
111
+ }, [p("i", { class: "fa-solid fa-chevron-down" })], -1)
112
+ ], 40, D), w(p("div", M, [(_(!0), f(c, null, y(V.value, (e) => (_(), f("div", {
113
+ key: e.property,
114
+ class: "c-card__field"
115
+ }, [
116
+ p("span", N, b(e.label), 1),
117
+ m(o, {
118
+ item: n,
119
+ col: e,
120
+ class: "c-card__field-value",
121
+ copy: !1
122
+ }, null, 8, ["item", "col"]),
123
+ x(a)(n, e) && !e.hideCopyToClipboard ? (_(), u(t, {
124
+ key: 0,
125
+ class: "c-card__field-copy click-expand",
126
+ value: x(a)(n, e)
127
+ }, null, 8, ["value"])) : d("", !0)
128
+ ]))), 128)), i.config.actions ? (_(), f("div", {
129
+ key: 0,
130
+ class: "c-card__actions",
131
+ onClick: l[3] ||= T(() => {}, ["stop"])
132
+ }, [m(s, {
133
+ actions: i.config.actions,
134
+ item: n
135
+ }, null, 8, ["actions", "item"])])) : d("", !0)], 512), [[S, B.value.has(r)]])], 2))), 128))], 2)) : (_(), f("div", P, [m(n, {
136
+ loading: !0,
137
+ size: "2.5rem"
138
+ })])), i.loading && i.items.length > 0 ? (_(), f("div", F, [m(n, {
139
+ loading: !0,
140
+ size: "2.5rem"
141
+ })])) : d("", !0)], 2)]));
142
+ }
143
+ });
7
144
  //#endregion
8
- export { t as default };
145
+ export { I as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components68.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport Button from '@/components/Button.vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport DropdownMenu from '@/components/DropdownMenu.vue'\nimport { getColumnValue } from '@/utils/dataList'\nimport { buildActionGroupMenuItems, isActionGroup } from '@/utils/dataList'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n >\n <span class=\"c-card__label\">{{ col.label }}</span>\n <span\n class=\"c-card__title\"\n :class=\"{ 'c-truncate': settings.compact && i === 0 }\"\n v-html=\"getColumnValue(item, col)\"\n ></span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-card__field\"\n tabindex=\"0\"\n >\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col)\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\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 :ariaLabel=\"action.ariaLabel\"\n :items=\"buildActionGroupMenuItems(action, item)\"\n v-bind=\"action.config\"\n />\n\n <Button\n v-else\n :type=\"action.type\"\n :icon=\"action.icon\"\n :label=\"action.cardLabel ?? action.label\"\n :ariaLabel=\"action.ariaLabel\"\n outline\n :disabled=\"action.disabled ? action.disabled(item) : false\"\n :callback=\"() => action.callback(item)\"\n v-bind=\"action.config\"\n />\n </template>\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__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-cards.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components68.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n >\n <span class=\"c-card__label\">{{ col.label }}</span>\n <span\n class=\"c-card__title\"\n :class=\"{ 'c-truncate': settings.compact && i === 0 }\"\n v-html=\"getColumnValue(item, col)\"\n ></span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-card__field\"\n >\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__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-cards.scss\"></style>\n"],"mappings":"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"}
@@ -1,280 +1,8 @@
1
- import e from "./admins-components6.js";
2
- import t from "./admins-components31.js";
3
- import { dataCardsSettingsDefaults as n, dataListSettingsDefaults as r, dataTableSettingsDefaults as i } from "./admins-components58.js";
4
- import { deepMerge as ee } from "./admins-components69.js";
5
- import { Fragment as a, computed as o, createBlock as te, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, normalizeClass as p, onMounted as ne, openBlock as m, ref as h, renderList as g, resolveDirective as re, toDisplayString as _, withCtx as ie, withDirectives as v, withModifiers as y } from "vue";
6
- //#region src/components/data-table/DataListOptions.vue?vue&type=script&setup=true&lang.ts
7
- var ae = { class: "table-options" }, b = { class: "table-options__col" }, oe = { class: "table-options__title" }, se = { class: "table-options__title-value" }, ce = { class: "layout-switch" }, le = { class: "table-options__col" }, x = { class: "table-options__title" }, S = { class: "table-options__list" }, C = { class: "table-options__col" }, ue = { class: "table-options__title" }, de = { class: "table-options__list" }, fe = [
8
- "draggable",
9
- "onDragstart",
10
- "onDragover",
11
- "onClick"
12
- ], pe = {
13
- key: 0,
14
- class: "fa-solid fa-grip-vertical table-options__drag-handle"
15
- }, me = ["onClick"], he = {
16
- key: 0,
17
- class: "table-options__move-actions"
18
- }, ge = ["disabled"], w = ["disabled"], T = { class: "table-options__col" }, E = { class: "table-options__title flex-center gap-1" }, D = { class: "table-options__list" }, O = [
19
- "draggable",
20
- "onDragstart",
21
- "onDragover",
22
- "onClick"
23
- ], k = {
24
- key: 0,
25
- class: "fa-solid fa-grip-vertical table-options__drag-handle"
26
- }, A = ["onClick"], j = {
27
- key: 0,
28
- class: "table-options__move-actions"
29
- }, M = ["disabled"], N = ["disabled"], P = { class: "table-options__footer" }, F = /* @__PURE__ */ f({
30
- __name: "DataListOptions",
31
- props: {
32
- open: { type: Boolean },
33
- columns: {},
34
- settings: {},
35
- position: {},
36
- storageKey: {},
37
- orderable: {
38
- type: Boolean,
39
- default: !1
40
- }
41
- },
42
- emits: ["close", "change"],
43
- setup(f, { emit: F }) {
44
- let I = f, L = F, R = h(B()), z = o(() => `data-list-${I.storageKey}`), _e = o(() => JSON.stringify(R.value) !== JSON.stringify(B()));
45
- function B() {
46
- return {
47
- ...n,
48
- ...i,
49
- ...r,
50
- ...I.settings,
51
- columns: Object.fromEntries(I.columns.map((e) => [e.property, I.settings.columns?.[e.property] ?? e.visible !== !1])),
52
- cardHeaderColumns: Object.fromEntries(I.columns.map((e) => [e.property, I.settings.cardHeaderColumns?.[e.property] ?? e.primary === !0])),
53
- columnOrder: I.settings.columnOrder ?? I.columns.map((e) => e.property),
54
- cardHeaderOrder: I.settings.cardHeaderOrder ?? I.columns.map((e) => e.property)
55
- };
56
- }
57
- function ve() {
58
- try {
59
- let e = localStorage.getItem(z.value), t = B();
60
- if (e) {
61
- let n = JSON.parse(e);
62
- R.value = n.settings ? ye(ee(t, n.settings), I.columns) : t;
63
- } else R.value = t;
64
- } catch {
65
- R.value = B();
66
- }
67
- L("change", R.value);
68
- }
69
- function ye(e, t) {
70
- let n = t.map((e) => e.property), r = (e) => {
71
- let t = new Set(n), r = (e ?? []).filter((e) => t.has(e)), i = n.filter((e) => !r.includes(e));
72
- return [...r, ...i];
73
- };
74
- return {
75
- ...e,
76
- columnOrder: r(e.columnOrder),
77
- cardHeaderOrder: r(e.cardHeaderOrder)
78
- };
79
- }
80
- function be() {
81
- try {
82
- let e = z.value, t = localStorage.getItem(e), n = t ? JSON.parse(t) : {};
83
- n.settings = R.value, localStorage.setItem(e, JSON.stringify(n));
84
- } catch {}
85
- L("change", R.value);
86
- }
87
- function V(e, t) {
88
- R.value = {
89
- ...R.value,
90
- [e]: t
91
- }, be();
92
- }
93
- function H(e) {
94
- V("columns", {
95
- ...R.value.columns,
96
- [e]: !R.value.columns[e]
97
- });
98
- }
99
- function U(e) {
100
- V("cardHeaderColumns", {
101
- ...R.value.cardHeaderColumns,
102
- [e]: !R.value.cardHeaderColumns[e]
103
- });
104
- }
105
- function W(e) {
106
- V(e, !R.value[e]);
107
- }
108
- function G(e, t) {
109
- return [...e].sort((e, n) => {
110
- let r = t.indexOf(e.property), i = t.indexOf(n.property);
111
- return (r === -1 ? 999 : r) - (i === -1 ? 999 : i);
112
- });
113
- }
114
- let K = o(() => G(I.columns, R.value.columnOrder)), q = o(() => G(I.columns, R.value.cardHeaderOrder)), J = h(null), Y = h(null), X = h(null), Z = h(null);
115
- function xe(e) {
116
- J.value = e;
117
- }
118
- function Se(e, t) {
119
- if (e.preventDefault(), J.value === null || J.value === t) return;
120
- let n = [...R.value.columnOrder], r = n.splice(J.value, 1)[0];
121
- r && (n.splice(t, 0, r), J.value = t, V("columnOrder", n));
122
- }
123
- function Ce() {
124
- J.value = null;
125
- }
126
- function we(e) {
127
- Y.value = Y.value === e ? null : e;
128
- }
129
- function Q(e) {
130
- if (Y.value === null) return;
131
- let t = Y.value + e;
132
- if (t < 0 || t >= R.value.columnOrder.length) return;
133
- let n = [...R.value.columnOrder], r = n[Y.value];
134
- n[Y.value] = n[t], n[t] = r, V("columnOrder", n), Y.value = t;
135
- }
136
- function Te(e) {
137
- X.value = e;
138
- }
139
- function Ee(e, t) {
140
- if (e.preventDefault(), X.value === null || X.value === t) return;
141
- let n = [...R.value.cardHeaderOrder], r = n.splice(X.value, 1)[0];
142
- r && (n.splice(t, 0, r), X.value = t, V("cardHeaderOrder", n));
143
- }
144
- function De() {
145
- X.value = null;
146
- }
147
- function Oe(e) {
148
- Z.value = Z.value === e ? null : e;
149
- }
150
- function $(e) {
151
- if (Z.value === null) return;
152
- let t = Z.value + e;
153
- if (t < 0 || t >= R.value.cardHeaderOrder.length) return;
154
- let n = [...R.value.cardHeaderOrder], r = n[Z.value];
155
- n[Z.value] = n[t], n[t] = r, V("cardHeaderOrder", n), Z.value = t;
156
- }
157
- function ke() {
158
- localStorage.removeItem(z.value), R.value = B(), L("change", R.value);
159
- }
160
- return ne(ve), (n, r) => {
161
- let i = re("tooltip");
162
- return m(), te(t, {
163
- open: f.open,
164
- title: "Lista beállítások",
165
- position: I.position,
166
- onClose: r[16] ||= (e) => L("close")
167
- }, {
168
- default: ie(() => [l("div", ae, [
169
- l("div", b, [l("h4", oe, [r[17] ||= u(" Elrendezés ", -1), l("span", se, "— " + _(R.value.layout === "screen" ? "Auto" : R.value.layout === "table" ? "Táblázat" : "Kártyák"), 1)]), l("div", ce, [
170
- l("button", {
171
- class: p(["layout-switch__btn", { "layout-switch__btn--active": R.value.layout === "screen" }]),
172
- title: "Kijelző méretéhez igazodó elrendezés",
173
- onClick: r[0] ||= (e) => V("layout", "screen")
174
- }, [...r[18] ||= [l("i", { class: "fa-solid fa-display" }, null, -1)]], 2),
175
- l("button", {
176
- class: p(["layout-switch__btn", { "layout-switch__btn--active": R.value.layout === "table" }]),
177
- title: "Táblázat nézet",
178
- onClick: r[1] ||= (e) => V("layout", "table")
179
- }, [...r[19] ||= [l("i", { class: "fa-solid fa-table-list" }, null, -1)]], 2),
180
- l("button", {
181
- class: p(["layout-switch__btn", { "layout-switch__btn--active": R.value.layout === "cards" }]),
182
- title: "Kártya nézet",
183
- onClick: r[2] ||= (e) => V("layout", "cards")
184
- }, [...r[20] ||= [l("i", { class: "fa-solid fa-list" }, null, -1)]], 2)
185
- ])]),
186
- l("div", le, [v((m(), c("h4", x, [...r[21] ||= [u(" Megjelenés ", -1), l("i", { class: "fa-regular fa-question-circle" }, null, -1)]])), [[
187
- i,
188
- "<b>Kompakt</b>: A sorok közötti térköz csökkentése<br><br><b>Sávos</b> (csak táblázat nézetben): A páros sorok háttere kicsit sötétebb ",
189
- void 0,
190
- { html: !0 }
191
- ]]), l("ul", S, [l("li", {
192
- class: "table-options__item",
193
- onClick: r[4] ||= (e) => W("compact"),
194
- title: "A sorok közötti térköz csökkentése"
195
- }, [l("span", {
196
- class: p(["c-checkbox", { "c-checkbox--checked": R.value.compact }]),
197
- onClick: r[3] ||= y((e) => W("compact"), ["stop"])
198
- }, null, 2), r[22] ||= l("span", null, "Kompakt", -1)]), l("li", {
199
- class: "table-options__item",
200
- onClick: r[6] ||= (e) => W("striped"),
201
- title: "A páros sorok háttere kicsit sötétebb (csak táblázat nézetben)"
202
- }, [l("span", {
203
- class: p(["c-checkbox", { "c-checkbox--checked": R.value.striped }]),
204
- onClick: r[5] ||= y((e) => W("striped"), ["stop"])
205
- }, null, 2), r[23] ||= l("span", null, "Sávos (striped)", -1)])])]),
206
- l("div", C, [
207
- v((m(), c("h4", ue, [...r[24] ||= [u(" Táblázat oszlopok ", -1), l("i", { class: "fa-regular fa-question-circle" }, null, -1)]])), [[i, "Táblázat nézetben megjelenő oszlopok"]]),
208
- l("ul", de, [(m(!0), c(a, null, g(K.value, (e, t) => (m(), c("li", {
209
- key: e.property,
210
- class: p(["table-options__item", {
211
- "table-options__item--disabled": e.primary,
212
- "table-options__item--selected": f.orderable && Y.value === t,
213
- "table-options__item--dragging": f.orderable && J.value === t
214
- }]),
215
- draggable: f.orderable,
216
- onDragstart: y((e) => f.orderable && xe(t), ["stop"]),
217
- onDragover: y((e) => f.orderable && Se(e, t), ["prevent"]),
218
- onDrop: r[7] ||= y(() => {}, ["prevent"]),
219
- onDragend: r[8] ||= (e) => f.orderable && Ce(),
220
- onClick: y((n) => f.orderable ? we(t) : !e.primary && H(e.property), ["prevent"])
221
- }, [f.orderable ? (m(), c("i", pe)) : s("", !0), l("span", {
222
- class: "table-options__toggle",
223
- onClick: y((t) => !e.primary && H(e.property), ["stop"])
224
- }, [l("span", { class: p(["c-checkbox", { "c-checkbox--checked": R.value.columns[e.property] }]) }, null, 2), l("span", null, _(e.label), 1)], 8, me)], 42, fe))), 128))]),
225
- f.orderable && Y.value !== null ? (m(), c("div", he, [l("button", {
226
- class: "table-options__move-btn",
227
- disabled: Y.value === 0,
228
- onClick: r[9] ||= (e) => Q(-1)
229
- }, [...r[25] ||= [l("i", { class: "fa-solid fa-arrow-up" }, null, -1)]], 8, ge), l("button", {
230
- class: "table-options__move-btn",
231
- disabled: Y.value === K.value.length - 1,
232
- onClick: r[10] ||= (e) => Q(1)
233
- }, [...r[26] ||= [l("i", { class: "fa-solid fa-arrow-down" }, null, -1)]], 8, w)])) : s("", !0)
234
- ]),
235
- l("div", T, [
236
- v((m(), c("h4", E, [...r[27] ||= [u(" Kártya fejléc ", -1), l("i", { class: "fa-regular fa-question-circle" }, null, -1)]])), [[i, "Kártya nézetben, a sorok fejlécén megjelenő oszlopok"]]),
237
- l("ul", D, [(m(!0), c(a, null, g(q.value, (e, t) => (m(), c("li", {
238
- key: "ch-" + e.property,
239
- class: p(["table-options__item", {
240
- "table-options__item--disabled": e.primary,
241
- "table-options__item--selected": f.orderable && Z.value === t,
242
- "table-options__item--dragging": f.orderable && X.value === t
243
- }]),
244
- draggable: f.orderable,
245
- onDragstart: y((e) => f.orderable && Te(t), ["stop"]),
246
- onDragover: y((e) => f.orderable && Ee(e, t), ["prevent"]),
247
- onDrop: r[11] ||= y(() => {}, ["prevent"]),
248
- onDragend: r[12] ||= (e) => f.orderable && De(),
249
- onClick: y((n) => f.orderable ? Oe(t) : !e.primary && U(e.property), ["prevent"])
250
- }, [f.orderable ? (m(), c("i", k)) : s("", !0), l("span", {
251
- class: "table-options__toggle",
252
- onClick: y((t) => !e.primary && U(e.property), ["stop"])
253
- }, [l("span", { class: p(["c-checkbox", { "c-checkbox--checked": R.value.cardHeaderColumns[e.property] }]) }, null, 2), l("span", null, _(e.label), 1)], 8, A)], 42, O))), 128))]),
254
- f.orderable && Z.value !== null ? (m(), c("div", j, [l("button", {
255
- class: "table-options__move-btn",
256
- disabled: Z.value === 0,
257
- onClick: r[13] ||= (e) => $(-1)
258
- }, [...r[28] ||= [l("i", { class: "fa-solid fa-arrow-up" }, null, -1)]], 8, M), l("button", {
259
- class: "table-options__move-btn",
260
- disabled: Z.value === q.value.length - 1,
261
- onClick: r[14] ||= (e) => $(1)
262
- }, [...r[29] ||= [l("i", { class: "fa-solid fa-arrow-down" }, null, -1)]], 8, N)])) : s("", !0)
263
- ])
264
- ]), l("div", P, [d(e, {
265
- icon: "fa-solid fa-triangle-exclamation",
266
- disabled: !_e.value,
267
- label: "Alapértelmezés visszaállítása",
268
- size: "small",
269
- onClick: ke
270
- }, null, 8, ["disabled"]), d(e, {
271
- label: "OK",
272
- onClick: r[15] ||= (e) => L("close")
273
- })])]),
274
- _: 1
275
- }, 8, ["open", "position"]);
276
- };
277
- }
278
- });
1
+ import './src/styles/components/data-table/data-cards.scss_vue_type_style_index_0_src_true_lang.css';
2
+ import "./admins-components58.js";
3
+ import e from "./admins-components68.js";
4
+ /* empty css */
5
+ //#region src/components/data-table/DataCards.vue
6
+ var t = e;
279
7
  //#endregion
280
- export { F as default };
8
+ export { t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components70.js","names":[],"sources":["../src/components/data-table/DataListOptions.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Column, DataListSettings } from '@/types/data-list'\nimport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\nimport { deepMerge } from '@/utils/objects'\nimport Button from '@/components/Button.vue'\n\nexport interface DataListOptionsProps {\n open?: boolean\n columns: Column[]\n settings: Partial<DataListSettings>\n position?: SidebarPosition\n storageKey: string\n orderable?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted } from 'vue'\nimport Sidebar, { type SidebarPosition } from '@/components/Sidebar.vue'\n\nconst props = withDefaults(defineProps<DataListOptionsProps>(), {\n orderable: false,\n})\n\nconst emit = defineEmits<{\n close: []\n change: [settings: DataListSettings]\n}>()\n\nconst local = ref<DataListSettings>(getDefaults())\n\nconst storageKey = computed(() => `data-list-${props.storageKey}`)\n\nconst hasCustomSettings = computed(\n () => JSON.stringify(local.value) !== JSON.stringify(getDefaults()),\n)\n\nfunction getDefaults(): DataListSettings {\n return {\n ...dataCardsSettingsDefaults,\n ...dataTableSettingsDefaults,\n ...dataListSettingsDefaults,\n ...props.settings,\n columns: Object.fromEntries(\n props.columns.map((c) => [\n c.property,\n props.settings.columns?.[c.property] ?? c.visible !== false,\n ]),\n ),\n cardHeaderColumns: Object.fromEntries(\n props.columns.map((c) => [\n c.property,\n props.settings.cardHeaderColumns?.[c.property] ?? c.primary === true,\n ]),\n ),\n columnOrder: props.settings.columnOrder ?? props.columns.map((c) => c.property),\n cardHeaderOrder: props.settings.cardHeaderOrder ?? props.columns.map((c) => c.property),\n } as DataListSettings\n}\n\nfunction load() {\n try {\n const raw = localStorage.getItem(storageKey.value)\n const defaults = getDefaults()\n if (raw) {\n const data = JSON.parse(raw)\n local.value = data.settings\n ? reconcileOrders(deepMerge(defaults, data.settings) as DataListSettings, props.columns)\n : defaults\n } else {\n local.value = defaults\n }\n } catch {\n local.value = getDefaults()\n }\n emit('change', local.value)\n}\n\nfunction reconcileOrders(settings: DataListSettings, columns: Column[]): DataListSettings {\n const props = columns.map((c) => c.property)\n const reconcile = (order: string[] | undefined): string[] => {\n const known = new Set(props)\n const filtered = (order ?? []).filter((p) => known.has(p))\n const missing = props.filter((p) => !filtered.includes(p))\n return [...filtered, ...missing]\n }\n return {\n ...settings,\n columnOrder: reconcile(settings.columnOrder),\n cardHeaderOrder: reconcile(settings.cardHeaderOrder),\n }\n}\n\nfunction save() {\n try {\n const key = storageKey.value\n const raw = localStorage.getItem(key)\n const data = raw ? JSON.parse(raw) : {}\n data.settings = local.value\n localStorage.setItem(key, JSON.stringify(data))\n } catch {\n /* ignore */\n }\n emit('change', local.value)\n}\n\nfunction update<K extends keyof DataListSettings>(key: K, value: DataListSettings[K]) {\n local.value = { ...local.value, [key]: value }\n save()\n}\n\nfunction toggleColumn(property: string) {\n update('columns', { ...local.value.columns, [property]: !local.value.columns[property] })\n}\n\nfunction toggleCardHeaderColumn(property: string) {\n update('cardHeaderColumns', {\n ...local.value.cardHeaderColumns,\n [property]: !local.value.cardHeaderColumns[property],\n })\n}\n\nfunction toggle(key: 'striped' | 'compact') {\n update(key, !local.value[key])\n}\n\nfunction sortByOrder(cols: Column[], order: string[]) {\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n}\n\nconst orderedColumns = computed(() => sortByOrder(props.columns, local.value.columnOrder))\n\nconst orderedCardHeaderColumns = computed(() =>\n sortByOrder(props.columns, local.value.cardHeaderOrder),\n)\n\nconst dragIndex = ref<number | null>(null)\nconst selectedReorderIndex = ref<number | null>(null)\n\nconst cardHeaderDragIndex = ref<number | null>(null)\nconst selectedCardHeaderIndex = ref<number | null>(null)\n\nfunction onDragStart(index: number) {\n dragIndex.value = index\n}\n\nfunction onDragOver(e: DragEvent, index: number) {\n e.preventDefault()\n if (dragIndex.value === null || dragIndex.value === index) return\n const order = [...local.value.columnOrder]\n const moved = order.splice(dragIndex.value, 1)[0]\n if (!moved) return\n order.splice(index, 0, moved)\n dragIndex.value = index\n update('columnOrder', order)\n}\n\nfunction onDragEnd() {\n dragIndex.value = null\n}\n\nfunction selectForReorder(index: number) {\n selectedReorderIndex.value = selectedReorderIndex.value === index ? null : index\n}\n\nfunction moveSelected(direction: -1 | 1) {\n if (selectedReorderIndex.value === null) return\n const target = selectedReorderIndex.value + direction\n if (target < 0 || target >= local.value.columnOrder.length) return\n const order = [...local.value.columnOrder]\n const tmp = order[selectedReorderIndex.value]!\n order[selectedReorderIndex.value] = order[target]!\n order[target] = tmp\n update('columnOrder', order)\n selectedReorderIndex.value = target\n}\n\nfunction onCardHeaderDragStart(index: number) {\n cardHeaderDragIndex.value = index\n}\n\nfunction onCardHeaderDragOver(e: DragEvent, index: number) {\n e.preventDefault()\n if (cardHeaderDragIndex.value === null || cardHeaderDragIndex.value === index) return\n const order = [...local.value.cardHeaderOrder]\n const moved = order.splice(cardHeaderDragIndex.value, 1)[0]\n if (!moved) return\n order.splice(index, 0, moved)\n cardHeaderDragIndex.value = index\n update('cardHeaderOrder', order)\n}\n\nfunction onCardHeaderDragEnd() {\n cardHeaderDragIndex.value = null\n}\n\nfunction selectCardHeader(index: number) {\n selectedCardHeaderIndex.value = selectedCardHeaderIndex.value === index ? null : index\n}\n\nfunction moveCardHeader(direction: -1 | 1) {\n if (selectedCardHeaderIndex.value === null) return\n const target = selectedCardHeaderIndex.value + direction\n if (target < 0 || target >= local.value.cardHeaderOrder.length) return\n const order = [...local.value.cardHeaderOrder]\n const tmp = order[selectedCardHeaderIndex.value]!\n order[selectedCardHeaderIndex.value] = order[target]!\n order[target] = tmp\n update('cardHeaderOrder', order)\n selectedCardHeaderIndex.value = target\n}\n\nfunction reset() {\n localStorage.removeItem(storageKey.value)\n local.value = getDefaults()\n emit('change', local.value)\n}\n\nonMounted(load)\n</script>\n\n<template>\n <Sidebar :open=\"open\" title=\"Lista beállítások\" :position=\"props.position\" @close=\"emit('close')\">\n <div class=\"table-options\">\n <div class=\"table-options__col\">\n <h4 class=\"table-options__title\">\n Elrendezés\n <span class=\"table-options__title-value\"\n >—\n {{\n local.layout === 'screen' ? 'Auto' : local.layout === 'table' ? 'Táblázat' : 'Kártyák'\n }}</span\n >\n </h4>\n <div class=\"layout-switch\">\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'screen' }\"\n title=\"Kijelző méretéhez igazodó elrendezés\"\n @click=\"update('layout', 'screen')\"\n >\n <i class=\"fa-solid fa-display\"></i>\n </button>\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'table' }\"\n title=\"Táblázat nézet\"\n @click=\"update('layout', 'table')\"\n >\n <i class=\"fa-solid fa-table-list\"></i>\n </button>\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'cards' }\"\n title=\"Kártya nézet\"\n @click=\"update('layout', 'cards')\"\n >\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n </div>\n <div class=\"table-options__col\">\n <h4\n class=\"table-options__title\"\n v-tooltip.html=\"\n '<b>Kompakt</b>: A sorok közötti térköz csökkentése<br><br><b>Sávos</b> (csak táblázat nézetben): A páros sorok háttere kicsit sötétebb '\"\n >\n Megjelenés <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n class=\"table-options__item\"\n @click=\"toggle('compact')\"\n title=\"A sorok közötti térköz csökkentése\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.compact }\"\n @click.stop=\"toggle('compact')\"\n ></span>\n <span>Kompakt</span>\n </li>\n <li\n class=\"table-options__item\"\n @click=\"toggle('striped')\"\n title=\"A páros sorok háttere kicsit sötétebb (csak táblázat nézetben)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.striped }\"\n @click.stop=\"toggle('striped')\"\n ></span>\n <span>Sávos (striped)</span>\n </li>\n </ul>\n </div>\n <div class=\"table-options__col\">\n <h4 class=\"table-options__title\" v-tooltip=\"'Táblázat nézetben megjelenő oszlopok'\">\n Táblázat oszlopok <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n v-for=\"(col, index) in orderedColumns\"\n :key=\"col.property\"\n class=\"table-options__item\"\n :class=\"{\n 'table-options__item--disabled': col.primary,\n 'table-options__item--selected': orderable && selectedReorderIndex === index,\n 'table-options__item--dragging': orderable && dragIndex === index,\n }\"\n :draggable=\"orderable\"\n @dragstart.stop=\"orderable && onDragStart(index)\"\n @dragover.prevent=\"orderable && onDragOver($event, index)\"\n @drop.prevent\n @dragend=\"orderable && onDragEnd()\"\n @click.prevent=\"\n orderable ? selectForReorder(index) : !col.primary && toggleColumn(col.property)\n \"\n >\n <i v-if=\"orderable\" class=\"fa-solid fa-grip-vertical table-options__drag-handle\"></i>\n <span\n class=\"table-options__toggle\"\n @click.stop=\"!col.primary && toggleColumn(col.property)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.columns[col.property] }\"\n ></span>\n <span>{{ col.label }}</span>\n </span>\n </li>\n </ul>\n <div v-if=\"orderable && selectedReorderIndex !== null\" class=\"table-options__move-actions\">\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedReorderIndex === 0\"\n @click=\"moveSelected(-1)\"\n >\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedReorderIndex === orderedColumns.length - 1\"\n @click=\"moveSelected(1)\"\n >\n <i class=\"fa-solid fa-arrow-down\"></i>\n </button>\n </div>\n </div>\n <div class=\"table-options__col\">\n <h4\n class=\"table-options__title flex-center gap-1\"\n v-tooltip=\"'Kártya nézetben, a sorok fejlécén megjelenő oszlopok'\"\n >\n Kártya fejléc <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n v-for=\"(col, index) in orderedCardHeaderColumns\"\n :key=\"'ch-' + col.property\"\n class=\"table-options__item\"\n :class=\"{\n 'table-options__item--disabled': col.primary,\n 'table-options__item--selected': orderable && selectedCardHeaderIndex === index,\n 'table-options__item--dragging': orderable && cardHeaderDragIndex === index,\n }\"\n :draggable=\"orderable\"\n @dragstart.stop=\"orderable && onCardHeaderDragStart(index)\"\n @dragover.prevent=\"orderable && onCardHeaderDragOver($event, index)\"\n @drop.prevent\n @dragend=\"orderable && onCardHeaderDragEnd()\"\n @click.prevent=\"\n orderable\n ? selectCardHeader(index)\n : !col.primary && toggleCardHeaderColumn(col.property)\n \"\n >\n <i v-if=\"orderable\" class=\"fa-solid fa-grip-vertical table-options__drag-handle\"></i>\n <span\n class=\"table-options__toggle\"\n @click.stop=\"!col.primary && toggleCardHeaderColumn(col.property)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.cardHeaderColumns[col.property] }\"\n ></span>\n <span>{{ col.label }}</span>\n </span>\n </li>\n </ul>\n <div\n v-if=\"orderable && selectedCardHeaderIndex !== null\"\n class=\"table-options__move-actions\"\n >\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedCardHeaderIndex === 0\"\n @click=\"moveCardHeader(-1)\"\n >\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedCardHeaderIndex === orderedCardHeaderColumns.length - 1\"\n @click=\"moveCardHeader(1)\"\n >\n <i class=\"fa-solid fa-arrow-down\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"table-options__footer\">\n <Button\n icon=\"fa-solid fa-triangle-exclamation\"\n :disabled=\"!hasCustomSettings\"\n label=\"Alapértelmezés visszaállítása\"\n size=\"small\"\n @click=\"reset\"\n />\n <Button label=\"OK\" @click=\"emit('close')\" />\n </div>\n </Sidebar>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list-options.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components70.js","names":[],"sources":["../src/components/data-table/DataCards.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataListConfig, DataCardsSettings, DataListSettings } from '@/types/data-list'\nimport DataCell from './DataCell.vue'\nimport DataListActions from './DataListActions.vue'\nexport { dataCardsSettingsDefaults } from '@/types/data-list'\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport Checkbox from '@/components/Checkbox.vue'\nimport CopyToClipboard from '@/components/CopyToClipboard.vue'\nimport Loader from '@/components/Loader.vue'\nimport { useSelection } from '@/composables/useSelection'\nimport { dataCardsSettingsDefaults } from '@/types/data-list'\nimport { getColumnValue } from '@/utils/dataList'\n\nconst props = withDefaults(\n defineProps<{\n config: DataListConfig\n items: Record<string, unknown>[]\n settings?: DataCardsSettings | DataListSettings\n loading?: boolean\n }>(),\n {\n settings: () => ({ ...dataCardsSettingsDefaults }),\n loading: false,\n },\n)\n\nconst emit = defineEmits<{\n 'selection-change': [selected: unknown[]]\n}>()\n\nconst { selectedKeys, toggle: toggleRow } = useSelection(\n () => props.items,\n () => props.config.selectableAttr,\n (s) => emit('selection-change', s),\n)\n\nconst openRowIndexes = ref<Set<number>>(new Set())\n\nwatch(\n () => props.items,\n () => {\n openRowIndexes.value = new Set()\n },\n)\n\nconst visibleColumns = computed(() => props.config.columns.filter((c) => c.visible !== false))\n\nconst cardHeaderColumns = computed(() => {\n const s = props.settings as any\n if (s?.cardHeaderColumns) {\n const cols = visibleColumns.value.filter((c) => s.cardHeaderColumns[c.property])\n if (cols.length > 0) {\n if (s.cardHeaderOrder) {\n const order = s.cardHeaderOrder as string[]\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n }\n return cols\n }\n }\n const primary = visibleColumns.value.filter((c) => c.primary)\n if (primary.length > 0) return primary\n\n return visibleColumns.value.slice(0, 1)\n})\n\nlet longPressTimer: ReturnType<typeof setTimeout> | null = null\nlet longPressTriggered = false\n\nfunction onPointerDown(e: PointerEvent, item: Record<string, unknown>) {\n if (!props.config.selectableAttr) return\n if (e.button !== 0) return\n longPressTriggered = false\n longPressTimer = setTimeout(() => {\n longPressTriggered = true\n toggleRow(item)\n }, 500)\n}\n\nfunction onPointerUp() {\n if (longPressTimer) {\n clearTimeout(longPressTimer)\n longPressTimer = null\n }\n}\n\nfunction onContextMenu(e: MouseEvent) {\n if (longPressTriggered) {\n e.preventDefault()\n }\n}\n\nfunction onHeaderClick(index: number) {\n if (longPressTriggered) {\n longPressTriggered = false\n return\n }\n toggleAccordion(index)\n}\n\nfunction toggleAccordion(index: number) {\n if (openRowIndexes.value.has(index)) {\n openRowIndexes.value.delete(index)\n } else {\n openRowIndexes.value.add(index)\n }\n openRowIndexes.value = new Set(openRowIndexes.value)\n}\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div class=\"c-cards-wrapper\" :class=\"{ 'is-loading': loading }\">\n <div\n v-if=\"!loading || items.length > 0\"\n class=\"c-cards\"\n :class=\"{ 'is-compact': settings.compact }\"\n >\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n class=\"c-card\"\n :class=\"{\n 'is-open': openRowIndexes.has(index),\n 'is-selected': config.selectableAttr && selectedKeys.has(item[config.selectableAttr]),\n }\"\n >\n <button\n type=\"button\"\n class=\"c-card__header\"\n @click=\"onHeaderClick(index)\"\n @pointerdown=\"onPointerDown($event, item)\"\n @pointerup=\"onPointerUp()\"\n @pointerleave=\"onPointerUp()\"\n @contextmenu=\"onContextMenu\"\n >\n <span\n v-if=\"config.selectableAttr\"\n class=\"c-card__check-zone\"\n @click.stop=\"toggleRow(item)\"\n >\n <Checkbox\n :model-value=\"!!selectedKeys.has(item[config.selectableAttr])\"\n @update:model-value=\"toggleRow(item)\"\n @click.stop\n />\n </span>\n <span class=\"c-card__heading\">\n <span\n v-for=\"(col, i) in cardHeaderColumns\"\n :key=\"col.property\"\n class=\"c-card__heading-item\"\n >\n <span class=\"c-card__label\">{{ col.label }}</span>\n <span\n class=\"c-card__title\"\n :class=\"{ 'c-truncate': settings.compact && i === 0 }\"\n v-html=\"getColumnValue(item, col)\"\n ></span>\n </span>\n </span>\n <span class=\"c-card__icon\" aria-hidden=\"true\"\n ><i class=\"fa-solid fa-chevron-down\"></i\n ></span>\n </button>\n\n <div v-show=\"openRowIndexes.has(index)\" class=\"c-card__body\">\n <div\n v-for=\"col in visibleColumns\"\n :key=\"col.property\"\n class=\"c-card__field\"\n >\n <span class=\"c-card__field-label\">{{ col.label }}</span>\n <DataCell :item=\"item\" :col=\"col\" class=\"c-card__field-value\" :copy=\"false\" />\n\n <CopyToClipboard\n v-if=\"getColumnValue(item, col) && !col.hideCopyToClipboard\"\n class=\"c-card__field-copy click-expand\"\n :value=\"getColumnValue(item, col)\"\n />\n </div>\n\n <div v-if=\"config.actions\" class=\"c-card__actions\" @click.stop>\n <DataListActions :actions=\"config.actions\" :item=\"item\" />\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"c-cards__loading-wrap\">\n <Loader :loading=\"true\" size=\"2.5rem\" />\n </div>\n <div v-if=\"loading && items.length > 0\" class=\"c-cards__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-cards.scss\"></style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components69.js","names":[],"sources":["../src/utils/objects.ts"],"sourcesContent":["export function deepMerge(target: Record<string, any>, source: Record<string, any>) {\n const result = { ...target };\n\n for (const key in source) {\n if (\n source[key] &&\n typeof source[key] === 'object' &&\n !Array.isArray(source[key]) &&\n key in target &&\n typeof target[key] === 'object'\n ) {\n result[key] = deepMerge(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n\n return result;\n}\n"],"mappings":";AAAA,SAAgB,EAAU,GAA6B,GAA6B;CAClF,IAAM,IAAS,EAAE,GAAG,EAAO;CAE3B,KAAK,IAAM,KAAO,GAChB,AACE,EAAO,MACP,OAAO,EAAO,MAAS,YACvB,CAAC,MAAM,QAAQ,EAAO,EAAI,KAC1B,KAAO,KACP,OAAO,EAAO,MAAS,WAEvB,EAAO,KAAO,EAAU,EAAO,IAAM,EAAO,EAAI,IAEhD,EAAO,KAAO,EAAO;CAIzB,OAAO;AACT"}
1
+ {"version":3,"file":"admins-components71.js","names":[],"sources":["../src/utils/objects.ts"],"sourcesContent":["export function deepMerge(target: Record<string, any>, source: Record<string, any>) {\n const result = { ...target };\n\n for (const key in source) {\n if (\n source[key] &&\n typeof source[key] === 'object' &&\n !Array.isArray(source[key]) &&\n key in target &&\n typeof target[key] === 'object'\n ) {\n result[key] = deepMerge(target[key], source[key]);\n } else {\n result[key] = source[key];\n }\n }\n\n return result;\n}\n"],"mappings":";AAAA,SAAgB,EAAU,GAA6B,GAA6B;CAClF,IAAM,IAAS,EAAE,GAAG,EAAO;CAE3B,KAAK,IAAM,KAAO,GAChB,AACE,EAAO,MACP,OAAO,EAAO,MAAS,YACvB,CAAC,MAAM,QAAQ,EAAO,EAAI,KAC1B,KAAO,KACP,OAAO,EAAO,MAAS,WAEvB,EAAO,KAAO,EAAU,EAAO,IAAM,EAAO,EAAI,IAEhD,EAAO,KAAO,EAAO;CAIzB,OAAO;AACT"}